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

Enhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.

Reply
Syndicate_Admin
Administrator
Administrator

El filtro DAX devuelve resultados inesperados

Hola

Con PBID 2.135 (agosto de 2024) y DAX Studio 3.0.11.
Creé una tabla virtual basada en selecciones de segmentación, ahora estoy tratando de usar DAX Studio para verificar esos resultados.

Esta es mi medida con mesa virtual:

v Table Row Count =

VAR __Channel = ALLSELECTED(Channel[Channel])
VAR __Period = ALLSELECTED('Date Table'[QQYY])

VAR __vTable =
SUMMARIZE(
Data,
Data[Channel],
Data[Customer Name]
)

VAR __vTable2 =
CALCULATETABLE(
__vTable,
KEEPFILTERS( TREATAS( {__Channel}, Channel[Channel] )),
KEEPFILTERS( TREATAS( {__Period}, 'Date Table'[QQYY] ))
)

RETURN
COUNTROWS(__vTable2)

Y esta es mi consulta de DAX Studio

/* START QUERY BUILDER */
EVALUATE
SUMMARIZECOLUMNS(
Data[Channel],
Data[Customer Name],
KEEPFILTERS( TREATAS( {"Military","Commercial"}, Channel[Channel] )),
KEEPFILTERS( TREATAS( {"Q4'23","Q3'23"}, 'Date Table'[QQYY] ))
)
ORDER BY
Data[Channel] ASC,
Data[Customer Name] ASC
/* END QUERY BUILDER */


La consulta de DAX Studio devuelve más canales que solo Militar y Comercial.

¿A qué se debe?

Agradezco todos los pensamientos/comentarios sobre la medida, así como la consulta.

Gracias

-en

2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

Hola @tecumseh

Como prueba, intente usar FILTER en lugar de TREATAS. A veces, la función TREATAS no filtrará la tabla de datos correctamente si tiene problemas de relación, por ejemplo.

EVALUATE SUMMARIZECOLUMNS( Datos[Canal], Datos[Nombre del cliente], FILTER(ALL(Canal[Canal]), Canal[Canal] IN {"Militar", "Comercial"}), FILTER(ALL('Tabla de fechas'[QQYY]), 'Tabla de fechas'[QQYY] IN {"Q4'23", "Q3'23"}) ) ) ORDER BY Data[Channel] ASC, Data[Customer Name] ASC

Gracias @marcelsmaglhaes ,

Comprobé que las relaciones se ven bien en ambos 1:M
Canal --> datos
Tabla de fechas --> datos

Volví a formatear su consulta y la ejecuté
Seguimos obteniendo resultados para otros canales

Gracias
-w

EVALUATE 

SUMMARIZECOLUMNS(
Data[Channel],
Data[Customer Name],
FILTER(
ALL(Channel[Channel]),
Channel[Channel] IN {"Military", "Commercial"}
),
FILTER(
ALL('Date Table'[QQYY]),
'Date Table'[QQYY] IN {"Q4'23", "Q3'23"}
)
)

ORDER BY
Data[Channel] ASC,
Data[Customer Name] ASC




Helpful resources

Announcements
July 2025 community update carousel

Fabric Community Update - July 2025

Find out what's new and trending in the Fabric community.

July PBI25 Carousel

Power BI Monthly Update - July 2025

Check out the July 2025 Power BI update to learn about new features.

Top Solution Authors
Top Kudoed Authors