Visão geral de regras avançadas com base no comando IBP_DB()
Uma regra avançada também pode ser definida usando o comando IBP_DB(). É preciso definir primeiro a regra de cálculo avançada; consulte Definir uma regra avançada.
Esta é a sintaxe da função Infor BI OLAP DB():
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 as dimensões de DB(), incluindo dimensões adicionais para atributos dinâmicos, devem ser especificadas na ordem correta. Atributos dinâmicos podem ser específicos do Ciclo-Módulo, mas devem ser predefinidos nos comandos DB().
- IBP_DB() é um comando interno utilizado para regras de cálculo avançadas e é um método rápido para definir a função OLAP DB().
- Ao criar regras de cálculo no OLAP (o período de ciclo é iniciado usando as opções Iniciar ou Retomar com atualização), quaisquer regras em que a Regra avançada contenha um comando IBP_DB() serão convertidas em uma função DB() correspondente na regra para o cubo OLAP. Essa conversão ocorre antes da substituição de variável.
Regras de conversão:
- A convenção de nomenclatura para os parâmetros, por exemplo, <parameter name>="<parameter value>":
- Aspas duplas serão necessárias se o valor do parâmetro contiver "," ou ")". Caso contrário, elas poderão ser omitidas.
- Todo o texto (cortado) entre "=" e o próximo "," precedente é considerado o valor do parâmetro.
- Quando são usadas aspas, todas as aspas "internas" devem ser ignoradas usando "\", por exemplo, \"value\".
- É necessário especificar somente os elementos de dimensão diferentes do alvo do cálculo:
- Parâmetros baseados somente nas variáveis de dimensão, como %cube e !%items, que leem a mesma dimensão e os mesmos elementos do cubo de origem, não precisam ser especificados.
- Qualquer dimensão ausente é substituída pelo nome da dimensão de cubo adequado na função OLAP DB().
- IBP_DB ajusta-se dinamicamente às dimensões no período de ciclo (ou seja, a adição de quaisquer dimensões dinâmicas relevantes). Dimensões dinâmicas que possam estar faltando no comando IBP_DB serão substituídas pelas dimensões de cubo adequadas na função OLAP DB().
- As dimensões são abreviadas para uma única letra para representar o parâmetro para a dimensão correspondente:
- i = para dimensão do item
- l = para local
- s = para cenário
- p = para período
- m = para medida
- ia1 = para atributo do item 1 (ia2, etc.)
- la1 = para atributo do local 1 (la2, etc.)
Exemplos (se dois atributos de item forem utilizados para a regra avançada):
A. Defina o cenário atual como o cenário publicado anteriormente no período de ciclo anterior (um antes) para esse ciclo e para todas as outras dimensões:
IBP_DB(cube="%previouscube(1)", s=%previouspublishedscenario)
é convertido em:
DB(%previouscube(1), !%items, !%locations, !%periods, %previouspublishedscenario, !%measures, !%itemsA1, !%itemsA2)
B. Defina o período atual como o valor do período anterior (um antes) para a mesma medida e as mesmas dimensões:
IBP_DB(p="GETATTR(%periods,!%periods,1,'PreviousPeriod')")
é convertido em:
DB(%cube, !%items, !%locations, GETATTR(%periods,!%periods,1,'PreviousPeriod'), !%scenarios, !%measures, !%itemsA1, !%itemsA2)
C. Defina o período atual como o valor do primeiro período filho para a mesma medida e as mesmas dimensões:
IBP_DB(p="DE.CHILDNAME(%periods, !%periods,1)")
é convertido em:
DB(%cube, !%items, !%locations, DE.CHILDNAME(%periods, !%periods,1) ,!%scenarios, !%measures, !%itemsA1, !%itemsA2)