Consideraciones de rendimiento y optimización

  • Use plantillas en las reglas de negocio para evitar la repetición de secciones de código y sacar el máximo partido de las RTP.
  • Revise las dependencias en miembros de cálculo dinámico en cada cálculo. Si es posible, cambie el cálculo para evitar la inclusión del uso repetido del cálculo dinámico o la eliminación del cálculo dinámico.
  • Use las sentencias FIX e IF para centrar su cálculo para garantizar que solo se calculen los datos necesarios.
  • Evite crear un resultado de datos cero 0 (cero), a menos que desee ver un cero; por ejemplo, para niveles de inventario. De esta forma se creará un bloque, que se incluye en todas las sentencias FIX e IF y que se calcula. Elimine los ceros en una carga de datos, si es posible, o evite la creación de ceros en las reglas de negocio.
  • Intente evitar la lógica booleana en la sentencia IF usada para comprobar si existe una condición. Por ejemplo, reemplace
    IF (("Budget" ==#missing) OR ("Budget" ==0))
    por lo siguiente, lo que produce el mismo resultado, pero evita el uso de la lógica booleana:
    IF ("Budget" +1==1) or IF (Budget/Budget ==#missing)
  • Siempre que sea posible, realice cálculos densos antes de realizar cálculos ligeros. Los cálculos densos no crean bloques, mientras que los cálculos ligeros sí. Al realizar agregaciones, por ejemplo, para obtener un total de un cálculo de asignación, asegúrese de que solo agrega la sección de los datos necesarios para ese cálculo de asignación.
  • Minimice las pasadas en una base de datos.
  • Evite las fórmulas recursivas. La recursión excesiva puede crear problemas de rendimiento y puede exigirle que borre los valores para crear resultados coherentes.
  • Para obtener mejores prácticas para reemplazar bloques cero y eliminar los bloque #missing en cubos de BSO y reducir el tamaño de la base de datos, consulte Optimización de cubos de BSO.