Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more.
Get startedGrow your Fabric skills and prepare for the DP-600 certification exam by completing the latest Microsoft Fabric challenge.
Estimado lector,
Tengo una pregunta confusa para ti. En primer lugar, permítanme darles un poco de contexto de datos:
Canal | AñoMes | Ventas |
Tienda | 2024-01 | 10 |
Tienda | 2024-02 | 11 |
Teléfono | 2024-02 | 5 |
Teléfono | 2024-01 | 10 |
Teléfono | 2024-02 | 20 |
Tienda web | 2023-12 | 15 |
Tienda web | 2024-01 | 30 |
Tengo una tabla de ventas que extrae sus datos de un servidor SQL. El problema es que no todos los canales están actualizados. La mayoría de las veces uno de los canales tiene 1 mes de retraso en los datos, en comparación con el resto.
Lo que quiero lograr es escribir una parte de la lógica de DAX, para filtrar automáticamente el mes MAX para una medida de ventas acumulativa, basada en el mes MIN de la selección filtrada.
Por ejemplo, la página del informe tiene una segmentación de datos para [Canal] y tengo seleccionado Teléfono, quiero que acumule las ventas hasta su mes máximo (2024-02).
Esto cambia cuando tengo varios [Canales] seleccionados, por ejemplo, cuando tengo seleccionado Teléfono Y tienda web (mes máximo = 2024-01), quiero que calcule las ventas acumuladas (para todos los canales filtrados) hasta el mes MÁXIMO del mes MIN = 2024-01.
Hasta ahora he creado una medida de indicador de nivel visual que hace lo que necesito. Pero preferiblemente quiero incluir la lógica necesaria en la medida [Ventas acumuladas]. Lamentablemente, todavía no he conseguido que eso funcione. ¿Algún consejo/idea?
Me gustaría saber de ti,
Daniel
@Foxxon28 Pruebe esto. PBIX se adjunta debajo de la firma:
Min Month Cumulative Sales =
VAR __Table = SUMMARIZE( 'Table', [Channel], "__MaxMonth", MAX( 'Table'[YearMonth] ) )
VAR __MinMonth = MINX( __Table, [__MaxMonth] )
VAR __Result = SUMX( FILTER( 'Table', [YearMonth] <= __MinMonth ), [Sales] )
RETURN
__Result
@Greg_Deckler ¡Gracias por la rápida respuesta!
Sin embargo, esto no funciona en un gráfico de líneas, donde esperaría que culminara en enero, ya que seleccioné Webshop (que solo tiene datos hasta 2024-01).
Sin embargo, el 55 es correcto, pero no debería mostrar el valor de febrero de 2024 aquí.
¿Alguna sugerencia?
¡Gracias!
@Foxxon28 Debería ser una solución fácil:
Min Month Cumulative Sales Line Chart =
VAR __Max = MAX( 'Table'[YearMonth] )
VAR __Table = SUMMARIZE( 'Table', [Channel], "__MaxMonth", MAX( 'Table'[YearMonth] ) )
VAR __MinMonth = MINX( __Table, [__MaxMonth] )
VAR __Result = IF( __Max > __MinMonth, BLANK(), SUMX( FILTER( 'Table', [YearMonth] <= __MinMonth ), [Sales] ) )
RETURN
__Result
@Greg_Deckler Desafortunadamente, esto todavía no obtiene el resultado deseado.
La tarjeta ahora está en blanco y el gráfico de líneas:
- No se acumula
- Todavía muestra 2024-02, donde espero que se limite a 2024-01, ya que se selecciona Webshop.
Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.
Ask questions in Eventhouse and KQL, Eventstream, and Reflex.
User | Count |
---|---|
1 | |
1 | |
1 | |
1 | |
1 |