Estrategia manual para resolver los problemas de rendimiento

Compruebe las deficiencias de diseño de las reglas

Para garantizar unos resultados correctos y un rendimiento óptimo, como mejor práctica, especifique siempre las dimensiones y los miembros en los que se vayan a ejecutar los cálculos.

Para un rendimiento de reglas de consolidación óptimo es necesario restringir el ámbito del cálculo a las dimensiones y miembros necesarios. Al no agregar las dimensiones y los miembros necesarios a un cálculo se fuerza a la regla a ejecutarse en todas las combinaciones de miembros posibles. Por ejemplo, en la siguiente regla de ejemplo se necesita que los cálculos solo se ejecuten en el miembro de dimensión personalizado No Department. Al agregar el miembro de dimensión al origen se produce una ejecución más rápida al hacer que la regla solo se ejecute en No Department.
Ilustración del conjunto de reglas de ejemplo

Comprobación de varios miembros almacenados en el origen de la regla (dimensión Account)

La degradación del rendimiento se puede producir cuando muchas cuentas almacenadas de nivel 0 en un origen de regla de consolidación se redirigen a una sola cuenta de destino. En esos escenarios, Oracle recomienda que cree un miembro de cuenta de marcador de posición con almacenamiento de datos almacenado y que escriba una regla de inserción en FCCS_110 (aplicaciones de una sola moneda) o FCCS_30 (aplicaciones de varias monedas) para redirigir el importe hijo a él. A continuación, puede usar la cuenta de marcador de posición del origen de las reglas de consolidación en lugar del padre dinámico para garantizar una ejecución rápida de la regla.

Caso de uso: Solución de problemas de rendimiento tras el despliegue de reglas de consolidación configurables

En este ejemplo se asume que existen 100 cuentas de pérdidas y ganancias (de la Acc_001 a la Acc_100) bajo el padre dinámico Retained Earnings Current, que es una de las muchas cuentas de pérdidas y ganancias de una aplicación. Consulte el siguiente gráfico.
Padre dinámico de ejemplo con muchos miembros almacenados

Las reglas que usan Retained Earnings Current como origen de forma indirecta o indirecta mediante referencias se ilustran en el siguiente gráfico.
Regla de ejemplo que usa una referencia directa


Regla de ejemplo que usa referencias indirectas
En la referencia indirecta anterior, todos los hijos de nivel 0 de Retained Earnings Current son indirectamente una parte del origen porque aparecen bajo Total Equity.

Los siguientes ejemplos se realizan al cambiar la definición de regla y agregar un script de redireccionamiento para que la regla se ejecute más rápidamente:

  1. Cree una cuenta de marcador de posición.

    Cree una cuenta de memorando denominada Retained Earning_Memo en FCCS_BalanceSheet. Establezca el operador de consolidación en ignorar (~) y el almacenamiento de datos en Almacén. El resto de propiedades serán idénticas a las del padre dinámico. Como se muestra en la ilustración siguiente, la cuenta de marcador de posición Retained Earning_Memo incluirá valor para Retained Earnings Current.
    Cuenta de memorando de ejemplo

  2. Refresque el cubo.
  3. En FCCS_30, copie los valores de ingresos de origen en Retained Earning_Memo. Puede usar los siguientes scripts de ejemplo para copiar los valores hijo en Retained Earning_Memo. Asegúrese de modificar el script según sea necesario para que se ajuste a sus necesidades. Consulte Mejores prácticas de cálculos configurables en Administración de Financial Consolidation and Close para obtener información sobre las mejores prácticas para el rendimiento de los cálculos configurables.
    SET HYBRIDBSOINCALCSCRIPT NONE;// Use with Hybrid environments only.
    FIX("FCCS_Entity Input", "Parent Currency", "Opening Balance", @RELATIVE("FCCS_Total Data Source", 0), @RELATIVE("FCCS_Intercompany Top", 0))
            "Retained Earning_Memo" (
               @CALCMODE(BOTTOMUP);
               @SUM(@RELATIVE("FCCS_Retained Earnings Current", 0) AND @LIST(@UDA("Account", "REVENUE") OR @UDA("Account", "LIABILITY") OR @UDA("Account", "EQUITY") OR @UDA("Account", "SAVED ASSUMPTION"))) - @SUM(@RELATIVE("FCCS_Retained Earnings Current", 0) AND @LIST(@UDA("Account", "EXPENSE") OR @UDA("Account", "ASSET")));
            ) 
    ENDFIX
  4. Utilice Retained Earning_Memo como origen de las reglas de consolidación configurables donde se use Retained Earnings Current.
    1. Si se usa directamente ILvl0Descendants(Retained Earnings Current) en el origen: en la siguiente ilustración se muestra la regla antes de implantar las recomendaciones en este caso de uso.
      Ilustración de una regla que no use una cuenta de memorando

      En la siguiente ilustración se muestra la regla después de implantar las recomendaciones en este caso de uso.
      Ilustración de una regla que usa una cuenta de memorando

    2. Si se usa indirectamente ILvl0Descendants(Retained Earnings Current): en la siguiente ilustración se muestra la regla antes de implantar las recomendaciones en este caso de uso.
      Ilustración de una regla que no use una cuenta de memorando

      En la siguiente ilustración se muestra la regla después de implantar las recomendaciones en este caso de uso.
      Ilustración de una regla que no use una cuenta de memorando