Eliminación de valores cero innecesarios

Objective

After completing this lesson, you will be able to optimice el modelo de planificación eliminando los valores cero innecesarios.

Ceros en modelos de planificación

Los ceros se pueden almacenar realmente y son diferentes de los valores NULL. Aunque ocasionalmente son útiles, los valores cero innecesarios pueden inflar las versiones del modelo de datos y obstaculizar la eficiencia. Al eliminar estos valores cero, se reduce el tamaño general del modelo de planificación, lo que facilita la gestión y hace que sea eficiente en términos de recursos de almacenamiento y procesamiento.

Ceros innecesarios

Comencemos con tres escenarios comunes en los que puede encontrar ceros innecesarios en su modelo de planificación y recomendaciones para eliminarlos.

  1. Cuando hay un gran número de medidas escasamente reservadas.

    Recomendación: Considere rediseñar el modelo y almacenar valores en indicadores más genéricos o reservar en miembros de dimensión adicionales.

  2. Donde hay fórmulas avanzadas para las que debe restablecer algunos valores a cero antes de que tenga lugar el nuevo cálculo.

    Recomendación: Considere asignar un valor NULO a la región de datos que desea borrar y no asignarle ceros.

  3. Donde las acciones de datos han causado involuntariamente versiones demasiado grandes añadiendo valores cero innecesarios a datos ineficientes. La poda de estos valores cero puede ayudar a optimizar el modelo y mejorar el rendimiento.

    Recomendación: Propagar los valores cero superfluos.

Borrar ceros de la base de datos de planificación

De vez en cuando, puede eliminar ceros de la base de datos de planificación utilizando funciones de sistema nativas en el modelador para eliminar hechos. En esta lección, le mostraremos cómo hacerlo utilizando una acción de datos para los siguientes escenarios:

  1. Eliminar registros de valor cero de una versión pública.
  2. Borrar valores de una cuenta específica.
  3. Borrar registros de valor cero de una cuenta para un período de tiempo específico.

En esta historia, tiene una versión que tiene muchos valores cero en cuentas finales y miembros de dimensión de tiempo.

Historia con dos cuentas con muchos ceros en las celdas.

Escenario 1: Desea eliminar registros de valor cero de una versión pública, por lo que crea una acción de datos con un paso de fórmulas avanzadas. Incluye el siguiente código:

El paso de fórmulas avanzadas en la acción de datos que muestra el código que se encuentra debajo de la captura de pantalla.
Code Snippet
123
IF RESULTLOOKUP() = 0 THEN // Condition to check data is valid or not DELETE() // once deleted cannot revert back if version is published ENDIF

Resultado: al ejecutar la acción de datos, puede ver que se han quitado todos los ceros.

Eliminación de todos los valores cero que ejecutan la acción de datos.

Escenario 2: Desea eliminar registros de valor cero de una cuenta específica, por lo que crea una acción de datos con un paso de fórmulas avanzadas para eliminar valores cero para la cuenta 10. Incluye el siguiente código:

El paso avanzado de la acción de datos que muestra el código que se encuentra debajo de la captura de pantalla.
Code Snippet
12345
MEMBERSET[d/Account]="10" // Define scope, if required IF RESULTLOOKUP() = 0 THEN // Condition to check data is valid or not DELETE() // once deleted cannot revert back if version is published ENDIF

Resultado: al ejecutar la acción de datos, puede ver que los ceros solo se quitan para la cuenta 10.

Borrado de valores cero para la cuenta 10 ejecutando la acción de datos.

Escenario 3: Desea eliminar registros de valor cero de una cuenta para un período de tiempo específico, por lo que crea una acción de datos con un paso de fórmulas avanzadas para eliminar valores cero para la cuenta 10 para abril, mayo y junio de 2026. Incluye el siguiente código:

El paso de fórmulas avanzadas en la acción de datos que muestra el código que se encuentra debajo de la captura de pantalla.
Code Snippet
123456
MEMBERSET[d/Account]="10" // Define scope, if required MEMBERSET [d/Date] = ("202604", "202605", "202606") IF RESULTLOOKUP() = 0 THEN // Condition to check data is valid or not DELETE() // once deleted cannot revert back if version is published ENDIF

Resultado: al ejecutar la acción de datos, puede ver que los ceros solo se quitan para la cuenta 10 de abril, mayo y junio de 2026.

Eliminación de valores cero para Cuenta = 10 y Fecha en 2026, segundo trimestre (abril, mayo, junio) que ejecuta la acción de datos

Nota

Las acciones de datos utilizadas en esta lección solo afectan a los hechos base y no a las agregaciones que suman 0.