Table of Contents

Acción de código DI007 (Mejora) Simplificar la instrucción SWITCH

Descripción

Una instrucción SWITCH que especifica TRUE() para el argumento <Expression>, y en la que todos los argumentos <Value> son comparaciones simples de la misma variable/medida, puede simplificarse.

Ejemplo

Cambiar:

SWITCH(
	TRUE(),
	[Selected Currency] = "EUR", [Total Sales EUR],
	[Selected Currency] = "USD", [Total Sales USD],
	[Selected Currency] = "DKK", [Total Sales DKK],
	[Total Sales]
)

A:

SWITCH(
	[Selected Currency],
	"EUR", [Total Sales EUR],
	"USD", [Total Sales USD],
	"DKK", [Total Sales DKK],
	[Total Sales]
)

¿Por qué Tabular Editor sugiere esto?

Un patrón DAX común para especificar una expresión condicional con más de 2 condiciones es usar la instrucción SWITCH con TRUE() como primer argumento. Con esta técnica, se pueden proporcionar pares condición-expresión para los argumentos restantes de SWITCH. La primera condición que se evalúe como TRUE determinará el resultado de la instrucción SWITCH.

Sin embargo, cuando todas las condiciones son simples comparaciones de igualdad con el mismo valor ([Selected Currency] en el ejemplo anterior), la instrucción SWITCH debería simplificarse a su forma prevista: el primer argumento es la expresión que se va a evaluar, y los argumentos restantes son pares de valores y resultados. El primer valor que coincida con la expresión determinará el resultado de la instrucción SWITCH.