Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!
He estado jugando con esto por unos días y no puedo hacerlo funcionar. Este es un pequeño conjunto de datos truncado.
Vendedor | Semana | año | Ventas $ |
Jon | 12 | 2018 | $ 500 |
Jon | 15 | 2019 | $ 100 |
Dave | 16 | 2019 | $ 150 |
Dave | 17 | 2019 | $ 125 |
Jon | 17 | 2019 | $ 125 |
Dave | 45 | 2019 | $ 100 |
Jon | 45 | 2019 | $ 150 |
Dave | 6 | 2020 | $ 175 |
Dave | 15 | 2020 | $ 150 |
Jon | 17 | 2020 | $ 100 |
Estoy tratando de obtener una matriz visual similar a esto.
Año actual | Año actual | Año actual | Año actual | Prior Yr | Prior Yr | |
Vendedor | Ventas de semana # | Ingresos por ventas de semana | Ventas YTD # | Ingresos por Ventas de YTD | Ventas de PY YTD # | Ingresos de PY YTD |
Jon | 1 | 100 | 1 | 100 | 2 | 225 |
Dave | 0 | 0 | 2 | 325 | 2 | 275 |
Mi cuelgue es con las columnas del año anterior. No puedo hacer que funcionen correctamente.
El informe era una segmentación de 2 pasos donde se selecciona el año y, a continuación, la semana. He visto otros combinar el 2 en un aspecto de semana de año (22-2020) pero me gustaría mantenerlo como está. He creado una tabla de calendario independiente sin relación con la tabla de ventas. La segmentación de semanas utiliza el número de semana de la tabla de calendario, mientras que la segmentación de años utiliza el año de la tabla de ventas. Lo estoy haciendo de esta manera porque también tengo un gráfico de barras visual en el informe que muestra las ventas por semana para el año completo.
Cualquier ayuda sería apreciada. ¡Gracias!
Hola @kkassel ,
He creado estas siguientes medidas para tratar de lograrlo:
Current year week sales =
VAR _re =
COUNTROWS (
FILTER (
SUMMARIZE (
FILTER (
ALLSELECTED ( 'Table' ),
'Table'[Week] = SELECTEDVALUE ( 'Calendar'[Week] )
),
'Table'[Salesperson],
'Table'[Week],
'Table'[Year]
),
[Salesperson] = SELECTEDVALUE ( 'Table'[Salesperson] )
)
)
RETURN
IF ( ISBLANK ( _re ), 0, _re )
Current year #week sales revenue =
VAR _re =
SUMX (
FILTER (
SUMMARIZE (
FILTER (
ALLSELECTED ( 'Table' ),
'Table'[Week] = SELECTEDVALUE ( 'Calendar'[Week] )
),
'Table'[Salesperson],
'Table'[Sales $],
'Table'[Week],
'Table'[Year]
),
[Salesperson] = SELECTEDVALUE ( 'Table'[Salesperson] )
),
'Table'[Sales $]
)
RETURN
IF ( ISBLANK ( _re ), 0, _re )
Current year YTD sales = COUNTROWS('Table')
Current year #YTD sales revenue = SUM('Table'[Sales $])
Prior year YTD sales =
VAR _re =
COUNTROWS (
FILTER (
ALL ( 'Table' ),
[Salesperson] = SELECTEDVALUE ( 'Table'[Salesperson] )
&& [Year]
= SELECTEDVALUE ( 'Table'[Year] ) - 1
)
)
RETURN
IF ( ISBLANK ( _re ), 0, _re )
Prior year #YTD sales revenue =
VAR _re =
SUMX (
FILTER (
ALL ( 'Table' ),
[Salesperson] = SELECTEDVALUE ( 'Table'[Salesperson] )
&& [Year]
= SELECTEDVALUE ( 'Table'[Year] ) - 1
),
'Table'[Sales $]
)
RETURN
IF ( ISBLANK ( _re ), 0, _re )
El resultado de la muestra puede gustar (ejemplo: 2020 semana 17)
Se adjunta un archivo de muestra que espera ayudarle, por favor compruébelo y pruébelo: Calculando semana, ytd, y antes ytd con 2 pasos slicer.pbix
Best Looks,
Yingjie Li
Si este post ayuda, por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Gracias @v-yingjl que funciona, pero tengo otra pregunta con respecto a la visual. Cuando agredo subtotales para totalizar las filas, obtengo 0 para las ventas de la semana del año en curso, el año actual #week los ingresos por ventas, las ventas del año anterior y los ingresos por ventas del año anterior #ytd. ¿Por qué es eso y cómo puedo corregirlo para que totalice correctamente?
@kkassel , ¿Está utilizando la inteligencia de tiempo con el calendario de fechas
Ejemplo
YTD Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESYTD(('Date'[Date]),"12/31"))
This Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESYTD((ENDOFYEAR('Date'[Date])),"12/31"))
Last YTD Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESYTD(dateadd('Date'[Date],-1,Year),"12/31"))
Last YTD complete Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESYTD(ENDOFYEAR(dateadd('Date'[Date],-1,Year)),"12/31"))
Last to last YTD Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESYTD(dateadd('Date'[Date],-2,Year),"12/31"))
Year behind Sales = CALCULATE(SUM(Sales[Sales Amount]),dateadd('Date'[Date],-1,Year))
Consulte Semana, Compruebe también el comentario del año pasado
Para obtener lo mejor de la función de inteligencia del tiempo. Asegúrese de que tiene un calendario de fechas y que se ha marcado como la fecha en la vista de modelo. Además, únase a ella con la columna de fecha de su/s hecho/s. Consulte:
https://radacad.com/creating-calendar-table-in-power-bi-using-dax-functions
https://www.archerpoint.com/blog/Posts/creating-date-table-power-bi
https://www.sqlbi.com/articles/creating-a-simple-date-table-in-dax/
Vea si mi seminario web sobre Time Intelligence puede ayudar: https://community.powerbi.com/t5/Webinars-and-Video-Gallery/PowerBI-Time-Intelligence-Calendar-WTD-Y...
Apreciamos tus Felicitaciones.