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.
Hola
Tengo un problema con un acumulativo que no funciona cuando no tengo filtros seleccionados:
El acumulado debe comenzar en 4 para 'Hoy', que es
'Recuento de estado = Y' + recuento de filas que tienen cubo = 2,
es decir, 2 + 2 = 4. En cambio, es 3.
Parece que esto se debe a las filas para Nombre = B, no hay 'Hoy', lo que está esperando de alguna manera.
Si agrego esa fila como un maniquí, entonces funciona bien.
Si añado en una fila de "Hoy" para B, entonces el acumulado funciona:
Este es el DAX para acumulativo:
Acumulativo para Estado y bucket =
VAR OrdenarCorriente = MÁXIMO( 'tabla' [código de ordenación] )
DEVOLUCIÓN
CALCULAR(
[Contar filas de estado y depósitos],
FILTRO(
TODOS SELECCIONADOS( 'Tabla' ),
'Tabla'[Código de ordenación] <= OrdenarCorriente
)
)
Dónde
Count rows of Status and buckets =
VAR TodoConteo = COUNTROWS('Mesa')
VAR En la actualidadY =
CALCULAR(
COUNTROWS('Mesa'),
FILTRO(
TODOSEXCEPTO('Mesa','Mesa'[Nombre]),
'Tabla'[Estado] = "Y" ))
DEVOLUCIÓN
TodoConteo
+
En la actualidadY
Este es el csv de la tabla:
Bucket,Código de clasificación,Nombre,Estado,Contar filas
Hoy,1,A,,2
Hoy,1,B,,1
Mes actual,2,A,,1
Mes actual,2,B,,2
,,A,X,2
,,B,X,1
,,A,Y,1
,,B,Y,1
¡Muchas gracias por mirar!
Hola @BarnyQuack ,
El problema es que la medida acumulativa depende de las filas existentes para cada combinación de bucket y name. Cuando no hay ninguna fila para un nombre específico en un bucket, como cuando "B" no aparece en el bucket "Hoy", Power BI no rellena ese hueco y la medida acumulativa no se cuenta correctamente. En concreto, la medida usa ALLSELECTED('Table'), pero si no hay ningún punto de datos para esa combinación, desaparece silenciosamente del objeto visual y la lógica acumulativa la omite.
Las filas de recuento de la medida de estado y cubos agregan [AllCount] + [ActualmenteY], pero [AllCount] solo cuenta las filas visibles y, cuando un nombre no tiene ninguna fila en un depósito (como "Hoy" para B), no se cuenta en absoluto. El DAX acumulado:
Cumulative for Status and bucket =
VAR CurrentSort = MAX('Table'[Sort Code])
RETURN
CALCULATE(
[Count rows of Status and buckets],
FILTER(
ALLSELECTED('Table'),
'Table'[Sort Code] <= CurrentSort
)
)
Solo incluye las filas que están físicamente presentes. Por lo tanto, cuando no se está segmentando por nombre y falta un nombre para un cubo, Power BI no crea esa fila y el recuento está desactivado. Es por eso que agregar una fila ficticia "Hoy" para B lo corrige, porque ahora hay un punto de datos para anclar el cálculo acumulativo para ese nombre.
Para solucionarlo correctamente sin filas ficticias, tendría que reestructurar el modelo para incluir todas las combinaciones utilizando una tabla de andamio desconectada de [Bucket] x [Name]. Luego, únalo a su tabla de datos y use ese andamio en sus imágenes. De esa manera, cada combo existe y su DAX puede acumularse correctamente con el tiempo. De lo contrario, es como tratar de calcular el total de las ventas por tienda cuando algunas tiendas no informan ese día: su total se ve mal solo porque el silencio no es cero, simplemente falta.
Saludos
¡Eso funcionó de maravilla! Realmente lo aprecio, ¡eres una estrella!
Inicialmente no funcionó ya que eran malos datos.
Muchas gracias por esa @DataNinja777
Eso funcionó, ¡hasta cierto punto! Hay algo que me he perdido.
Como dijiste, configuré una tabla de andamio con todos los diversos valores, luego la uní mediante el código de ordenación. Modifiqué el DAX en el acumulativo para usar los 'Valores de bucket' [Código de ordenación]. 'Contar filas de estado y depósitos' muestra 2 segundos para el próximo mes, etc., cuando no hay ninguno:
Aún más extraño es el acumulado de muertes a los 4 meses
Todos los demás funcionan bien.