Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.
Hola
Necesito ayuda en esto. Estoy tratando de desarrollar una medida para aislar un promedio de las últimas entradas N (en este caso 3 días "de trabajo") de ventas, cuando la tabla contiene valores en blanco para ciertos días (es decir, días "no laborables"). La tabla tiene otras columnas con datos en días "no laborables". Entonces, ¿cómo puedo crear una medida para esto?
Un dato de muestra es el siguiente:
Fecha | Ventas | Promedio de ventas de los últimos 3 |
6/1/2020 | $5,343.00 | |
6/2/2020 | $2,345.00 | |
6/3/2020 | $7,532.00 | $5,073.33 |
6/4/2020 | ||
6/5/2020 | ||
6/6/2020 | $2,343.00 | $4,073.33 |
6/7/2020 | ||
6/8/2020 | $6,342.00 | $5,405.67 |
6/9/2020 | $2,342.00 | $3,675.67 |
6/10/2020 | $3,523.00 | $4,069.00 |
6/11/2020 | $4,325.00 | $3,396.67 |
6/12/2020 | ||
6/13/2020 | ||
6/14/2020 | ||
6/15/2020 | ||
6/16/2020 | ||
6/17/2020 | $3,234.00 | $3,694.00 |
6/18/2020 | $3,245.00 | $3,239.50 |
6/19/2020 | $1,234.00 | $2,571.00 |
6/20/2020 | $2,345.00 | $2,274.67 |
Por ejemplo, para 6/20, es AVE[6/20, 6/19, 6/18]; para 6/17, es AVE[6/17, 6/11, 6/10]; para 6/8, es AVE[6/8, 6/6, 6/3]; así sucesivamente.
Gracias.
Solved! Go to Solution.
Pruebe esta expresión que obtiene los resultados deseados de los datos de ejemplo.
Last 3 WD Sum =
VAR __thisdate =
MIN ( Sales[Date] )
VAR __top3 =
TOPN (
3,
FILTER ( FILTER ( ALL ( Sales ), Sales[Date] <= __thisdate ), Sales[Sales] > 0 ),
Sales[Date], DESC
)
RETURN
IF (
OR ( COUNTROWS ( __top3 ) < 3, ISBLANK ( SUM ( Sales[Sales] ) ) ),
BLANK (),
CALCULATE ( AVERAGE ( Sales[Sales] ), __top3 )
)
Si esto funciona para usted, márquelo como la solución. Los elogios también son apreciados. Por favor, avísame si no.
saludos
palmadita
To learn more about Power BI, follow me on Twitter or subscribe on YouTube.
Pruebe esta expresión que obtiene los resultados deseados de los datos de ejemplo.
Last 3 WD Sum =
VAR __thisdate =
MIN ( Sales[Date] )
VAR __top3 =
TOPN (
3,
FILTER ( FILTER ( ALL ( Sales ), Sales[Date] <= __thisdate ), Sales[Sales] > 0 ),
Sales[Date], DESC
)
RETURN
IF (
OR ( COUNTROWS ( __top3 ) < 3, ISBLANK ( SUM ( Sales[Sales] ) ) ),
BLANK (),
CALCULATE ( AVERAGE ( Sales[Sales] ), __top3 )
)
Si esto funciona para usted, márquelo como la solución. Los elogios también son apreciados. Por favor, avísame si no.
saludos
palmadita
To learn more about Power BI, follow me on Twitter or subscribe on YouTube.
Muchas gracias a @mahoneypat, @parry2k por sus elegantes soluciones.
El conjunto de datos tiene una columna adicional con una ubicación. Así que potencialmente hay N entradas para una fecha determinada para N ubicaciones. Intenté @parry2ksolución, pero no funcionó como se esperaba; sin embargo, lo hizo para un conjunto de datos de ubicación. Por esta razón, terminé usando la solución de @mahoneypat,y se escala a lo que he estado buscando. Hice aunque hice un cambio menor: "FILTER(ALL(Sales)" -> "FILTER(ALLSELECTED(Sales)" para permitir los filtros establecidos para el informe.
@trptl aquí es algo que se me ocurre en este momento, pero sin duda se puede mejorar, pero espero que comience
Primero agregue una columna de rango
Date Rank = IF ( Data[Sales] <> BLANK(), RANKX ( FILTER( 'Data', Data[Sales] <> BLANK() ) , 'Data'[Date], , ASC ) )
Ahora agregue una medida promedio
Avg Measure =
VAR __endRank = MAX ( Data[Date Rank] )
VAR __startRank = MAX ( __endRank - 2, 1 )
VAR __avgDenominator = ( __endRank - __startRank ) + 1
RETURN
DIVIDE (
CALCULATE (
SUM ( Data[Sales] ),
ALL ( Data ),
Data[Date Rank] >= __startRank,
Data[Date Rank] <= __endRank
), __avgDenominator
)
echa un vistazo a esto y ver si te consigue lo que estás buscando, aquí está la salida
Me gustaría❤ elogiossi mi solución ayudara.👉Si puedes pasar tiempo publicando la pregunta, también puedes hacer esfuerzos para dar a Kudos quien haya ayudado a resolver tu problema. ¡Es una muestra de agradecimiento!
⚡Visítenos enhttps://perytus.com, su ventanilla única para proyectos/formación/consulta relacionados con Power BI.⚡
Subscribe to the @PowerBIHowTo YT channel for an upcoming video on List and Record functions in Power Query!!
Learn Power BI and Fabric - subscribe to our YT channel - Click here: @PowerBIHowTo
If my solution proved useful, I'd be delighted to receive Kudos. When you put effort into asking a question, it's equally thoughtful to acknowledge and give Kudos to the individual who helped you solve the problem. It's a small gesture that shows appreciation and encouragement! ❤
Did I answer your question? Mark my post as a solution. Proud to be a Super User! Appreciate your Kudos 🙂
Feel free to email me with any of your BI needs.
User | Count |
---|---|
2 | |
2 | |
1 | |
1 | |
1 |