Hacer que las barras apiladas sumen un recuento distinto en lugar de un recuento doble

Un usuario Pregunto ✅

wolvecz

¡Hola a todos!

Realmente me gustaría su ayuda con esto. Estoy tratando de crear un gráfico de barras que muestre DISTINCTCOUNT de usuarios sobre una categoría y luego coloreado por un número de visita. Los datos se basan en el tiempo, por lo que cada usuario puede tener varias filas con diferentes números de visitas. Mis datos se ven así:

ID de usuario categoría Número de visita Fecha

1 1 1 1/1/2020

1 1 2 1/2/2020

2 5 1 1/2/2020

3 2 1 1/3/2020

1 1 3 1/3/2020

2 5 2 1/4/2020

Cuando utilizo un gráfico de barras apiladas cuyo valor es el conteo distinto de visitantes y configuro la leyenda (color) en Número de visita, parece que obtengo un conteo doble, donde veo que los usuarios aparecen varias veces (uno para cada número de visita, como se muestra arriba). Me gustaría que esto solo muestre el valor del número de visita más reciente, así:

ID de usuario categoría Número de visita Fecha

3 2 1 1/3/2020

1 1 3 1/3/2020

2 5 2 1/4/2020

De esta forma, el eje Y no cuenta dos veces a los usuarios y muestra el número correcto.

Sin embargo, también quiero usar un control deslizante en la página que limitará dinámicamente los datos en función de los valores de fecha. Esto significa que el número de visitas más alto puede cambiar, por lo que no puedo simplemente crear una nueva columna con una marca para el valor máximo y filtrar eso. Por lo tanto, el resultado deseado se vería como el siguiente si un control deslizante limita los datos a principios del 3/1/2020.

ID de usuario categoría Número de visita Fecha

1 1 2 1/2/2020

2 5 1 1/2/2020

3 2 1 1/3/2020

Cuando hago esto actualmente, obtengo el primer ejemplo donde los datos cuentan dos veces como resultado de la leyenda. ¿Hay alguna manera de crear un gráfico de barras que solo muestre el valor de visita más alto según la fecha, para evitar que el gráfico de barras apiladas cuente a los usuarios dos veces?

Hola @WolVecz,

Creo una muestra. Funciona bien en Table visual. No tengo claro cómo se configuran las columnas en gráfico de barras apiladas. Pruebe la fórmula para comprobar si es lo que desea.

Measure = 
var slider = MAX('Date'[Date])
var maxDate = MAXX(FILTER(ALL('Table'),'Table'[userId] = MAX('Table'[userId])&& 'Table'[Date] <= slider),'Table'[Date])
return
CALCULATE(MAX('Table'[userId]),FILTER('Table','Table'[Date] = maxDate && 'Table'[Date] <= slider))

2.gif

Para obtener más detalles, consulte el archivo adjunto.

amichandak

@WolVecz, mira si esto puede ayudar

https://docs.microsoft.com/en-us/dax/lastnonblankvalue-function-dax

lastnonblankvalue(Tabla[date],Máx.(Tabla[Visit number]))

o

lastnonblankvalue(Tabla[date],Suma(Tabla[Visit number]))

wolvecz

En respuesta a amichandak

Parece que funcionaría, pero no se puede arrastrar al campo de la leyenda. Supongo que requiere alguna función para realizar el cálculo por ID de usuario primero. ¿Cómo ejecutaría su función por ID de usuario?

En respuesta a wolvecz

Hola @WolVecz,

¿Podrías decirme si tu problema se ha solucionado? si es asi por favor marca la respuesta útil como solución si sientes que tiene sentido. Bienvenido a compartir su propia solución. Más personas se beneficiarán del hilo.

wolvecz

En respuesta a v-xuding-msft

Su solución no aborda el problema y continúa contando dos veces. No se ha solucionado.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *