top of page

Categorizar datos con DAX: Función SWITCH en Power BI | Xyclos

Actualizado: hace 6 días


Uso función DAX: Switch | Power BI | Xyclos

Muchas veces necesitamos categorizar información en nuestras tablas del Modelo de datos.


Podemos usar la función IF, pero con SWITCH es mucho más fácil al evitar crear IF's anidadas.


Sintaxis de la función IF


Solo para tener presente, esta es la sintaxis de la función IF: IF(Condición, Verdadero, Falso)

Sintaxis de la función SWITCH


SWITCH(

<expresión>,

<valor1>, <resultado1>,

<valor2>, <resultado2>,

...,

[<resultado predeterminado>]

)


Explicación de los argumentos de SWITCH:


<expresión>: Algo que se va a comparar (por ejemplo, un valor, un campo, o un resultado de medida).

<valorX>: Cada posible valor que puede tomar la expresión.

<resultadoX>: Qué devolver si la expresión es igual a ese valor.

[<resultado predeterminado>] (opcional): Qué devolver si no coincide ningún valor.


Opciones de uso de SWITCH


SWITCH con una sola condición (IGUAL)


SWITCH(

    <expresión>,

    <valor1>, <resultado1>,

    <valor2>, <resultado2>,

    ...,

    [<resultado predeterminado>]

)


Cuando usas SWITCH(<expresión>, valor, resultado, ...), siempre se compara expresión = valor1, expresión = valor2, expresión = valor3, etc.


Internamente se crean estas condiciones que van a ser evaluadas por SWITCH:

expresión = valor1, resultado1

expresión = valor2, resultado2

expresión = valor3, resultado3


La primera condición que da resultado VERDADERO, es el resultado que presenta SWITCH.

Por ejemplo, tenemos una base de datos con el nombre del alumno y la nota obtenida de un examen.


Queremos clasificar la nota:

SWITCH(

    10,

    10>, "Excelente",

    9, "Muy bueno",   8, "Bueno",

    ...,

    "Malo"

)


Internamente se crean están condiciones: 10 = 10, "Excelente" o 10 = 9, "Muy bueno" o 10 = 8, "Bueno" o "Malo"


En este caso como la <expresión> es 10, y la primera condición 10 = 10 es VERDADERA, SWITCH despliega Excelente.


SWITCH con varias condiciones


SWITCH(

    TRUE(),

    <valor1>, <resultado1>,

    <valor2>, <resultado2>,

    ...,

    [<resultado predeterminado>]

)


En este caso en el argumento <expresión> ingresamos la función TRUE().


TRUE() Es un función muy sencilla: No tiene argumentos siempre devuelve el valor lógico TRUE (VERDADERO)


Se usa, sobre todo, para facilitar evaluaciones lógicas, especialmente cuando quieres que SWITCH funcione como un IF múltiple.


¿Qué hace TRUE en SWITCH?


Con TRUE() se forza o se reconfigura a SWITCH para que todas las expresiones que ha continuación se ingresan en la función, las evalué como condiciones independientes, que van a dar como resultado VERDADERO o FALSO. En este caso, podemos establecer varias condiciones (=, >, <, <>, >=, <=), no como la función SWITCH sin TRUE(), que solo tiene una condición: =


Y como resultado de la evaluación de las condiciones, solo nos va a devolver el primer resultado que sea VERDADERO.


En este caso tenemos una tabla de ventas con varios campos y uno de ellos es 'tabCumplimientoObjetivosAñoMesVend'[% Cumplimiento], que divide las ventas para objetivo de ventas para obtener el porcentaje de cumplimiento.


Entonces, desde la Vista de tabla, seleccionamos la tabla tabCumplimientoObjetivosAñoMesVend para crear una Columna calculada usando la función SWITCH, que nos va a ayudar a categorizar los resultados del % de cumplimiento de objetivos de ventas:


Análisis cumplimiento objetivos = SWITCH(

TRUE(),

'tabCumplimientoObjetivosAñoMesVend'[% Cumplimiento]<1,"No cumplió",

'tabCumplimientoObjetivosAñoMesVend'[% Cumplimiento]=1,"Cumplió",

"Excedió"

)


Vale la pena tener presente que, al usar SWITCH(TRUE()), también podemos utilizar condiciones de igualdad, de la misma forma en que lo hacemos con SWITCH en su uso directo.


Siguientes pasos para desarrollar sus habilidades en Power BI


Como puede ver, aprender DAX y explorar las opciones que nos ofrecen sus funciones es un recurso práctico y necesario para trabajar con datos de manera profesional.

Si desea llevar estos conocimientos más lejos, le invito a dominar la creación de modelos de datos, el uso de funciones de Time Intelligence, el desarrollo de medidas y columnas calculadas, la generación de tablas de resumen, y el control de KPI’s para la toma de decisiones basada en información real.


Todo esto lo abordamos de forma práctica y aplicada en nuestro curso online:






コメント


  • Whatsapp
bottom of page