Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
ebeery
Solution Sage
Solution Sage

Agregación dinámica y cálculo basado en selecciones de segmentación de fecha

Hola a todos

Estoy luchando con una agregación dinámica que estoy bastante seguro debería ser posible con DAX, pero hasta ahora ha resultado demasiado difícil para mis habilidades actuales....

Lo que básicamente estoy tratando de lograr es esto:

A partir de una tabla de transacciones de ventas estructuradas como se indica a continuación:

Número de piezaFecha de ventaVentas $Cantidad de ventas
Parte A01-01-2020$1.231
Parte B01-02-2020$2.342
Parte C01-03-2020$3.453
Parte A01-04-2020$4.564

Me gustaría realizar varios cálculos posteriores basados en las ventas totales ($ y qty) para cada número de pieza en "Período A" y "Período B", donde el Período A y el Período B son dinámicos y definidos en función de dos segmentaciones de fecha "Entre" en la página del informe.

image.pngSegmentaciones de selección de períodos en la página del informe

Lo que he intentado hasta ahora es generar una tabla "agregada" calculada mediante SUMMARIZECOLUMNS y, a continuación, crear columnas calculadas adicionales basadas en esa tabla. Sin embargo, con la agregación es una tabla calculada (en lugar de estar contenida dentro de una medida) no responderá a las selecciones de segmentación de fecha, por lo que por ahora estoy codificando de forma rígida las fechas en la fórmula de tabla agregada como se muestra a continuación.

Aggregated Table = 

VAR PeriodA = DATESBETWEEN(vw_DIM_Dates[Date_Key], DATE(2020,02,01),DATE(2020,02,29))
VAR PeriodB = DATESBETWEEN(vw_DIM_Dates[Date_Key], DATE(2020,03,01),DATE(2020,03,31))
RETURN

SUMMARIZECOLUMNS(...

El siguiente enfoque que intenté fue calcular la tabla "prácticamente" dentro de una medida utilizando varias combinaciones de SUMMARIZECOLUMNS(), SUMMARIZE()/ADDCOLUMNS(), GROUPBY(), etc. etc., todo lo cual no produjo correctamente el efecto deseado de calcular una tabla como a continuación con las ventas totales en el Período A y las ventas totales en el Período B, "prácticamente", para que pueda hacer cálculos de comparación en los dos períodos. Por ejemplo, la primera y más básica medida que me gustaría calcular es la "Ventas totales en el período A para las piezas que también tienen ventas en el período B".

ParteVentas en el período AVentas en el Período BVentas en ambos períodos
Salir$10.00$0.00Falso
ParteB$0.00$30.00Falso
Partc$20.00$40.00Verdad

Siento que la solución probablemente radica en alguna combinación de SUMMARIZECOLUMNS() y CALCULATE(), pero hasta ahora no he sido capaz de resolverlo. Los intentos iniciales dieron los resultados correctos al calcular Las Ventas en el Período A o las Ventas en el Período B, pero cuando ambos se incorporaron a la misma medida, los totales del Período A mostraron para ambos, lo que me llevó a creer que había algún problema con la forma en que el contexto del filtro CALCULATE estaba funcionando...

Cualquier información o recomendación sobre enfoques alternativos sería muy apreciada.

¡Gracias!

4 REPLIES 4
amitchandak
Super User
Super User

Hola @amitchandak, gracias por la ayuda.

Entiendo el método al que se hace referencia para cosechar las selecciones de la cortadora para calcular las ventas de los 2 períodos de forma independiente.

Sin embargo, donde todavía estoy luchando es cómo combinar los resultados (en su ejemplo "Ventas actuales" y "Ventas anteriores") en una sola tabla virtual para realizar cálculos de comparación en los totales, agregados a un nivel de número de pieza.

Por ejemplo, los cálculos simples de "Precio" en las dos últimas columnas de la tabla siguiente.

ParteVentas $ Período APeríodo de ventas BCantidad de ventas ACantidad de ventas BPrecio APrecio B
A$10.00$20.001015• $A / Cantidad A• $B / Cantidad B

@ebeery, otro tiempo se combinará a través de la dimensión común y se puede tomar la diferencia como de costumbre entre dos medidas

diff á [período 1] - [período 2]

diff % á divide([period 1] - [period 2], [period 2])

@amitchandak, la granularidad de los cálculos debe estar en el nivel de número de pieza, por lo que estoy tratando de agregar en ese nivel. No veo cómo se puede lograr eso simplemente usando las medidas de alto nivel que estás describiendo. Tal vez me estoy perdiendo algo.

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.