Join us for an expert-led overview of the tools and concepts you'll need to pass exam PL-300. The first session starts on June 11th. See you there!
Get registeredPower BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. Register now.
Necesito ayuda para resumir los datos de una categoría por usuario y contar los resultados filtrados por valor máximo para cada usuario
Para ex: En la imagen de abajo, usuario - "SL-08" tiene una entrada para la categoría - H y 2 entradas para la categoría - F. Por lo tanto, en un período de dar, como una semana de 5/24, este usuario debe contarse para la categoría - F (como se muestra en los datos resumidos). Si hay un empate, la categoría F tiene prioridad.
Necesito ayuda con dax measure, hay otras tablas y filtros relacionados que necesito aplicar utilizándolos a los datos.
Id | Usuario | Identificador de categoría | Wk | Fecha | Nombre de la categoría |
165 | SL-08 | 1 | 5/24/2020 | 5/26/2020 0:00 | H |
165 | SL-08 | 2 | 5/24/2020 | 5/28/2020 0:00 | F |
165 | SL-08 | 2 | 5/24/2020 | 5/29/2020 0:00 | F |
165 | SL-09 | 2 | 5/24/2020 | 5/27/2020 0:00 | F |
164 | SL-AE01 | 1 | 5/24/2020 | 5/26/2020 0:00 | H |
164 | SL-AE01 | 2 | 5/24/2020 | 5/27/2020 0:00 | F |
164 | SL-AE02 | 1 | 5/24/2020 | 5/26/2020 0:00 | H |
164 | SL-AE06 | 1 | 5/24/2020 | 5/26/2020 0:00 | H |
164 | SL-AE06 | 1 | 5/24/2020 | 5/27/2020 0:00 | H |
164 | SL-AE06 | 2 | 5/24/2020 | 5/26/2020 0:00 | F |
165 | SL-AE08 | 2 | 5/24/2020 | 5/27/2020 0:00 | F |
165 | SL-AE08 | 2 | 5/24/2020 | 5/26/2020 0:00 | F |
165 | SL-AE08 | 2 | 5/24/2020 | 5/27/2020 0:00 | F |
¡¡Gracias!!
Hola @vdr ,
Según su descripción, F tiene una prioridad, por lo que primero puede crear una columna calculada como esta:
rank =
VAR count_catefory =
CALCULATE (
COUNT ( 'Table (2)'[Category Id] ),
ALLEXCEPT (
'Table (2)',
'Table (2)'[User],
'Table (2)'[Wk],
'Table (2)'[Category Name]
)
)
VAR precedence =
IF ( 'Table (2)'[Category Name] = "F", count_catefory + 0.5, count_catefory )
RETURN
precedence
A continuación, cree una columna calculada para obtener el nombre de categoría de cada usuario.
category_test =
VAR max_ =
CALCULATE (
MAX ( 'Table (2)'[rank] ),
ALLEXCEPT ( 'Table (2)', 'Table (2)'[User] )
)
RETURN
CALCULATE (
FIRSTNONBLANK ( 'Table (2)'[Category Name], 1 ),
FILTER ( 'Table (2)', 'Table (2)'[rank] = max_ )
)
El tercer gráfico no se puede lograr en power Bi por el momento
Saludos
Liang
Si este post ayuda, entonces considera Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Hola @V-lianl-msft. ¡Gracias! Gráfico de área que se muestra en el resultado final es lo que realmente necesito y me gustaría utilizar medidas para hacerlo dinámico porque necesita devolver datos para el período seleccionado mes / semana, etc, conjunto de datos real es más de 8M + filas
Además, he añadido las columnas "semana" y "Nombre de categoría" para facilitar la consulta. Ambos tienen mesas diferentes
@vdr , Probar como
lastnonblankvalue(Table[Date], max(Table[Categort]))
Calendario de la semana - https://community.powerbi.com/t5/Community-Blog/Any-Weekday-Week-Decoding-Date-and-Calendar-2-5-Powe...
WOW -https://medium.com/@amitchandak.1978/power-bi-wtd-questions-time-intelligence-4-5-98c30fab69d3
https://community.powerbi.com/t5/Community-Blog/Week-Is-Not-So-Weak-WTD-Last-WTD-and-This-Week-vs-La...
@vdr - Este parece un caso de uso para Buscar Min/Max - https://community.powerbi.com/t5/Quick-Measures-Gallery/Lookup-Min-Max/m-p/985814#M434
Aunque sea más sencillo en su caso, obtenga el MAX de Date, utilícelo para buscar el nombre de categoría correspondiente a esa fecha.
@Greg_Deckler . Gracias, he probado un enfoque similar antes y no parece obtener la salida que necesito, especialmente para los usuarios que tienen varias categorías en el período de selección. selecciona ambas categorías para el usuario en este caso.
VAR __summarytable =
// ADDCOLUMNS (
SUMMARIZE ( Test2
, Test2[User]
, Test2[Category Id]
, "MaxxCount",CALCULATE ( COUNTROWS(Test2))
, "TWCount",CALCULATE ( COUNTROWS(Test2), FILTER(Test2,Test2[Category Id] = 1))
, "AFCount",CALCULATE ( COUNTROWS(Test2), FILTER(Test2,Test2[Category Id] = 2))
, "VisitCount",CALCULATE ( COUNTROWS(Test2), FILTER(Test2,Test2[Category Id] = 4))
)
VAR __Max = MAXX(__summarytable,[MaxxCount])
RETURN
COUNTROWS(FILTER(__summarytable,[MaxxCount] = __Max || [AFCount] >= [TWCount]))
@vdr- ¿Puede registrar datos de ejemplo como texto y salida esperada? Mucho más fácil de solucionar si puedo volver a crear el problema localmente.
Greg, V-lianl-msft,
Disculpas, creé una publicación duplicada.
@Greg_Deckler - por favor eche un vistazo a este hilo. He intentado explicar el escenario y agregar datos de muestra, con el resultado esperado
https://community.powerbi.com/t5/Desktop/Compare-counts-with-in-group-rank-and-count-the-top-values/...