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
Leer más

Técnicas de apoyo a la indexación tradicional. SQL Server

Ante problemas de búsqueda o de cruce de datos menos habituales necesitamos pensar en soluciones alternativas. En un mundo ideal el motor de SQL Server tendría una mayor cantidad de estrategias y recursos para optimizar este tipo de situaciones. No te pierdas este post sobre técnicas de apoyo a la indexación tradicional.

Nuevas funciones para el lenguaje de expresiones de SSIS en SQL 2012

El lenguaje de expresiones de Integration Services podemos utilizarlo en columnas derivadas, expresiones en propiedades de componentes, tareas, administradores de conexión, variables, en la nueva Expression Task, etc…  Tiene su propia sintaxis, operadores, conjuntos de funciones, etc.. (se observan similitudes con las expresiones de C++). En la versión de SQL 2012 se han agregado tres nuevas funciones que se engloban en el conjunto de funciones para el tratamiento de cadenas: Left, Token y TokenCount.