Se requiere una expresión para los objetos calculados
Resumen
Esta regla de mejores prácticas identifica medidas, columnas calculadas y elementos de cálculo que no tienen una expresión DAX. Todos los objetos calculados deben tener una expresión válida y no vacía para funcionar correctamente y evitar errores durante la implementación del modelo y la ejecución de consultas.
Categoría: Prevención de errores
Gravedad: Alta (3)
Se aplica a
- Medidas
- Columnas calculadas
- Elementos de cálculo
Por qué es importante
Los objetos calculados sin una expresión provocarán fallos críticos:
- Errores de validación del modelo: el modelo no superará la validación al guardarse o implementarse
- Errores en las consultas: los intentos de usar el objeto en consultas generarán errores
- Dependencias rotas: otras medidas o cálculos que hagan referencia al objeto fallarán
- Bloqueos de implementación: Power BI Service y Analysis Services rechazarán los modelos con expresiones vacías
- Comportamiento inesperado: el objeto puede aparecer en las listas de campos, pero no devolver resultados
Las expresiones vacías suelen deberse a una creación incompleta del objeto, operaciones de copiar y pegar o errores en la generación programática del modelo.
Cuándo se activa esta regla
La regla se activa cuando cualquiera de los siguientes objetos tenga una expresión vacía o compuesta solo por espacios en blanco:
string.IsNullOrWhiteSpace(Expression)
Esto se aplica a:
- Medidas: deben contener una agregación o un cálculo DAX
- Columnas calculadas: deben contener una expresión DAX con contexto de fila
- Elementos de cálculo: deben contener una expresión DAX que modifique la medida base
Cómo corregirlo
Corrección manual
- En el Explorador TOM, localiza la medida, la columna calculada o el elemento de cálculo
- Haz doble clic para abrir el Editor de DAX
- Introduce una expresión DAX válida
- Valida la sintaxis y guarda los cambios
Causas comunes
Causa 1: Creación incompleta
El objeto se creó con la intención de definirlo más adelante, pero se olvidó hacerlo.
Causa 2: Creación basada en plantillas
Los scripts o las plantillas crearon objetos sin expresiones.
Causa 3: Error en la operación de copia
Copiaste un objeto, pero la expresión no se transfirió.
Ejemplo
Antes de la corrección
Medida: [Total Revenue]
Expresión: [empty]
FormatString: $#.0,00
Error al consultar: "La expresión de la medida '[Total Revenue]' no es válida."
Después de la corrección
Medida: [Total Revenue]
Expresión: SUM('Sales'[Revenue])
FormatString: $#.0,00
Resultado: La medida funciona correctamente y devuelve los ingresos agregados.
Nivel de compatibilidad
Esta regla se aplica a los modelos con un nivel de compatibilidad 1200 o superior.