Descripción general de las reglas avanzadas definidas en el comando IBP_DB()
También se puede definir una regla avanzada utilizando el comando IBP_DB(). En primer lugar debe definir la regla de cálculo avanzado; consulte Definición de reglas avanzadas.
A continuación se muestra la sintaxis de la función OLAP DB() de Infor BI:
DB(Cube,Dim1Element,Dim2Element,...,DimxElement)
Cube = the name of the external Cube.
Dim1Element = an element of the first dimension of Cube, Dim2Element is an element of the 2nd dimension of Cube, etc...
- Todas las dimensiones de DB(), incluidas las dimensiones adicionales para atributos dinámicos, se deben especificar en el orden correcto. Los atributos dinámicos pueden ser específicos del módulo de ciclo, pero deben estar predefinidos en los comandos DB().
- IBP_DB() es un comando interno que se utiliza para las reglas de cálculo avanzado y es un método rápido para definir la función OLAP DB().
- Al crear reglas de cálculo en OLAP (el período de ciclo se inicia utilizando las opciones Iniciar o Reanudar con regeneración), cualquier regla en la que la regla avanzada contenga un comando IBP_DB() se convierte en una función DB() correspondiente en la regla para el cubo OLAP. Esta conversión se produce antes de la sustitución de variables.
Reglas de conversión:
- Convención de nombres para los parámetros, por ejemplo, <nombre parámetro>="<valor parámetro>":
- Se requieren comillas dobles si el valor del parámetro contiene "," o ")". De lo contrario, las comillas se pueden omitir.
- Todo el texto (recortado) entre "=" y el texto anterior a "," se considera el valor del parámetro.
- Cuando se utilizan comillas, todas las comillas "internas" se deben "escapar" utilizando "\", por ejemplo, \"valor\".
- Solo es necesario especificar elementos de dimensiones que sean diferentes del objetivo del cálculo:
- No es necesario especificar los parámetros que solo se basan en las variables de dimensión como %cube y !%items, que leen la misma dimensión y los mismos elementos del cubo de origen.
- Las dimensiones que falten se sustituirán por el nombre de la dimensión de cubo apropiada en la función OLAP DB().
- IBP_DB se ajusta dinámicamente a las dimensiones del período del ciclo (es decir, la adición de cualquier dimensión dinámica relevante). Las dimensiones dinámicas que falten en el comando IBP_DB, si es que falta alguna, se sustituirán por las dimensiones de cubo apropiadas en la función OLAP DB().
- Las dimensiones se abrevian a una sola letra para representar el parámetro de la dimensión correspondiente:
- i = dimensión de artículo
- l = ubicación
- s = escenario
- p = período
- m = medida
- ia1 = atributo de artículo 1 (ia2, etc.)
- la1 = atributo de ubicación 1 (la2, etc.)
Ejemplos (si se utilizan dos atributos de artículo para la regla avanzada):
A. Establecer el escenario actual en el escenario publicado anteriormente en el período de ciclo anterior (1 anterior) para este ciclo y para todas las demás dimensiones:
IBP_DB(cube="%previouscube(1)", s=%previouspublishedscenario)
se convierte en:
DB(%previouscube(1), !%items, !%locations, !%periods, %previouspublishedscenario, !%measures, !%itemsA1, !%itemsA2)
B. Establecer el período actual en el valor del período anterior (1 anterior), para la misma medida y las mismas dimensiones:
IBP_DB(p="GETATTR(%periods,!%periods,1,'PreviousPeriod')")
se convierte en:
DB(%cube, !%items, !%locations, GETATTR(%periods,!%periods,1,'PreviousPeriod'), !%scenarios, !%measures, !%itemsA1, !%itemsA2)
C. Establecer el período actual en el valor del primer período secundario, para la misma medida y las mismas dimensiones:
IBP_DB(p="DE.CHILDNAME(%periods, !%periods,1)")
se convierte en:
DB(%cube, !%items, !%locations, DE.CHILDNAME(%periods, !%periods,1) ,!%scenarios, !%measures, !%itemsA1, !%itemsA2)