jueves, 11 de marzo de 2021

Power Pivot: Medidas y Funciones CUBO

Como continuación del ejercicio anterior (ver aquí), concluiremos y llegaremos al mismo resultado combinando las herramientas de Power Pivot con las funciones CUBO...
Power Pivot: Medidas y Funciones CUBO

Para este ejercicio necesitamos agregar a nuestro Modelo de datos el listado de Comerciales con los que trabajar: 'TblAgencias'.
Además una vez cargado le añadiremos una sencilla Columna calculada que incorpore un valor =1
Power Pivot: Medidas y Funciones CUBO

Esto facilitará el cálculo posterior...

Y a continuación, dentro de nuestro Modelo de datos en Power Pivot, desde la vista de diagrama, crearemos la relación entre ambas tablas, usando el campo Cod comercial como nexo.
Power Pivot: Medidas y Funciones CUBO

Por último crearemos una medida nueva:
SumaVTAS:=sumx(TblDATOS;TblDATOS[Ventas]*RELATED(TblAgencias[Add_TF]))
Power Pivot: Medidas y Funciones CUBO


Listos... volvemos a nuestra hoja de cálculo para construir nuestro cuadro de reporte.
Para lo cual repetiremos los pasos vistos en el post anterior.
Para los encabezados escribimos primero en J18:
=CONJUNTOCUBO("ThisWorkbookDataModel";"[TblDATOS].[Periodo].children";"Periodos";5)
donde generamos un listado 'virtual' de elementos únicos extraidos del campo 'Periodo'.

En I19 repetimos la operación para el campo 'Tipos':
=CONJUNTOCUBO("ThisWorkbookDataModel";"[TblDATOS].[Tipo].children";"Tipos")
obteniendo un listado 'virtual/interno' de elementos únicos extraidos del campo 'Tipo'.

Con los conjuntos generados, procedemos a extraerlos con la función MIEMBRORANGOCUBO.
En J19, apoyándonos en el CONJUNTO indicado en el paso anterior (celda J18) escribimos:
=MIEMBRORANGOCUBO("ThisWorkbookDataModel";$J$18;SECUENCIA(1;12))
que retornará todos los elementos existentes (hasta 12, por ser el valor indicado con SECUENCIA) del conjunto de elementos de 'Periodo'.
De igual forma en I20 (apoyándonos en el conjunto previo de la celda I19) escribimos:
=MIEMBRORANGOCUBO("ThisWorkbookDataModel";$I$19;SECUENCIA(3))
que devolverá los elementos únicos del campo 'Tipo', cargados en el CONJUNTO descrito en la celda I8.

Nos toca definir un último conjunto, para los Clientes seleccionados...

El último conjunto en la celda I18:
=CONJUNTOCUBO("ThisWorkbookDataModel";"[TblDATOS].[Cliente].[All].["&TblGRUPO[Cliente]&"]";"Cliente")
Obteniendo el conjunto de Clientes deseado: A y B.

Con los conjuntos de criterios montados, y los miembros de los conjuntos de Tipo y Periodo desplegados, podemos recuperar valores cruzados y acumulados para todas esas condiciones... Así en J20:U22 escribimos:
=VALORCUBO("ThisWorkbookDataModel";$I20;J$19;$I$18;"[Measures].[SumaVTAS]")
Donde recuperamos el dato de nuestra medida SumaVTAS teniendo en cuenta todos los conjuntos anteriores, esto es, todos los cruces de datos anteriores y fijados en la hoja de cálculo (bien por CONJUNTOS, o bien por detalle de elementos de CONJUNTOS) en las celdas: $I20;J$19;$I$18

En este caso, la relación creada en el Modelo de datos, nos ha evitado crear un CONJUNTO en la hoja... pero como era de esperar, con igual resultado!!.

No hay comentarios:

Publicar un comentario

Nota: solo los miembros de este blog pueden publicar comentarios.