Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Next 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

Reply
Syndicate_Admin
Administrator
Administrator

Rollo de DistinctCount + Filtros

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 únicosConteo rodante (7D)
25/08/2024 0
26/08/2024 0
27/08/2024 33
28/08/2024 58
29/08/2024 1018
30/08/2024 624
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 únicosConteo rodante (7D)
25/08/2024 00
26/08/2024 00
27/08/2024 33
28/08/2024 58
29/08/2024 1018
30/08/2024 624
31/08/2024 024
1/09/2024 024
2/09/2024 024
3/09/2024 021
4/09/2024 016
5/09/2024 06
6/09/2024 00
7/09/2024 00

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.

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

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
)

View solution in original post

3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

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
)

Syndicate_Admin
Administrator
Administrator

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.

Helpful resources

Announcements
New to Fabric survey Carousel

New to Fabric Survey

If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.

Power BI DataViz World Championships carousel

Power BI DataViz World Championships - June 2026

A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.

Join our Fabric User Panel

Join our Fabric User Panel

Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.

March Power BI Update Carousel

Power BI Community Update - March 2026

Check out the March 2026 Power BI update to learn about new features.

Top Kudoed Authors