Forum Discussion

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

Sintaxis de switch()

Hola, estoy leyendo una medida DAX creada por otro desarrollador y me quedo atascado con la siguiente medida.

Importe de Base_PL = SWITCH(

[Moneda seleccionada],1,

[Importe en moneda del grupo Base_PL (EUR)],2,

[Importe en moneda de la empresa Base_PL],3,

[Importe en moneda del presupuesto Base_PL (EUR)])

¿Puede alguien explicarme dónde está la condición de evaluación en la función? Hice algunas pruebas, parece que la fórmula siempre genera cantidades específicas en lugar de 1, 2,3,4. Entonces, ¿por qué la función utiliza 1,2,3,4?

  • Reporting Amount Base_PL =
    SWITCH (
        [Selected Currency],
        1, [Group Currency Amount Base_PL (EUR)],
        2, [Company Currency Amount Base_PL],
        3, [Budget Currency Amount Base_PL (EUR)]
    )
  • @Jeanxyz basado en su pregunta, aquí es donde se está comprobando la condición:

    Reporting Amount Base_PL =
    SWITCH (
        [Selected Currency],   --take the value of selected currency 
        1, [Group Currency Amount Base_PL (EUR)], --if it is 1 return this measure
        2, [Company Currency Amount Base_PL],    --if it is 2 return this measure
        3, [Budget Currency Amount Base_PL (EUR)]  -- if it is 3 return this measure
    )
    
    --if none of above condition met, means selected currency is not 1, 2, 3 it will return blank

3 Replies

  • Reporting Amount Base_PL =
    SWITCH (
        [Selected Currency],
        1, [Group Currency Amount Base_PL (EUR)],
        2, [Company Currency Amount Base_PL],
        3, [Budget Currency Amount Base_PL (EUR)]
    )
  • @Jeanxyz basado en su pregunta, aquí es donde se está comprobando la condición:

    Reporting Amount Base_PL =
    SWITCH (
        [Selected Currency],   --take the value of selected currency 
        1, [Group Currency Amount Base_PL (EUR)], --if it is 1 return this measure
        2, [Company Currency Amount Base_PL],    --if it is 2 return this measure
        3, [Budget Currency Amount Base_PL (EUR)]  -- if it is 3 return this measure
    )
    
    --if none of above condition met, means selected currency is not 1, 2, 3 it will return blank
    • Syndicate_Admin's avatar
      Syndicate_Admin
      Icon for Administrator rankAdministrator

      ¡Muchas gracias! Veo lo que quiere decir 🙂 usaré el formateador dax la próxima vez.