jueves, 29 de octubre de 2015

Comprendiendo los Feeders de TM1



Mientras las reglas TM1 en IBM Cognos TM1 son relativamente fáciles de escribir y validar, y el impacto de la utilización de un lenguaje simple de negocios para integrar cálculos complejos en un modelo de negocio es fácil de apreciar, los Feeders son mucho menos visibles y, sin embargo puede tener un impacto muy importante en la precisión y el rendimiento de un modelo.

Entonces, ¿qué son los Feeders de TM1? Básicamente, TM1 explota un algoritmo único "Hyper-Sparsity", que permite a su motor de consolidación ignorar las celdas vacías. Esta es una característica muy útil cuando la mayoría de las celdas en un cubo evalúan a cero. Los Feeders se utilizan para desencadenar banderas contra reglas calculadas en "celdas hojas", también conocidos como Base o puntos de datos de "N-Level", lo que podría contener un valor que debe ser incluido para la agregación en una jerarquía TM1. Feeders funcionan a partir de celdas de origen que son "visibles" para el motor de consolidación TM1, y más a menudo que no, tienen un impacto en el cálculo resultante también. Si una celda calculada no se alimenta, el motor de consolidación TM1 asume que las células carecen de valor y "salta" la comprobación de ellos. Esta es una razón clave por la TM1 supera a sus competidores cuando se trata de la consolidación de cálculos complejos en vastos (todavía escasa) modelos de negocio, que a su vez permite una navegación rápida y el análisis "qué pasaría si", dando a los usuarios la ventaja competitiva de ser ágil.

Bueno, entiéndase que los Feeders no son sólo "otro tipo de regla", que unimos con nuestros cálculos valiosos. Sí, Reglas y Alimentadores TM1 a menudo vienen en pares, pero la comprensión de Alimentadores da un desarrollador de la libertad para construir mejor, más rápido, más fuerte.

Es importante resaltar que no todos los cálculos necesitan ser alimentados! Las Reglas de TM1 aplicadas a nivel consolidado (también conocido como "nivel C"), es decir, métricas calculadas, evaluarán si ellos mismos no dependen de la agregación de elementos de hoja o nodos, aunque (por la totalidad), incluso la agregación puede ser forzado a través del uso de la función "ConsolidateChildren". La única razón por la que podría alimentar a una regla de nivel C sería para atender la supresión de cero, pero esto significa necesariamente un uso óptimo de la memoria ram.

Pero antes de discutir cómo construir Feeders correctamente, vamos a considerar el impacto que generan unos Feeders mal elaborados.

Hay tres estados de alimentación en un modelo TM1:

1.    Sub Alimentado
2.    Perfectamente Alimentado
3.    Sobre Alimentado

Sin la implementación de los alimentadores correctos para la consolidación de un modelo, o "Subalimentación" del mismo, es insoportable porque la exactitud de los cálculos se verá comprometida. Si una empresa no puede confiar en sus números, ¿cómo se supone que los tomadores de decisiones puedan dirigir la compañía de forma acertada?

"Perfectamente Alimentado" se produce cuando sólo las celdas que contienen datos calculados (que deben ser agregados) se activan para la consolidación, y ningún otra celda lo hace. Si bien esta es la situación ideal, la Alimentación Perfecta rara vez se logra debido a la escala y la granularidad que se puede lograr en nuestros modelos.

"Sobrealimentación" se produce cuando todas las células que se suman son alimentados (para que nuestros cálculos sean exactos), y a su vez otras áreas en nuestros cubos pueden ser alimentados en exceso también. ¿Por qué es importante? La sobrealimentación resulta en una fuga de rendimiento, ya que se necesita más tiempo para consolidar lo que son efectivamente las celdas vacías. Además, TM1 es una tecnología en memoria, y La sobrealimentación puede dar lugar a una explosión de la memoria. En los modelos grandes, los cubos pueden llegar a ser de muchos, muchos gigabytes.

Así que ¿por qué habríamos de sobrealimentar? En esencia, usamos la Sobrealimentación como una técnica para evitar Subalimentación! Con un motor de cálculo rápido como IBM Cognos TM1, la Sobrealimentación debe ser utilizada con extrema precaución. Cuando los modelos son muy grandes y la información se convierte en explosiva, La sobrealimentación puede tener un impacto tal que un modelo de negocio puede ser inútil, e incluso puede bloquear el servidor. La sobrealimentación, sin el debido cuidado, puede afectar negativamente el rendimiento y la estabilidad del modelo de negocio, que a su vez puede crear problemas de confianza para el cliente que ha invertido su tiempo, dinero y reputación en IBM Cognos TM1.

TM1 Feeder Syntaxis

A continuación, vamos a cubrir la sintaxis básica de Alimentadores en IBM Cognos TM1. Si ya está familiarizado con esto, deje que esta sección sirva de repaso y sea no más que una visión rápida. Así que vamos a empezar...

Las sentencias de Feeders se compilan en el archivo de reglas TM1 (.RUX) del cubo TM1 que contiene los datos de origen que hacen referencia a nuestras celdas calculadas. Cuando se trata de simple alimentación interna, una declaración alimentador tiene la siguiente forma abreviada:

[Region de Origen] => [Region de Destino];

La "Región de Origen" denota un área en nuestro cubo donde queremos establecer nuestras desencadenantes o disparadores y el "Región de destino" define un mapa para los alimentadores para activar banderas contra nuestras celdas calculadas mediante reglas. El estilo de estas definiciones de área es conocido como Referencia Interna de Cubo. El símbolo "=>" se lee como "feeds" y separa las dos zonas (origen y de destino) de la sintaxis. El punto y coma al final del Feeder se utiliza como un salto de línea para la sintaxis.

Múltiples regiones de destino pueden ser alimentadas en conjunto por una misma fuente de origen:

[Region de Origen] => [Region de Destino 1]; [Region de Destino 2];

El formato anterior es útil cuando nuestros requisitos de "mapeo", del origen al destino, son simples.  Los Alimentadores Inter-cubo, y aquellos que necesitan ser evaluados cuando se compila (o al "run-time"), tendrán que ser formado utilizando la referencia completa de la zona de destino:

[Region de Origen] => DB( Region de Destino, Target Dim Ref 1, …, Target Dim                           Ref N);

La función "DB inter-cubo" de forma de referencia es intercambiable con referencias internas en un cubo, donde los requisitos de alimentación son simples (es decir, ninguna asignación variable), y puede ser usada de la misma manera cuando se alimenta a varios objetivos.

Reglas Vs Feeders.

A continuación, vamos a tener una breve discusión sobre cómo los Feeders en TM1 difieren de sus reglas en "contraparte".

Mientras los cálculos o reglas de TM1 utilizan "modificadores" para indicar el nivel al que un cálculo se ha aplicado, por ejemplo, "N" para los cálculos de nivel de base y "C:" para los miembros consolidados, los Alimentadores o Feeders se aplican siempre en el nivel de hoja, y del mismo modo, alimentan a un conjunto de puntos de datos de destino que son también en el nivel de hoja. 

Las Reglas en TM1 tienen la flexibilidad de realizar evaluaciones utilizando constantes, funciones y / o fórmulas que hacen referencia a otros puntos de datos. Los Alimentadores, por otro lado, deben siempre apuntar a las celdas hoja. Sin embargo, al igual que las reglas de TM1, los alimentadores también se pueden configurar para evaluar condicionalmente. 

Como nota final, mientras que las reglas TM1 puede resultar en relativamente inofensivas "Referencia circular" si no está correctamente configurado, una referencia circular en un Feeder colgará el servidor, lo cual bloqueará el servidor hasta que se elimine el archivo de Reglas.

… Happy Feeding!



miércoles, 28 de octubre de 2015

Publicación de Paquetes en Framework Manager


Por Gabriela Molina

Paso 1: Abrir el programa “Framework Manager” y dar Click en la opción “Crear un nuevo Proyecto”

  

Paso 2: Se coloca el nombre al cual se le va a dar al proyecto y la ruta en el cual va a ser guardado

          

Paso 3: Elegimos el idioma en cual deseamos trabajar

                                             
Paso 4: Se seleciona el origen de la Data que queremos publicar, en este caso vamos a utilizer un cubo de Tm1.
                                
                

Paso 5: Se prueba la conexion realizada en los pasos anteriores

                                    
Paso 6: Se importa el/ los cubos que queremos incluir en la paquete
                                    
                                                                
Paso 7: seleccionamos el/ los cubos que deseamos publicar


Paso 8: Finalmente publicamos el paquete
                     

Listo, paquete publicado!!!