Don't miss your chance to take the Fabric Data Engineer (DP-700) exam on us!
Learn moreNext up in the FabCon + SQLCon recap series: The roadmap for Microsoft SQL and Maximizing Developer experiences in Fabric. All sessions are available on-demand after the live show. Register now
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.
If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.
A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.
Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.