Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Icon for Administrator rankAdministrator
4 years ago
Solved

DAX IF a M IF

Hola

Bastante nuevo en PBI y podría usar algo de ayuda para convertir mi instrucción DAX IF a M.

¿Por qué M? porque quiero que esta instrucción IF se realice cada vez que cargue los datos.

Pude escribir la instrucción IF deseada en DAX, pero no estoy familiarizado con la sintaxis M....

Aquí está la instrucción DAX IF que me gustaría preformar en el editor de consultas:

Especialmente la declaración marcada en negrita que encuentro difícil de transformar a M.

Soort = IF([Cuenta] = 1170811 || [Cuenta] = 1170812 , "IVA",
IF([Cuenta] = 1170820, "RC",
IF([DocumentNo]=7400172849 && [Importe en doc. curr.] =-10022208.20 && [Asignación]="CO2", "RC",
IF([DocumentNo]=7435013206 && [Importe en doc. curr.] =-1236447 && [Asignación]="CO2", "RC",
IF([DocumentNo]=7435013376 && [Importe en doc. curr.] =-10397538.91&&[Asignación]="CO2","RC",
IF(AND([Cuenta]=1170810, [Asignación]="INTERÉS" || [Asignación]="INTERÉS RC"|| [Asignación]="INTERÉS 2020"|| [Asignación]="INTEREST RC USD"), "RC",
IF(AND([Cuenta]=1170810, [Asignación]="SWEEP"), "RC",
IF(AND([Cuenta]=1170810, [Asignación]="FINANCIACIÓN OCI"), "RC",
IF(AND([Cuenta]=1170810, [Asignación]="PRÉSTAMO"),"RC",
IF(AND([Cuenta]=1170810, [Asignación]="CO2"), "CO2",
IF(AND([Cuenta]=1170810, [Asignación]="COBERTURA DE GAS"),"GAS",
IF([Cuenta]=1170810 && [Asignación]= "CO2 RC" && [Importe en doc. curr.] =22634006,04,"RC"

))))))))))))

¿Quién puede explicar los conceptos básicos de la sintaxis del lenguaje M en relación con las instrucciones IF?

La solución también es más que bienvenida porque puedo ver cómo funciona DAX to M. 🙂

Gracias

Erwin

  • Hola @erwinvandam ,

    la sintaxis es así:

    if  [column] <> null or [column] = "myValue"  then "Result" else "Other result"

    Para su caso esto debería hacerlo:

    if [Account]=1170810 and ([Assignment]="INTEREST" or [Assignment]="INTEREST RC" or [Assignment]="INTEREST 2020" or [Assignment]="INTEREST RC USD") then "RC" else null

    Si das algunos datos de muestra también puedo enviarte una propuesta.

    Si necesita ayuda, por favor hágamelo saber.
    Si respondiera a su pregunta, estaría encantado de que pudiera marcar mi publicación como una solución ✔️ y darle un pulgar hacia arriba 👍
    Saludos
    Denis

3 Replies

  • Hola @erwinvandam ,

    la sintaxis es así:

    if  [column] <> null or [column] = "myValue"  then "Result" else "Other result"

    Para su caso esto debería hacerlo:

    if [Account]=1170810 and ([Assignment]="INTEREST" or [Assignment]="INTEREST RC" or [Assignment]="INTEREST 2020" or [Assignment]="INTEREST RC USD") then "RC" else null

    Si das algunos datos de muestra también puedo enviarte una propuesta.

    Si necesita ayuda, por favor hágamelo saber.
    Si respondiera a su pregunta, estaría encantado de que pudiera marcar mi publicación como una solución ✔️ y darle un pulgar hacia arriba 👍
    Saludos
    Denis