si entonces mas

Un usuario Pregunto ✅

B_Real

La mayoría de los lenguajes tienen una estructura que permite que se cumplan múltiples condiciones en una declaración IF, como esta:

IF condition1 THEN result1 Else If condition2 THEN result2 ELSE result3.

Excepto DAX. Al usar DAX, debe anidar sus declaraciones IF en su lugar, así:

=IF(condition1,result1,IF(condition2,result2,result3))

Esto se vuelve realmente complicado cuando la cantidad de condiciones que debe cumplir aumenta a 5, 10, 20 o más.

¿Alguien puede explicar por qué DAX no puede funcionar ‘si entonces’ y si es probable que se expanda en un futuro cercano para poder hacerlo? ¿O hay otros consejos y trucos para ver aquí para que sea más fácil?

Baskar

Enfriar mi querido amigo.

Podemos hacer cualquier cosa en DAX genial.

Prueba esto,

Medida =

Cambiar (Verdadero (),

condición1, «Resultado1»,

condición1, «Resultado1»,

etc …)

déjame si alguna ayuda en DAX.

Baskar

Enfriar mi querido amigo.

Podemos hacer cualquier cosa en DAX genial.

Prueba esto,

Medida =

Cambiar (Verdadero (),

condición1, «Resultado1»,

condición1, «Resultado1»,

etc …)

déjame si alguna ayuda en DAX.

rpsathish3

En respuesta a Baskar

Gracias !

Anónimo

En respuesta a Baskar

@Baskar

Estoy tratando de escribir esta declaración if en dax pero no obtengo el resultado, ¿pueden ayudarme?

Categoría de pronóstico II = IF (DSAPJ_Opportunity[Forecast Category]= «Abrir», IF ((DSAPJ_Opportunity[Forecast Category]= «Pipeline» & DSAPJ_Opportunity[Sales Stage1] IN {«01», «02», «03», «04A», «04B», «05», «06»}, «Pipeline», IF (DSAPJ_Opportunity[Forecast Category]= «Upside» & DSAPJ_Opportunity[Sales Stage1] IN {«04A», «04B», «05»}, «Upside», IF (DSAPJ_Opportunity[Forecast Category]= «Confirmar» & DSAPJ_Opportunity[Sales Stage1] IN {«04A», «04B», «05»}, «Confirmar», IF (DSAPJ_Opportunity[Forecast Category]= «Ganó» & DSAPJ_Opportunity[Sales Stage1] = «06», «Ganó», «Problemas de DQ»))))))

Anónimo

En respuesta a Baskar

Traté de usar la consulta anterior pero no me excusé.

Quería dividir la condición en tres declaraciones diferentes.

  • Tiempo medio desde la solicitud de compra[PR->DATE1] a Consulta flotando al proveedor (solicitud activa)[TENDER->DATE3] (dias)
  • Tiempo medio desde {la consulta flotante hasta el proveedor}[TENDER->DATE3] a {Aprobación comercial realizada [TENDER->DATE10] (dias)}
  • Tiempo promedio desde que se realizó la aprobación comercial[TENDER->DATE10] al problema de la orden de compra [PO->DATE4](dias).

Ramakrishna

En respuesta a Baskar

Hola Bhaskar,

¿Me pueden ayudar con esta consulta sobre cómo lograr con DAX?

SI [repair information ] = «Repetir reparación»

LUEGO

SI COUNTD ([VIN]) / TOTAL (CONTARD ([VIN]))> 0,1
ENTONCES ronda (COUNTD ([VIN]) / TOTAL (CONTARD ([VIN])), 4) FIN

DEMÁS

SI COUNTD ([Strata Claim Id]) / TOTAL (CONTARD ([Strata Claim Id]))> 0,1
ENTONCES ronda (COUNTD ([Strata Claim Id]) / TOTAL (CONTARD ([Strata Claim Id])), 4) FIN

FIN

se agradecería cualquier respuesta rápida.

Saludos,

RAM.

B_Real

En respuesta a Baskar

Measure =
Switch ( True(),
 condition1,"Result1"  ,
    condition1,"Result1"  ,
etc...                     ) 

¡Yaas! ¡Gran saludo en Switch ()! Aunque no creo que necesite la función True () aquí, la función Switch () parece encargarse de todo:

SWITCH(<expression>, <value>, <result>[, <value>, <result>]…[, <else>])  

También aplaude por señalar la diferencia entre DAX y M. Aquí hay un enlace que describe la diferencia con más detalle:

http: //stackoverflow.com/documentation/powerbi/6980/power-query-m-and-dax-whats-the-difference#t=201 …

Esencialmente:

Primero usa M para consultar fuentes de datos, limpiar y cargar datos. Luego, usa DAX para analizar y visualizar los datos en Power BI.

MarcelBeug

En respuesta a B_Real

Entonces, como regla general: Smiley jajaja

si extrae entonces M si transforma entonces (si no es agregado, entonces M más DAX) más DAX

B_Real

Actualizar.

‘Si entonces más’ es posible en Power BI, pero no usando DAX a mano alzada. Solo parece estar disponible usando menús, así:

Ir a Editar consultas

Ifthenelse.JPG

Luego agregue columna -> columna condicional

Ifthenelse1.JPG

Et voila …. sus declaraciones if then else están disponibles …

Ifthenelse2.JPG

Todavía no estoy seguro de por qué no puede simplemente escribir estos a mano alzada en el editor DAX para ahorrarle todo el trabajo del menú.

MarcelBeug

En respuesta a B_Real

@B_Real al editar consultas, no está en el entorno DAX, sino en M (también conocido como Power Query).

Estos son completamente diferentes: Power Query tiene como objetivo obtener y transformar datos en tablas, mientras que DAX se centra principalmente en agregar datos en medidas.

Sin embargo, algunas tareas se pueden realizar en ambos entornos y ambos entornos residen en Power BI.

Deja un comentario

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