Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hola,
Me he encontrado unas expresiones en un CdM y tengo la duda respecto a qué expresión es más óptima de estas dos:
Sum(if (PAIS = CANADA and CITY = TORONTO, 0, Ventas ))
O esta otra:
if (PAIS = CANADA and CITY = TORONTO, 0, Sum(Ventas))
Entiendo que las dos expresiones hacen lo mismo pero ¿qué os parece más óptimo?
Saludos.
Hola, la segunda se supone que debería dar mejor rendimiento, pero puede que solo funcione en objetos donde PAIS y CITY sean dimensiones. Por ejemplo en un KPI sin dimensiones la segunda no funcionaría (dependiendo de selecciones y modelo de datos) pero la primera sí debería funcionar.
En cualquier caso, dependiendo del volumen de datos y la complejidad del modelo, puede que estemos hablando solo de microsegundos de diferencia.
Gracias Rubén,
Aunque sea pequeña la diferencia en rendimiento, si la primera expresión la usamos como medida en una tabla pivotante de millones de registros en un modelo de datos complejo (incluso con tablas sintéticas) entonces sí podría notarse más su rendimiento no crees?
Saludos.
Sí, por eso decía que dependía del volumen de datos y la complejidad del modelo.
Pero en una tala pivotante lo más posible es que la segunda te la calcule solo si PAIS y CITY están desplegadas, si las contraen puede que falle la expresión, y eso te obligaría a usar la segunda.
Igual podrías probar con =Sum({$-<PAIS={CANADA}, CITY={TORONTO}>} Ventas), que en teoría debería ser más eficiente que cualquiera de las 2 anteriores y funcionaría en pivotate contraída y expandida, y en el resto de objetos.