The ultimate Fabric, Power BI, SQL, and AI community-led learning event. Save €200 with code FABCOMM.
Get registeredEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
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
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