Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started
Hola a todos
Mi conjunto de datos tiene una tabla de calendario y una tabla que contiene registros con varias propiedades que están vinculadas por fecha a la tabla de calendario, he configurado una medida para generar un recuento total móvil de ID de registro únicos durante los últimos 7 días como se muestra a continuación:
Unique Record IDs 7D Count = CALCULATE( SUMX( VALUES(Calendar[Date]), DISTINCTCOUNT(Records[ID]), FILTER( ALLSELECTED(Calendar),Calendar[Date] >= (max(Calendar[Date])-6) && Calendar[Date] <= max(Calendar[Date]) ) )
Esta medida funciona perfectamente si los datos no están filtrados, sin embargo, aplicar un filtro a uno de los campos de la tabla Registro restringe el rango de fechas disponible no me da el resultado que busco.
A continuación se muestra un ejemplo de la salida del recuento móvil después del filtrado
Fecha | Identificadores de registro únicos | Conteo rodante (7D) | |
25/08/2024 | 0 | ||
26/08/2024 | 0 | ||
27/08/2024 | 3 | 3 | |
28/08/2024 | 5 | 8 | |
29/08/2024 | 10 | 18 | |
30/08/2024 | 6 | 24 | |
31/08/2024 | 0 | ||
1/09/2024 | 0 | ||
2/09/2024 | 0 | ||
3/09/2024 | 0 | ||
4/09/2024 | 0 | ||
5/09/2024 | 0 | ||
6/09/2024 | 0 | ||
7/09/2024 | 0 |
Y aquí está la salida deseada
Fecha | Identificadores de registro únicos | Conteo rodante (7D) | |
25/08/2024 | 0 | 0 | |
26/08/2024 | 0 | 0 | |
27/08/2024 | 3 | 3 | |
28/08/2024 | 5 | 8 | |
29/08/2024 | 10 | 18 | |
30/08/2024 | 6 | 24 | |
31/08/2024 | 0 | 24 | |
1/09/2024 | 0 | 24 | |
2/09/2024 | 0 | 24 | |
3/09/2024 | 0 | 21 | |
4/09/2024 | 0 | 16 | |
5/09/2024 | 0 | 6 | |
6/09/2024 | 0 | 0 | |
7/09/2024 | 0 | 0 |
Tenía la impresión de que ALLSELECTED podría anular el impacto del filtro aplicado a la tabla de registros, pero esa parece ser una suposición incorrecta de mi parte.
Encontré esta publicación que parecía ser una situación casi idéntica, sin embargo, no he tenido suerte adaptando la solución para obtener el resultado deseado. Cualquier sugerencia / asistencia será muy apreciada.
Solved! Go to Solution.
Todavía no he identificado exactamente cuál era el problema, pero parece que era algo en el conjunto de datos de origen porque cuando comencé desde cero con una copia nueva de los datos y volví a crear las medidas, todo se comportó como se esperaba.
En última instancia, quería una media móvil, aquí están las medidas finales:
Unique Record IDs = COALESCE(DISTINCTCOUNT(Records[ID]), 0)
Unique Record IDs Rolling 7D Average =
DIVIDE(
CALCULATE(
SUMX(
VALUES('Calendar'[Date]), [Unique Record IDs]
),
REMOVEFILTERS('Calendar'[Date]),
'Calendar'[Date] >= (max('Calendar'[Date])-6) && 'Calendar'[Date] <= max('Calendar'[Date])
),
7
)
Todavía no he identificado exactamente cuál era el problema, pero parece que era algo en el conjunto de datos de origen porque cuando comencé desde cero con una copia nueva de los datos y volví a crear las medidas, todo se comportó como se esperaba.
En última instancia, quería una media móvil, aquí están las medidas finales:
Unique Record IDs = COALESCE(DISTINCTCOUNT(Records[ID]), 0)
Unique Record IDs Rolling 7D Average =
DIVIDE(
CALCULATE(
SUMX(
VALUES('Calendar'[Date]), [Unique Record IDs]
),
REMOVEFILTERS('Calendar'[Date]),
'Calendar'[Date] >= (max('Calendar'[Date])-6) && 'Calendar'[Date] <= max('Calendar'[Date])
),
7
)
Hola @JCMT
Dos cosas a tener en cuenta:
AllSelected quita los filtros internos, por lo que los filtros causados por la fila de fecha dentro del objeto visual.
Todo elimina todos los filtros de la tabla/columna dada, tanto internos (visuales) como externos (segmentación).
Esto podría ser parte del malentendido.
Segundo:
Calcular le permite cambiar, reemplazar o eliminar filtros.
Filter mantiene los filtros existentes y los agrega.
Por lo tanto, esto también podría ser una causa de su problema.
Muchas gracias por su respuesta.
Por último, aplicar un filtro a uno de los campos de la tabla Registro
Eliminar/agregar filtros a la tabla de calendario afectará a la tabla de registros.
Sin embargo, si el filtro está en alguna otra columna, por ejemplo, RecordType, esto no se eliminaría mediante AllSelected aquí.
Podría usar algo como AllExcept(Record, Calendar[Date]) para quitar todos los filtros de la tabla Record, pero mantener los filtros en la tabla Calendar.
¿Cuáles son los filtros que está agregando y cuáles desea conservar?
Quiero mantener el filtro en la tabla de registros (por ejemplo: RecordType) y eliminar cualquier filtrado implícito en la tabla de calendario.
No puedo pegar datos sin procesar, pero puedo generar una maqueta si es necesario para ayudar más.