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

 

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

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

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

 

Sergio Carrillo

Sergio is a former SolidQ team member.