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.
- 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.
- 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.
- 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:
- Eliminar registros de valor cero de una versión pública.
- Borrar valores de una cuenta específica.
- 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.

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:

123IF RESULTLOOKUP() = 0 THEN // Condition to check data is valid or not
DELETE() // once deleted cannot revert back if version is published
ENDIFResultado: al ejecutar la acción de datos, puede ver que se han quitado todos los ceros.

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:

12345MEMBERSET[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
ENDIFResultado: al ejecutar la acción de datos, puede ver que los ceros solo se quitan para la cuenta 10.

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:

123456MEMBERSET[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
ENDIFResultado: 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.

Nota