CASO anidado de SQL en DAX

Un usuario Pregunto ✅

Jensej

Hola

¿Alguien puede ayudarme a escribir este código en DAX? He estado intentando durante años con la función de cambio, pero no puedo hacer que funcione.

DECLARE @A INT
DECLARE @B INT
DECLARE @C INT
SET @A = 10
SET @B = 20
SET @C = 30


SELECT 
CASE 
WHEN @B > @C
	THEN 
		CASE 
		WHEN @B > @A 
		THEN @B+5 
		ELSE @A+5 
	END 
ELSE 
	CASE 
	WHEN @C > @A 
	THEN @C+5 
	ELSE @A+5 
	END 
END

jdbuchanan71

@Jensej

Estará en esta línea.

Measure = 
VAR _A = 10
VAR _B = 20
VAR _C = 30
RETURN
SWITCH (
    TRUE(),
    _B > _C,
    SWITCH(
        TRUE(),
        _B > _A, _B + 5,
        _A + 5
    ),
    SWITCH(
        TRUE(),
        _C > _A, _C + 5,
        _A + 5
    )
)

jdbuchanan71

En respuesta a jdbuchanan71

También puedes hacerlo con un SI

Measure2 = 
VAR _A = 10
VAR _B = 20
VAR _C = 30
RETURN
IF ( _B > _C,
    IF(_B > _A, _B + 5, _A + 5),
    IF(_C > _A, _C + 5, _A + 5)
)

jdbuchanan71

@Jensej

Estará en esta línea.

Measure = 
VAR _A = 10
VAR _B = 20
VAR _C = 30
RETURN
SWITCH (
    TRUE(),
    _B > _C,
    SWITCH(
        TRUE(),
        _B > _A, _B + 5,
        _A + 5
    ),
    SWITCH(
        TRUE(),
        _C > _A, _C + 5,
        _A + 5
    )
)

jdbuchanan71

En respuesta a jdbuchanan71

También puedes hacerlo con un SI

Measure2 = 
VAR _A = 10
VAR _B = 20
VAR _C = 30
RETURN
IF ( _B > _C,
    IF(_B > _A, _B + 5, _A + 5),
    IF(_C > _A, _C + 5, _A + 5)
)

Amitchandak

@Jensej,

Cambiar (Verdadero (),

// condición // u otro Switch,

// condición // u otro Switch,

// otra condición

)

referir

https://powerpivotpro.com/2015/03/the-diabolical-genius-of-switch-true/

Jensej

En respuesta a Amitchandak

¿Como esto?

Cambiar (Verdadero (), B> C, Cambiar (Verdadero (), B> A, B + 5, A + 5), Cambiar (Verdadero () C> A, C + 5, A + 5)

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *