SlideShare una empresa de Scribd logo
.
This document is confidential | © Copyright Sonum
.
Best Practices - IBM Cognos TM1
Fecha, 01 de Julio 2017
www.sonum-int.com/es
2 / 19 This document is confidential | © Copyright Sonum
.
Índice
1. INTRODUCCIÓN: ¿POR QUÉ USAR LAS BEST PRACTICES?................................................................................................................................... 3
2. DISEÑO Y ORGANIZACIÓN DE CUBOS........................................................................................................................................................................ 4
4. REGLAS VS. TURBOINTEGRATOR............................................................................................................................................................................... 9
5. PROCESOS DE TURBOINTEGRATOR ........................................................................................................................................................................ 11
7. CUANDO USAR PERFORMANCE MODELER............................................................................................................................................................. 19
3 / 19 This document is confidential | © Copyright Sonum
.
1. Introducción: ¿Por qué usar las Best Practices?
El objetivo de las best practices es establecer una serie de directrices y principios prácticos para el desarrollo y gestión de modelos. Estos
principios se han establecido en base a la experiencia y el aprendizaje de muchos desarrollos en proyectos y soluciones de TM1. La mayoría
de estas prácticas han surgido como resultado de intentar resolver diferentes problemas buscando la solución más adecuada y teniendo en
cuenta que cada problema tiene, además de múltiples soluciones, circustancias distintas y particulares.
Best practice es también un enfoque coherente para el desarrollo de modelos de TM1, haciendo que estos sean fácilmente entendibles,
mantenibles y escalables por cualquier desarrollador independientemente de su experiencia y conocimiento.
La intención de las best practices no es definir una forma de solucionar problemas, este punto debe ser siempre responsabilidad del
desarrollador o desarrolladores que deben ostentar la creatividad necesaria para encontrar la mejor solución. En lugar de eso, son un marco
de referencia con directrices y principios que permiten que el proceso de desarrollo de un modelo resulte más eficiente y consistente siendo;
fácilmente entendible por otros compañeros, sencillo de mantener y escalable en el futuro.
Adicionalmente, el uso de las best practices permite que el contínuo desarrollo y mantenimiento de los modelos sea más rápido y eficiente.
Esto es así debido a que los nuevos desarrolladores requieren un aprendizaje rápido y sencillo de nuevos modelos. Como resultado, a
continuación se presenta un documento ampliable, que tiene como objetivo construir una serie de estándares de diseño que actúen como
base para futuros desarrollos.
4 / 19 This document is confidential | © Copyright Sonum
.
2. Diseño y organización de cubos
CUBOS: ARQUITECTURA
Puede ser una tentación limitar el número de cubos de una aplicación e intentar almacenar el mayor número posible de datos en un único
cubo de cara a hacer más fácil para el usuario la recuperación de datos. Sin embargo, TM1 tiene varias posibilidades para recuperar datos
desde varios cubos, por tanto, el foco debe ponerse en cual debería ser la mejor arquitectura de cubos que pueda soportar la aplicación
teniendo en cuenta cómo deben presentarse los datos y el interfaz que requieren los usuarios finales.
Para el diseño y arquitectura de cubos se deben tener en cuenta factores como:
• Requerimientos funcionales de los usuarios.
• Nivel de granularidad.
• Rendimiento.
• Escalabilidad.
El traspaso de información entre cubos se puede realizar mediante regla o cargando el cubo mediante procesos de turbointegrator. Hay que
tener especial cuidado en el diseño de la arquitectura de cubos ya que cada método tiene sus ventajas y desventajas. Cuando se conectan
los cubos por regla la información se recupera inmediatamente, sin embargo, las reglas consumen memoria afectando, por consiguiente, al
rendimiento del modelo.
5 / 19 This document is confidential | © Copyright Sonum
.
Normalmente, no es una best practice realizar interconexiones por regla en serie entre cubos complejos como se muestra a continuación en
un ejemplo:
En el ejemplo anterior, si se quiere recuperar un dato formulado del cubo Cuenta Resultados, puede ser que el origen del dato sea el cubo
de RRHH. El camino que debe recorrer el dato entre ambos cubos es largo, teniendo que recorrer un camino de cuatro cubos hasta llegar al
dato esperado.
Si los cubos contienen mucha formulación y compleja, con feeders que pueden penalizar el rendimiento, el modelo puede verse seriamente
afectado. Es por ello, que se recomienda diseñar modelos pensando siempre en la estructura má adecuanda o cortar las conexiones por
regla entre cubos en algún momento utilizando procesos de turbointegrator. Una estructura en estrella, por ejemplo, suele tener por lo general
mejores resultados. No obstante, la decisión de la arquitectura de cubos debe tomarse con cuidado analizando bien el modelo.
Regla
RRHH Costes de
Personal
Costes
Totales
Cuenta
Reultados
6 / 19 This document is confidential | © Copyright Sonum
.
CUBOS: ORDEN DIMENSIONES
Una vez se hayan definido los cubos necesarios para el modelo y las dimensiones de los mismos, la siguiente consideración es el orden que
deben tener las dimensiones dentro del cubo. El orden de dimensiones tiene un impacto alto sobre el modelo de TM1 y requiere especial
cuidado. Algunas de las consideraciones que se deben tener son:
• Rendimiento
• Consumo de memoria
• Usabilidad
• Consistencia
• Mantenimiento
Normalmente, la herramienta nos exige, en caso de desplegar aplicaciones de aprobación, que la primera dimensión sea la jerarquía de
aprobación. Acto seguido, dimensiones como Versión, Año, Mes o Escenario que aparecen en todos los cubos deben ser seleccionadas a
continuación. De esta forma será más sencillo escribir y mantener reglas, procesos de turbointegrator e informes en Excel. Como norma,
también, la dimensión de medidas se suele ubicar en último lugar ya que, normalmente, los formatos se definen en esta dimensión y TM1 da
prioridad a la dimensión ubicada en último lugar.
No obstante, de forma genérica a continuación se muestra un ejemplo sencillo de cómo calcular el orden de dimensiones más óptimo usando
Excel y TM1.
7 / 19 This document is confidential | © Copyright Sonum
.
1.- Calcular el número de elementos de nivel N dentro de una dimensión.
Crear un subconjunto de nivel 0 dentro de la dimensión, así se puede ver el número total.
2.- Calcular el número de celdas ocupadas dentro de un cubo excluyendo la dimensión de medidas.
Construir una vista con las dimensiones del cubo sobre las que se quiere que aplique el cálculo. Colocar todas las dimensiones anidadas en
filas con subconjuntos de nivel 0. Si hay otras dimensiones que no aplican sobre el análisis, colocarlas en contexto a totales. Seleccionar en
el contexto la medida que supuestamente contiene más información. Suprimir ceros en la vista.
Exportar la vista a Excel y contar el número de filas que hay con información. De esta manera se obtiene el número de celdas con información.
3.- Calcular el % de celdas usadas.
Para ello, dividir el número de celdas con información entre el número de elementos de nivel N de la dimensión. Hacerlo para cada dimensión.
4.- Análisis de resultados.
Analizando los resultados, de esta manera se pueden ordenar las dimensiones por densidad y posteriormente por tamaño dentro del cubo.
Excluir las dimensiones pequeñas. La dimensión con mayor densidad y mayor tamaño debería estar en las últimas posiciones del cubo.
8 / 19 This document is confidential | © Copyright Sonum
.
CUBOS: PARÁMETROS
En un modelo de TM1 es indispensable tener cubos sencillos donde estén definidos diferentes parámetros del modelo.
Este tipo de cubos facilita principalmente el mantenimiento del modelo a futuro dontando el mismo, a su vez, de consistencia. En este cubo
se suelen indicar rutas en servidores, parámetros para funciones de turbointegrator o parámetros de tiempo entre otros.
9 / 19 This document is confidential | © Copyright Sonum
.
4. Reglas VS. TurboIntegrator
Antes de describir las best practices para el desarrollo de reglas, hay que tener en cuenta lo siguiente: ¿Puede ralizarse un mismo cálculo
mediante regla o proceso de turbointegrator? Ante esta cuestión hay que plantearse las siguientes preguntas:
• Timing
¿Se necesitan recuperar el dato calculado en tiempo real? Generalmente, si el dato calculado se requiere en tiempo real, lo cual es
común en aplicaciones de presupuestación y previsión, el uso de reglas es entonces la mejor opción. Si el dato, por el contrario, no
se requiere en tiempo real puede ser mas adecuado que se calcule usando un proceso de turbointegrator.
• Rendimiento
El motor de cálculo de TM1 es tremendamente eficiente, especialmente cuando se usa la función skipcheck y se activa el algoritmo
de consolidación. Sin embargo, hay que tener en cuenta que hay costes de rendimiento cuando se recupera un dato de una celda
calculada en comparación a un dato recuperado de una celda simple. Si el dato se quiere mostrar en una vista, esta debe de realizar
el cálculo en tiempo real. Usando TI, habrá costes de rendimiento al calcular el dato y almacenarlo, sin embargo, el coste del cálculo
se realizará únicamente una vez durante la ejecución del proceso, por lo que la recuperación del dato al final será más rápida.
• Cálculos y celdas consolidadas
Algunos cáculos se realizan a nivel de elementos consolidados, por ejemplo, ratios, precio medio, etc. Cuando los cálculos se
necesitan a nivel de celdas consolidadas, las reglas son la única opción disponible. Los procesos de TI no pueden escribir información
en elementos consolidados.
10 / 19 This document is confidential | © Copyright Sonum
.
• Transparencia
Los valores calculados por regla son mucho más transparentes para el usuario final ya que ellos pueden visualizar el trazado del
cálculo a través de la vista de cubo de TM1. El trazo de los cálculos realizados y almacenados mediante procesos de TM1 no son
visibles para los usuarios.
• Consumo de memoria
Cuando se usan reglas para realizar cálculos, se requiere memoria para las celdas calculadas y los feeders asociados. La memoria
para los feeders estará siempre en uso ya que los feeders se evaluan completamente cuando se inicia el servidor y cuando las reglas
son modificadas y guardadas. Sin embargo, las celdas calculadas son “celdas virtuales” y únicamente utilizan memoria cuando se
accede directamente a estas celdas o cuando un elemento consolidado requiere su valor.
Por otro lado, cuando se utilizan procesos de TI para realizar y almacenar un cálculo, la información se almacena de forma sencilla
en una celda del cubo. Las celdas simples están físicamente almacenadas en el cubo de TM1 y, por consiguiente, ocuparán memoria
tanto si se accede a ellas como si no.
Cual de estos métodos usa más memoria depende del uso que se haga de las celdas calculadas. Si se acceden a todas o casi todas
las celdas calculadas y, por lo tanto, son evaluadas por el motor de TM1, entonces se requerirá más memoria ya que se necesita
memoria adicional para el almacenamiento de feeders asi como de los valores calculados por las reglas. Si únicamente se accede a
una porción pequeña de celdas calculadas, entonces se requerirá más memoria utilizando un proceso de TI, ya que todas las celdas
almacenadas necesitarán ocuparar memoria se acceda a ellas o no.
11 / 19 This document is confidential | © Copyright Sonum
.
5. Procesos de TurboIntegrator
TI: PARÁMETROS
Crear parámetros con nombres sentillos e intuitivos. Rellenar la ayuda “Realizar Pregunta”. De esta manera facilitamos futuras tareas de
otros compañeros y se construye un modelo más sotenible, usable y mantenible.
12 / 19 This document is confidential | © Copyright Sonum
.
TI: VARIBLES
Utilizar nombres de variables sencillos e intuitivos.
TI: SUBCONJUNTOS
Al crear subconjuntos que se asignan a vistas, insertar elementos en la posición 0.
TI: PARAMETRIZAR QUERYS
Una best practice en procesos de TI es siempre parametrizar las consultas cuando nuestro origen de datos es una ODBC. Parametrizar las
consultas siempre otorgarán flexibilidad y potencia a nuestros procesos de carga de informaición y al modelo en general.
13 / 19 This document is confidential | © Copyright Sonum
.
En el ejemplo siguiente se muestras un proceso donde se ha parametrizado una consulta en el prólogo en función del año que se desea
cargar.
14 / 19 This document is confidential | © Copyright Sonum
.
15 / 19 This document is confidential | © Copyright Sonum
.
6. Seguridad
Existen tres “capas” básicas de control que TM1 Application Server utiliza para restringir los datos o cubos en los que un usuario específico
puede acceder:
1. Seguridad de TM1 -> DERECHOS
2. Reserva de datos -> PROPIEDAD
3. Preformato de Seguridad -> ENVIAR
http://www-01.ibm.com/support/knowledgecenter/SS9RXT_10.2.2/com.ibm.swg.ba.cognos.tm1_cont_ug.10.2.2.doc/c_tm1_applications_security_rights_tm1_server.html
SEGURIDAD DE TM1
Es la capa más fundamental, se utiliza para imponer el concepto de derechos del modelo. Está constituida por la seguridad en los
diferentes objetos que conforman un modelo de TM1.
• Aplicaciones.
• Procesos.
• Dimensiones.
• Cubos.
• Elementos.
• Celdas.
Cuando se crea una aplicación de tipo jerarquía de aprobación se especifica cual es el nivel de seguridad que se va a implementar para dicha
aplicación, elemento o celda.
16 / 19 This document is confidential | © Copyright Sonum
.
MUY IMPORTANTE. Los siguientes cubos de seguridad deben ser rellenados por PROCESO y no por REGLA. De lo contrario se generan
errores en TM1 Applications (versión 10.2.2).
• }DimensionSecurity
• }CubeSecurity
• }ProcessSecurity
• }ApplicationsSecurity
• }ElementSecurity_Dimension -> Excepto aquellos cubos que se rellenan de forma automática por la seguridad de TM1
Applications que se corresponden con las dimensiones que funcionan como jerarquía de aprobación y su shadow dimension.
Aprovechar el cubo de seguridad }CubeSecurityProperties para la seguridad a nivel de celda  Se consigue optimizar la seguridad del modelo
 Mejor rendimiento.
17 / 19 This document is confidential | © Copyright Sonum
.
RESERVA DE DATOS
Controla quién puede escribir en un rango determinado de celdas pero sólo se aplica a usuarios específicos (no grupos) y se utiliza para
imponer el concepto de Propiedad (de un nodo).
El método de reserva de datos se establece como una propiedad en el cubo de control }CubeProperties y se aplica al cubo entero.
Para todos los cubos del modelo presentes en TM1 Applications Server el modo de reserva de datos es el definido por defecto y que aplica
al cubo entero, REQUIREDSHARED.
18 / 19 This document is confidential | © Copyright Sonum
.
PREFORMATO DE SEGURIDAD
Esta capa también controla quién puede escribir en un rango determinado de celdas.
Sin embargo, el pre formato de seguridad se aplica a todos los usuarios de TM1 Server, no sólo a los usuarios con derechos a TM1 Application.
El preformato de seguridad se utiliza para imponer el concepto de envío para bloquear los datos.
El preformato de seguridad se controla desde los cubos }SecurityOverlayGlobal_NOMBRE CUBO.
19 / 19 This document is confidential | © Copyright Sonum
.
7. Cuándo usar Performance Modeler
Performance Modeler proporciona una interfaz gráfica de usuario para que el modelado sea más eficaz e intuitivo. Se puede acceder a todas
las potentes características de modelado de TM1. No obstante, para desarrollos complejos se recomienda tener en cuenta los siguientes
aspectos:
• Creación de cubos y dimensiones: se recomienda PM ya que permite establecer todas las propiedades de los objetos.
• Procesos de turbointegrator: se recomienda que todos se realicen desde Architect, aún más si son complejos. El wizard de PM es
intuitivo y avanzado pero, sin embargo, mucho menos flexible y puede ocasionar problemas.
• Reglas: si son entre cubos, y sobre todo si tienen cálculos con feeders complejos se recomienda realizarlos por Architect o PM de
forma manual sin utilizar el cálculo automático de PM. De esta manera se tiene un mayor control sobre el modelo, pudiéndolo optimizar
mucho más.
• Organización de objetos: se recomienda utilizar la estructura de carpetas de PM para organizar los objetos del modelo. Ayuda en el
mantenimiento y entendimiento del modelo.

Más contenido relacionado

DOCX
Modern quality management
PPTX
Probability In Discrete Structure of Computer Science
PDF
Data visualization in a nutshell
PDF
DOCX
Instituto tecnologico de los mochis
PDF
separata 3 y 4.pdf ciencia de datos uni Perú
DOCX
Instituto tecnologico de los mochis ensayo 9 enfoques
Modern quality management
Probability In Discrete Structure of Computer Science
Data visualization in a nutshell
Instituto tecnologico de los mochis
separata 3 y 4.pdf ciencia de datos uni Perú
Instituto tecnologico de los mochis ensayo 9 enfoques

Similar a TM1 Best practices (20)

DOCX
Comparación SMBD
PDF
Tema 4 Metodologías de DW 2024bhjbhb.pdf
PDF
T05y06 Optimizacio Flotacion
DOCX
Investigación quinta unidad
PDF
Taller n20 compiladores_optimizacion_codigo_9_julio_2020-convertido
PDF
METODOS DE ELABORACION DE SOFTWARE
PDF
IBM Spectrum Control Storage Insights
PPTX
Mejores practicas sql
PPTX
Trabajo grupal flavio cosme eldin junior
PPTX
Trabajo grupal flavio cosme eldin junior
PDF
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
PPTX
Simulación - Unidad 4 Lenguajes de Simulación (Promodel)
PDF
Estrategia para la Implementación y Administración Inteligente de DataWarehouse
PDF
SQLSaturday 322 Guatemala 2014 Cubes Performance
PPTX
Presentación1
PDF
Alto spread
PDF
Clase31 de ad gesinfo
PPT
Investigación de operaciones
PDF
Simulación de sistemas
Comparación SMBD
Tema 4 Metodologías de DW 2024bhjbhb.pdf
T05y06 Optimizacio Flotacion
Investigación quinta unidad
Taller n20 compiladores_optimizacion_codigo_9_julio_2020-convertido
METODOS DE ELABORACION DE SOFTWARE
IBM Spectrum Control Storage Insights
Mejores practicas sql
Trabajo grupal flavio cosme eldin junior
Trabajo grupal flavio cosme eldin junior
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
Simulación - Unidad 4 Lenguajes de Simulación (Promodel)
Estrategia para la Implementación y Administración Inteligente de DataWarehouse
SQLSaturday 322 Guatemala 2014 Cubes Performance
Presentación1
Alto spread
Clase31 de ad gesinfo
Investigación de operaciones
Simulación de sistemas
Publicidad

Más de Sonum International (18)

PDF
Sonum introduction - Anaplan Partner Expo 2021
PDF
First windspa
PPTX
Vena project at Boskalis
PPTX
Vena eu briefings 2017
PDF
Linq magazine 2016
PPTX
Vena webinar. 5 maneras de optimizar el planning en excel slideshare
PPTX
E_Pick en TM1
PPT
E_Pick in TM1
PPT
Tm1 parallel loading
PPT
Carga en Paralelo en TM1
PPT
How to create custom consolidations in TM1
PPTX
Crea consolidaciones personalizadas en TM1
PPT
Create User-Defined Consolidations in TM1
PPTX
Crea consolidaciones definidas en tm1
PPT
Go Beyond the limits of Spreadsheets
PPTX
5 maneras de arruinar tu presupuesto
PDF
Position Planning
PDF
The cost to serve initiative
Sonum introduction - Anaplan Partner Expo 2021
First windspa
Vena project at Boskalis
Vena eu briefings 2017
Linq magazine 2016
Vena webinar. 5 maneras de optimizar el planning en excel slideshare
E_Pick en TM1
E_Pick in TM1
Tm1 parallel loading
Carga en Paralelo en TM1
How to create custom consolidations in TM1
Crea consolidaciones personalizadas en TM1
Create User-Defined Consolidations in TM1
Crea consolidaciones definidas en tm1
Go Beyond the limits of Spreadsheets
5 maneras de arruinar tu presupuesto
Position Planning
The cost to serve initiative
Publicidad

Último (20)

PPTX
SESIÓN17SESIÓN17SESIÓN17SESIÓN17SESIÓN17SESIÓN17SESIÓN17SESIÓN17SESIÓN17SESIÓ...
PDF
D08_SESION 15 y 16_2024.12.06_ISO-26000.pdf
PDF
ORD-REG-ELEMENTOS-PUBLICITARIOS-AMSS-12-MARZO.pdf
PDF
Clase 15 - Normas de Aseguramiento.pptx.pdf
PPTX
6. El proceso de la planificación.pptx6. El proceso de la planificación.pptx
PDF
03 - Unidad II - La Plataforma .NET y C# - 2. Tipos Primitivos y Expresiones.pdf
PPTX
EXPO ADMINISTRACION ESTRATEGICA HISTORIA Y EVOLUCIÓN DE LA ADMINISTRACIÓN
PDF
MODELO INNOVACION EN NEGOCIOS , METODOLOGIA APLICADA.pdf
PPTX
Actividades del departamento de Psicología
PDF
Rendicion publica de cuentas inicial 2025 de la procuraduria
PPTX
Expo N°1-Difusión de Política y Objetivos SST-31.01.23.pptx
PPTX
PONENCIA ORAL_CAT_3y4 - CALIDAD MYPES.pptx
PPTX
emprendedor social diapositivas de jhonatan del jesus
PPTX
Algunos aspectos fundamentales del Derecho Corporativo
PPTX
GESTION DE RECURSOS HUMANOS - MATERIAL ENTREGADO EN UTN FRC
PPTX
saHERNISA FEMsOassaSAsasASAsaSasaSASaAsaS
PDF
Introducción iso 9001 curso UNIDAD - 3.pdf
PPTX
Presentación Plan de Negocio Moderno Morado y Blanco.pptx
PDF
DESARROLLO E IMPACTO DE LA INNOVACION.pdf
PPT
Teoria General de Sistemas empresariales
SESIÓN17SESIÓN17SESIÓN17SESIÓN17SESIÓN17SESIÓN17SESIÓN17SESIÓN17SESIÓN17SESIÓ...
D08_SESION 15 y 16_2024.12.06_ISO-26000.pdf
ORD-REG-ELEMENTOS-PUBLICITARIOS-AMSS-12-MARZO.pdf
Clase 15 - Normas de Aseguramiento.pptx.pdf
6. El proceso de la planificación.pptx6. El proceso de la planificación.pptx
03 - Unidad II - La Plataforma .NET y C# - 2. Tipos Primitivos y Expresiones.pdf
EXPO ADMINISTRACION ESTRATEGICA HISTORIA Y EVOLUCIÓN DE LA ADMINISTRACIÓN
MODELO INNOVACION EN NEGOCIOS , METODOLOGIA APLICADA.pdf
Actividades del departamento de Psicología
Rendicion publica de cuentas inicial 2025 de la procuraduria
Expo N°1-Difusión de Política y Objetivos SST-31.01.23.pptx
PONENCIA ORAL_CAT_3y4 - CALIDAD MYPES.pptx
emprendedor social diapositivas de jhonatan del jesus
Algunos aspectos fundamentales del Derecho Corporativo
GESTION DE RECURSOS HUMANOS - MATERIAL ENTREGADO EN UTN FRC
saHERNISA FEMsOassaSAsasASAsaSasaSASaAsaS
Introducción iso 9001 curso UNIDAD - 3.pdf
Presentación Plan de Negocio Moderno Morado y Blanco.pptx
DESARROLLO E IMPACTO DE LA INNOVACION.pdf
Teoria General de Sistemas empresariales

TM1 Best practices

  • 1. . This document is confidential | © Copyright Sonum . Best Practices - IBM Cognos TM1 Fecha, 01 de Julio 2017 www.sonum-int.com/es
  • 2. 2 / 19 This document is confidential | © Copyright Sonum . Índice 1. INTRODUCCIÓN: ¿POR QUÉ USAR LAS BEST PRACTICES?................................................................................................................................... 3 2. DISEÑO Y ORGANIZACIÓN DE CUBOS........................................................................................................................................................................ 4 4. REGLAS VS. TURBOINTEGRATOR............................................................................................................................................................................... 9 5. PROCESOS DE TURBOINTEGRATOR ........................................................................................................................................................................ 11 7. CUANDO USAR PERFORMANCE MODELER............................................................................................................................................................. 19
  • 3. 3 / 19 This document is confidential | © Copyright Sonum . 1. Introducción: ¿Por qué usar las Best Practices? El objetivo de las best practices es establecer una serie de directrices y principios prácticos para el desarrollo y gestión de modelos. Estos principios se han establecido en base a la experiencia y el aprendizaje de muchos desarrollos en proyectos y soluciones de TM1. La mayoría de estas prácticas han surgido como resultado de intentar resolver diferentes problemas buscando la solución más adecuada y teniendo en cuenta que cada problema tiene, además de múltiples soluciones, circustancias distintas y particulares. Best practice es también un enfoque coherente para el desarrollo de modelos de TM1, haciendo que estos sean fácilmente entendibles, mantenibles y escalables por cualquier desarrollador independientemente de su experiencia y conocimiento. La intención de las best practices no es definir una forma de solucionar problemas, este punto debe ser siempre responsabilidad del desarrollador o desarrolladores que deben ostentar la creatividad necesaria para encontrar la mejor solución. En lugar de eso, son un marco de referencia con directrices y principios que permiten que el proceso de desarrollo de un modelo resulte más eficiente y consistente siendo; fácilmente entendible por otros compañeros, sencillo de mantener y escalable en el futuro. Adicionalmente, el uso de las best practices permite que el contínuo desarrollo y mantenimiento de los modelos sea más rápido y eficiente. Esto es así debido a que los nuevos desarrolladores requieren un aprendizaje rápido y sencillo de nuevos modelos. Como resultado, a continuación se presenta un documento ampliable, que tiene como objetivo construir una serie de estándares de diseño que actúen como base para futuros desarrollos.
  • 4. 4 / 19 This document is confidential | © Copyright Sonum . 2. Diseño y organización de cubos CUBOS: ARQUITECTURA Puede ser una tentación limitar el número de cubos de una aplicación e intentar almacenar el mayor número posible de datos en un único cubo de cara a hacer más fácil para el usuario la recuperación de datos. Sin embargo, TM1 tiene varias posibilidades para recuperar datos desde varios cubos, por tanto, el foco debe ponerse en cual debería ser la mejor arquitectura de cubos que pueda soportar la aplicación teniendo en cuenta cómo deben presentarse los datos y el interfaz que requieren los usuarios finales. Para el diseño y arquitectura de cubos se deben tener en cuenta factores como: • Requerimientos funcionales de los usuarios. • Nivel de granularidad. • Rendimiento. • Escalabilidad. El traspaso de información entre cubos se puede realizar mediante regla o cargando el cubo mediante procesos de turbointegrator. Hay que tener especial cuidado en el diseño de la arquitectura de cubos ya que cada método tiene sus ventajas y desventajas. Cuando se conectan los cubos por regla la información se recupera inmediatamente, sin embargo, las reglas consumen memoria afectando, por consiguiente, al rendimiento del modelo.
  • 5. 5 / 19 This document is confidential | © Copyright Sonum . Normalmente, no es una best practice realizar interconexiones por regla en serie entre cubos complejos como se muestra a continuación en un ejemplo: En el ejemplo anterior, si se quiere recuperar un dato formulado del cubo Cuenta Resultados, puede ser que el origen del dato sea el cubo de RRHH. El camino que debe recorrer el dato entre ambos cubos es largo, teniendo que recorrer un camino de cuatro cubos hasta llegar al dato esperado. Si los cubos contienen mucha formulación y compleja, con feeders que pueden penalizar el rendimiento, el modelo puede verse seriamente afectado. Es por ello, que se recomienda diseñar modelos pensando siempre en la estructura má adecuanda o cortar las conexiones por regla entre cubos en algún momento utilizando procesos de turbointegrator. Una estructura en estrella, por ejemplo, suele tener por lo general mejores resultados. No obstante, la decisión de la arquitectura de cubos debe tomarse con cuidado analizando bien el modelo. Regla RRHH Costes de Personal Costes Totales Cuenta Reultados
  • 6. 6 / 19 This document is confidential | © Copyright Sonum . CUBOS: ORDEN DIMENSIONES Una vez se hayan definido los cubos necesarios para el modelo y las dimensiones de los mismos, la siguiente consideración es el orden que deben tener las dimensiones dentro del cubo. El orden de dimensiones tiene un impacto alto sobre el modelo de TM1 y requiere especial cuidado. Algunas de las consideraciones que se deben tener son: • Rendimiento • Consumo de memoria • Usabilidad • Consistencia • Mantenimiento Normalmente, la herramienta nos exige, en caso de desplegar aplicaciones de aprobación, que la primera dimensión sea la jerarquía de aprobación. Acto seguido, dimensiones como Versión, Año, Mes o Escenario que aparecen en todos los cubos deben ser seleccionadas a continuación. De esta forma será más sencillo escribir y mantener reglas, procesos de turbointegrator e informes en Excel. Como norma, también, la dimensión de medidas se suele ubicar en último lugar ya que, normalmente, los formatos se definen en esta dimensión y TM1 da prioridad a la dimensión ubicada en último lugar. No obstante, de forma genérica a continuación se muestra un ejemplo sencillo de cómo calcular el orden de dimensiones más óptimo usando Excel y TM1.
  • 7. 7 / 19 This document is confidential | © Copyright Sonum . 1.- Calcular el número de elementos de nivel N dentro de una dimensión. Crear un subconjunto de nivel 0 dentro de la dimensión, así se puede ver el número total. 2.- Calcular el número de celdas ocupadas dentro de un cubo excluyendo la dimensión de medidas. Construir una vista con las dimensiones del cubo sobre las que se quiere que aplique el cálculo. Colocar todas las dimensiones anidadas en filas con subconjuntos de nivel 0. Si hay otras dimensiones que no aplican sobre el análisis, colocarlas en contexto a totales. Seleccionar en el contexto la medida que supuestamente contiene más información. Suprimir ceros en la vista. Exportar la vista a Excel y contar el número de filas que hay con información. De esta manera se obtiene el número de celdas con información. 3.- Calcular el % de celdas usadas. Para ello, dividir el número de celdas con información entre el número de elementos de nivel N de la dimensión. Hacerlo para cada dimensión. 4.- Análisis de resultados. Analizando los resultados, de esta manera se pueden ordenar las dimensiones por densidad y posteriormente por tamaño dentro del cubo. Excluir las dimensiones pequeñas. La dimensión con mayor densidad y mayor tamaño debería estar en las últimas posiciones del cubo.
  • 8. 8 / 19 This document is confidential | © Copyright Sonum . CUBOS: PARÁMETROS En un modelo de TM1 es indispensable tener cubos sencillos donde estén definidos diferentes parámetros del modelo. Este tipo de cubos facilita principalmente el mantenimiento del modelo a futuro dontando el mismo, a su vez, de consistencia. En este cubo se suelen indicar rutas en servidores, parámetros para funciones de turbointegrator o parámetros de tiempo entre otros.
  • 9. 9 / 19 This document is confidential | © Copyright Sonum . 4. Reglas VS. TurboIntegrator Antes de describir las best practices para el desarrollo de reglas, hay que tener en cuenta lo siguiente: ¿Puede ralizarse un mismo cálculo mediante regla o proceso de turbointegrator? Ante esta cuestión hay que plantearse las siguientes preguntas: • Timing ¿Se necesitan recuperar el dato calculado en tiempo real? Generalmente, si el dato calculado se requiere en tiempo real, lo cual es común en aplicaciones de presupuestación y previsión, el uso de reglas es entonces la mejor opción. Si el dato, por el contrario, no se requiere en tiempo real puede ser mas adecuado que se calcule usando un proceso de turbointegrator. • Rendimiento El motor de cálculo de TM1 es tremendamente eficiente, especialmente cuando se usa la función skipcheck y se activa el algoritmo de consolidación. Sin embargo, hay que tener en cuenta que hay costes de rendimiento cuando se recupera un dato de una celda calculada en comparación a un dato recuperado de una celda simple. Si el dato se quiere mostrar en una vista, esta debe de realizar el cálculo en tiempo real. Usando TI, habrá costes de rendimiento al calcular el dato y almacenarlo, sin embargo, el coste del cálculo se realizará únicamente una vez durante la ejecución del proceso, por lo que la recuperación del dato al final será más rápida. • Cálculos y celdas consolidadas Algunos cáculos se realizan a nivel de elementos consolidados, por ejemplo, ratios, precio medio, etc. Cuando los cálculos se necesitan a nivel de celdas consolidadas, las reglas son la única opción disponible. Los procesos de TI no pueden escribir información en elementos consolidados.
  • 10. 10 / 19 This document is confidential | © Copyright Sonum . • Transparencia Los valores calculados por regla son mucho más transparentes para el usuario final ya que ellos pueden visualizar el trazado del cálculo a través de la vista de cubo de TM1. El trazo de los cálculos realizados y almacenados mediante procesos de TM1 no son visibles para los usuarios. • Consumo de memoria Cuando se usan reglas para realizar cálculos, se requiere memoria para las celdas calculadas y los feeders asociados. La memoria para los feeders estará siempre en uso ya que los feeders se evaluan completamente cuando se inicia el servidor y cuando las reglas son modificadas y guardadas. Sin embargo, las celdas calculadas son “celdas virtuales” y únicamente utilizan memoria cuando se accede directamente a estas celdas o cuando un elemento consolidado requiere su valor. Por otro lado, cuando se utilizan procesos de TI para realizar y almacenar un cálculo, la información se almacena de forma sencilla en una celda del cubo. Las celdas simples están físicamente almacenadas en el cubo de TM1 y, por consiguiente, ocuparán memoria tanto si se accede a ellas como si no. Cual de estos métodos usa más memoria depende del uso que se haga de las celdas calculadas. Si se acceden a todas o casi todas las celdas calculadas y, por lo tanto, son evaluadas por el motor de TM1, entonces se requerirá más memoria ya que se necesita memoria adicional para el almacenamiento de feeders asi como de los valores calculados por las reglas. Si únicamente se accede a una porción pequeña de celdas calculadas, entonces se requerirá más memoria utilizando un proceso de TI, ya que todas las celdas almacenadas necesitarán ocuparar memoria se acceda a ellas o no.
  • 11. 11 / 19 This document is confidential | © Copyright Sonum . 5. Procesos de TurboIntegrator TI: PARÁMETROS Crear parámetros con nombres sentillos e intuitivos. Rellenar la ayuda “Realizar Pregunta”. De esta manera facilitamos futuras tareas de otros compañeros y se construye un modelo más sotenible, usable y mantenible.
  • 12. 12 / 19 This document is confidential | © Copyright Sonum . TI: VARIBLES Utilizar nombres de variables sencillos e intuitivos. TI: SUBCONJUNTOS Al crear subconjuntos que se asignan a vistas, insertar elementos en la posición 0. TI: PARAMETRIZAR QUERYS Una best practice en procesos de TI es siempre parametrizar las consultas cuando nuestro origen de datos es una ODBC. Parametrizar las consultas siempre otorgarán flexibilidad y potencia a nuestros procesos de carga de informaición y al modelo en general.
  • 13. 13 / 19 This document is confidential | © Copyright Sonum . En el ejemplo siguiente se muestras un proceso donde se ha parametrizado una consulta en el prólogo en función del año que se desea cargar.
  • 14. 14 / 19 This document is confidential | © Copyright Sonum .
  • 15. 15 / 19 This document is confidential | © Copyright Sonum . 6. Seguridad Existen tres “capas” básicas de control que TM1 Application Server utiliza para restringir los datos o cubos en los que un usuario específico puede acceder: 1. Seguridad de TM1 -> DERECHOS 2. Reserva de datos -> PROPIEDAD 3. Preformato de Seguridad -> ENVIAR http://www-01.ibm.com/support/knowledgecenter/SS9RXT_10.2.2/com.ibm.swg.ba.cognos.tm1_cont_ug.10.2.2.doc/c_tm1_applications_security_rights_tm1_server.html SEGURIDAD DE TM1 Es la capa más fundamental, se utiliza para imponer el concepto de derechos del modelo. Está constituida por la seguridad en los diferentes objetos que conforman un modelo de TM1. • Aplicaciones. • Procesos. • Dimensiones. • Cubos. • Elementos. • Celdas. Cuando se crea una aplicación de tipo jerarquía de aprobación se especifica cual es el nivel de seguridad que se va a implementar para dicha aplicación, elemento o celda.
  • 16. 16 / 19 This document is confidential | © Copyright Sonum . MUY IMPORTANTE. Los siguientes cubos de seguridad deben ser rellenados por PROCESO y no por REGLA. De lo contrario se generan errores en TM1 Applications (versión 10.2.2). • }DimensionSecurity • }CubeSecurity • }ProcessSecurity • }ApplicationsSecurity • }ElementSecurity_Dimension -> Excepto aquellos cubos que se rellenan de forma automática por la seguridad de TM1 Applications que se corresponden con las dimensiones que funcionan como jerarquía de aprobación y su shadow dimension. Aprovechar el cubo de seguridad }CubeSecurityProperties para la seguridad a nivel de celda  Se consigue optimizar la seguridad del modelo  Mejor rendimiento.
  • 17. 17 / 19 This document is confidential | © Copyright Sonum . RESERVA DE DATOS Controla quién puede escribir en un rango determinado de celdas pero sólo se aplica a usuarios específicos (no grupos) y se utiliza para imponer el concepto de Propiedad (de un nodo). El método de reserva de datos se establece como una propiedad en el cubo de control }CubeProperties y se aplica al cubo entero. Para todos los cubos del modelo presentes en TM1 Applications Server el modo de reserva de datos es el definido por defecto y que aplica al cubo entero, REQUIREDSHARED.
  • 18. 18 / 19 This document is confidential | © Copyright Sonum . PREFORMATO DE SEGURIDAD Esta capa también controla quién puede escribir en un rango determinado de celdas. Sin embargo, el pre formato de seguridad se aplica a todos los usuarios de TM1 Server, no sólo a los usuarios con derechos a TM1 Application. El preformato de seguridad se utiliza para imponer el concepto de envío para bloquear los datos. El preformato de seguridad se controla desde los cubos }SecurityOverlayGlobal_NOMBRE CUBO.
  • 19. 19 / 19 This document is confidential | © Copyright Sonum . 7. Cuándo usar Performance Modeler Performance Modeler proporciona una interfaz gráfica de usuario para que el modelado sea más eficaz e intuitivo. Se puede acceder a todas las potentes características de modelado de TM1. No obstante, para desarrollos complejos se recomienda tener en cuenta los siguientes aspectos: • Creación de cubos y dimensiones: se recomienda PM ya que permite establecer todas las propiedades de los objetos. • Procesos de turbointegrator: se recomienda que todos se realicen desde Architect, aún más si son complejos. El wizard de PM es intuitivo y avanzado pero, sin embargo, mucho menos flexible y puede ocasionar problemas. • Reglas: si son entre cubos, y sobre todo si tienen cálculos con feeders complejos se recomienda realizarlos por Architect o PM de forma manual sin utilizar el cálculo automático de PM. De esta manera se tiene un mayor control sobre el modelo, pudiéndolo optimizar mucho más. • Organización de objetos: se recomienda utilizar la estructura de carpetas de PM para organizar los objetos del modelo. Ayuda en el mantenimiento y entendimiento del modelo.