En cualquier servidor IBM Cognos TM1 pueden construirse muchos subconjuntos en cada dimensión. Cuando se diseñan aplicaciones de TM1, a menudo se necesita entender todos los subconjuntos que en el momento existen en el servidor de TM1. Este artículo describe una técnica para crear un archivo de valores separados por coma (.CSV) que contiene todos los subconjuntos para todas las dimensiones. Luego este archivo CSV puede verse y analizarse en IBM Cognos Insight.
IBM Cognos TM1 10.1 y en adelante
No tiene exclusiones conocidas.
Creación de una salida de archivo CSV mediante un proceso TurboIntegrator
La salida de este proceso TurboIntegrator (TI) de IBM Cognos TM1 es un archivo CSV. En este documento, el archivo CSV será nombrado SubsetCount.csv. Todo lo que debe hacer es crear un proceso TurboIntegrator y ejecutarlo. Este proceso creará un archivo CSV que hará una lista de todos los subconjuntos en la dimensión correspondiente para todas las dimensiones.
Se crean dos columnas en el archivo CSV que es la salida de un proceso TI descrita en la sección 2.2. Las columnas son de la siguiente forma:
- Dimension_names
- Subset_names
El nombre del subconjunto en la columna Subset_names pertenece a la dimensión correspondiente en la columna Dimension_names. Después veremos cómo se puede importar y ver este archivo como un cubo en IBM Cognos Insight.
Creación del proceso TurboIntegrator
Siga el procedimiento descrito a continuación para crear el proceso TurboIntegrator.
- En IBM Cognos TM1, Architect expande el servidor de TM1 con el que trabajará cuando usted hace clic en el signo "+" al lado del nombre del servidor de TM1. Luego, haga clic con el botón derecho en Process y elija Create New Process.
Ilustración 1: Explorador del servidor de TM1 Architect - Ejemplo del servidor Planning con Processes resaltado
- En la pestaña Data Source del editor de procesos de TurboIntegrator, deje el DataSource Type en la selección predeterminada, None.
Ilustración 2: TurboIntegrator de TM1 - Pestaña DataSource - Tipo de DataSource colocado en None
- Haga clic en la pestaña Advanced y luego en la subpestaña Parameters . Añada dos parámetros en el proceso TurboIntegrator como se muestra en la Ilustración 3. Los parámetros son:
- Parameter Name vDataDirectory
Type: String
Default Value: C:\Program Files\IBM\cognos\tm1\PlanSamp
Prompt Question: The path of the Data Directory for the TM1 Server - Parameter Name vOutputFile
Type: String
Default Value (Ruta predeterminada): C:\
Prompt Question: The path for the output file SubsetCount.csv
Ilustración 3: Pestaña Advanced del editor TurboIntegrator de TM1 con las rutas de archivo y las prompt definidas para los parámetros
- Parameter Name vDataDirectory
- Copie y pegue el siguiente código en el procedimiento Prolog del proceso.
#****Begin: Generated Statements*** #****End: Generated Statements**** # If the Allsubsets dimension exits then we delete it and again create it. IF(DimensionExists('AllSubsets')=1); DimensionDestroy('AllSubsets'); ENDIF; DimensionCreate('AllSubsets'); IF(DimensionExists('Dimension_names')=1); DimensionDestroy('Dimension_names'); endif; no_dimensions = DIMSIZ('}Dimensions'); DimensionCreate('Dimension_names'); DimensionElementDelete('}Dimensions','Dimension_names'); dim_counter = 1; WHILE(dim_counter <= no_dimensions); dim_name=DIMNM('}Dimensions',dim_counter); # Skip the control dimensions var1 = scan('}',dim_name); if(var1<>1); DimensionElementInsert('Dimension_names','',dim_name,'N'); i=0; vFilenew=''; compare='a'; # Search for corresponding folder and .sub file for a dimension while(compare@<>''); vFile = WildCardFileSearch( vDataDirectory|'\'| dim_name | '}subs\'| '*.sub',vFilenew) ; result=fileExists( vDataDirectory | '\'| dim_name | '}subs\'| vFile); if(vFile@<>''); if(vFIle@<>'Default.sub'); strlength=LONG(vFile); vSubsetfinal=DELET(vFile,strlength-3,4); DimensionElementInsert('AllSubsets','',vSubsetfinal,'N'); endif; vFilenew=vFile; endif; if(vFile@=''); compare=''; endif; END; endif; dim_counter = dim_counter +1; END; dim_counter=1; subset_counter=1; no_dim = DIMSIZ('Dimension_names'); no_subsets = DIMSIZ('AllSubsets'); ASCIIOutput(vOutputFile |'\'| 'SubsetCount.csv','Dimension_names','Subset_names'); WHILE(subset_counter<=no_subsets); subset_name=DIMNM('AllSubsets',subset_counter); dim_counter_new=1; WHILE(dim_counter_new<=no_dim); dim_name1=DIMNM('Dimension_names',dim_counter_new); var_dim_name = scan('}',dim_name1); if(var_dim_name<>1); if(dim_name1@<>'AllSubsets'); #If the subset exists for the dimension then write its name # in front of the dimension name in csv file if(SubsetExists(dim_name1,subset_name)=1); ASCIIOutput(vOutputFile |'\'| 'SubsetCount.csv',dim_name1,subset_name); endif; endif; endif; dim_counter_new=dim_counter_new+1; END; subset_counter=subset_counter+1; END;
- Escriba un nombre y guarde el proceso TI. Haga clic en la flecha Run del editor de TI para ejecutar el proceso manualmente. Después de ejecutarlo, lo que se obtiene es el archivo SubsetCount.csv con los nombres de dimensiones en la columna A y los nombres de subconjuntos en la columna B.
Ilustración 4: Vista del archivo CSV de salida que muestra los nombres de las dimensiones (columna A) y los nombres de los subconjuntos (columna B)
Importación del archivo CSV en IBM Cognos Insight
Pasos para importar el archivo CSV en IBM Cognos Insight
Existen dos formas para importar el archivo CSV en IBM Cognos Insight:
- Inicie el IBM Cognos Insight (CI).
- Arrastre y suelte el archivo CSV en el espacio de trabajo de CI.
o
- Inicie el IBM Cognos Insight.
- Haga clic en Get Data > Quick Import.
- Seleccione el archivo CSV en el diálogo Open File .
Esto creará un cubo con dos dimensiones, Dimension_names y Subset_names. Además, se creará una Count de medición dentro del cubo que contará la cantidad de subconjuntos en una dimensión.
Para ver los subconjuntos de la dimensión correspondiente, arrastre y suelte las dos dimensiones del panel de contenidos en el espacio de trabajo. Haga clic en el Widget Actions Button (Botón de acciones) del widget SubsetCount (Cuenta de subconjuntos) y desactive la opción Listen to All Widgets (Escuchar todos los widget) para poder ver los siguientes cuatro widgets como se puede observar en la Ilustración 5.
- Un informe de referencias cruzadas que enumere los nombres de las dimensiones en el servidor de TM1 y brinde una cuenta de la cantidad de subconjuntos que se relaciona con cada dimensión.
- Una representación gráfica del informe de referencias cruzadas.
- La dimensión Dimension_names.
- La dimensión Subset_names.
En adelante, cuando seleccione una dimensión en el widget Dimension_names, solo se seleccionarán aquellos subconjuntos en el widget Subset_names que estén presentes en esa dimensión. Otros nombres de subconjuntos estarán desactivados y marcados en gris.
Ilustración 5: Vista del IBM Cognos Insight que muestra los subconjuntos por dimensión desde el servidor de TM1

