En anteriores versiones de PowerPivot, cuando teniamos una condición compleja, debiamos de anidar diferentes IF, de manera que cuando teniamos más de dos o tres condiciones, se hacia bastante tedioso escribir la expresión, cayendo facilmente en el error. En PowerPivot 2.0 tenemos la función Switch, que se comporta como en el resto de lenguajes de programación. Veamos la sintaxis

Novedades de PowerPivot en Denali (VIII): SWITCH

 

SWITCH

– Expresión: Expresión a evaluar

– Value1..ValueN: Valor que toma la expresión

– Result1..ResultN: Si la expresión toma el valor Value1 se devuelve Result1… y así sucesivamente

Pongamos el siguiente ejemplo

Novedades de PowerPivot en Denali (VIII): SWITCH

Imaginemos que dependiendo de la categoría, tenemos un cierto incremento en el precio base. Siendo:

Bebidas: 1,5

Panaderia: 2

Frutas: 3

Verduras: 4

De manera que nosotros, para calcular el precio final podríamos hacerlo con IFs anidados. La expresión quedaría (separada para verlo mejor)

=IF([Categoria]=”Bebidas”,

[Precio Base]*1.5,

IF([Categoria]=”Panaderia”,

[Precio Base]*2,

IF([Categoria]=”Frutas”,

[Precio Base]*3,

IF([Categoria]=”Verduras”,

[Precio Base]*4

)

)

)

)

 

Como vemos tenemos que anidar los IF y se complica cada vez que tenemos que mas condiciones. Con SWITCH queda mucho más limpio

=SWITCH([Categoria],
“Bebidas”,[Precio Base]*1.5,
“Panaderia”,[Precio Base]*2,
“Frutas”,[Precio Base]*3,
“Verduras”,[Precio Base]*4)

Y los resultados

Novedades de PowerPivot en Denali (VIII): SWITCH

Espero que sirva de ayuda. Nos vemos en próximas entregas  🙂

 

0 Shares:
Deja una respuesta

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

You May Also Like

Carga de Slowly Changing Dimensions y tabla de Hechos con atributos de Tipo 2 (Parte 2 de 3)

Este es el segundo post de la serie en el que explicaremos como cargar nuestra tabla de Hechos a partir de una dimensión con atributos de Tipo 2, usando dos maneras diferentes, una de ellas será mediante un componente “Look Up” con caché parcial y la otra opción será usando un componente “Merge Join” con un “Conditional Split” para seleccionar el registro que se encuentra en el rango de fechas correcto. Para mas información sobre qué es un atributo de Tipo 2 y sobre como cargar la dimensión que usaremos en este ejemplo puedes consultar el primer post de la serie.