Forum Discussion
Jensej
Helper V
6 years agoCASO anidado de SQL en DAX
Hola
¿Puede alguien por favor ayudar a escribir este código en DAX. He estado intentándolo durante años con el interruptor funktion pero no puedo conseguir 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
Será 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 ) )También podría hacerlo con un IF
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) )
4 Replies
- amitchandak
Super User
@Jensej ,
Switch ( True() ,
condición //u otro interruptor,
condición //u otro interruptor,
otra condición
)
- Jensej
Helper V
¿Así?
Switch ( True() , B > C, Switch ( True(), B > A, B+5, A+5) , Switch ( True() C > A, C+5, A+5)
- jdbuchanan71
Super User
Será 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
Super User
También podría hacerlo con un IF
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) )