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
.
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.
Las reglas que usan Retained Earnings Current
como origen de forma indirecta o indirecta mediante referencias se ilustran en el siguiente gráfico.
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:
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.
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
En la siguiente ilustración se muestra la regla después de implantar las recomendaciones en este caso de uso.
En la siguiente ilustración se muestra la regla después de implantar las recomendaciones en este caso de uso.