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...
Nota: 
  • 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)

Nota: A validação do texto da regra gerado ocorre no OLAP e é relatada usando o log de auditoria com base nas outras regras avançadas.