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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Syndicate_Admin
Administrator
Administrator

Informe paginado - varios parámetros a través de la consulta DAX

Hola, estoy usando DAX generado a partir del informe PowerBI (usando el Analizador de Rendimiento) y usándolo en el informe Paginated. Cuando el parámetro tiene varios valores, la consulta no lo entiende y devuelve en blanco. Veo que la consulta DAX generada tiene parámetros como ese.

Consulta generada por Power BI Performance Analyzer:

VAR __DS0FilterTable2 = 
    TREATAS({@GrowerGroup}, 'Enrolled Growers'[Program_Group_Name])

¿Cómo cambio este TREATAS para dar cabida a varios valores algo así como lo que hace el diseñador de consultas? Traté de usar RSCustomDAXFilter en la consulta anterior, pero no entendí cómo reemplazar TREATAS con RSCustomDAXFilter

Consulta generada por el Diseñador de consultas:

EVALUATE SUMMARIZECOLUMNS
('Enrolled Growers'[Program_Group_Name], 'POS'[Points],
RSCustomDaxFilter(@GrowerGroup,EqualToCondition,
[Enrolled Growers].[Program_Group_Name],String))

gracias
-RK

1 ACCEPTED SOLUTION

Ahhhh... la solución fue bastante fácil. Poniéndolo aquí, por si acaso, cualquiera se encuentra con el mismo problema.

= Unirse (parámetros! GrowerGroup.Value,"|")

gracias

RK

View solution in original post

11 REPLIES 11
Syndicate_Admin
Administrator
Administrator

El Diseñador de consultas es un error y debe eliminarse/comentarse

Vote para que QD se elimine de la base de código m$.

Syndicate_Admin
Administrator
Administrator

Hola RK,

Parece que pudo pasar un parámetro en una consulta generada desde Power BI.

¿Podría explicar cómo lo hizo? Cuando lo estoy intentando, recibo un mensaje de error y parece que no fue un problema para ti.

Mejor

Syndicate_Admin
Administrator
Administrator

Hey Ritesh, el RSCustomDaxFilter cuando se ejecuta hace un reemplazo de cadena literal con FILTER(VALUES(...). Por lo tanto, puede intentar obtener la consulta del analizador perf con un único FILTER() codificado de forma rígida en la consulta. A continuación, simplemente reemplace ese filtro por RSCustomDaxFilrer(...). Echa un vistazo al blog de Chris Webb para un buen resumen de lo que hace.

https://blog.crossjoin.co.uk/2019/11/03/power-bi-report-builder-and-rscustomdaxfilter/

Ahhhh... la solución fue bastante fácil. Poniéndolo aquí, por si acaso, cualquiera se encuentra con el mismo problema.

= Unirse (parámetros! GrowerGroup.Value,"|")

gracias

RK

Hay @Ritesh_Air ,

Lo siento, pero mi inglés no es muy bueno. Tengo la misma duda que @NielsDW (25-06-2021 10:14 AM). ¿Puede usted por favor elaborar dónde se completó este "Unirse(Parámetros! GrowerGroup.value, "|").

No sé si es correcto aquí donde lo he puesto como se ve en la captura de pantalla de abajo (en mi caso el parámetro se llama "Viajante"), pero tampoco me funciona y también he intentado poner =Join(Parameters! Viajante.Value,","). Cuando selecciono un solo valor, devuelve la lista correcta. Cuando selecciono varios valores, se devuelve una lista en blanco.

También tengo dudas de si debo usar la función TREATAS o alguna otra (captura de pantalla 2).

¿Qué estoy haciendo mal?. Espero que tú o alguien pueda ayudarme.

Gracias de antemano!

Screenshot_4.jpg

Screenshot_5.jpg

Screenshot_6.jpg

Ritesh_Air_0-1627835931183.png

En dsMain:

Ritesh_Air_1-1627836012989.png

A ver si funciona. @mimara79 @NielsDW

@Ritesh_Air muchas gracias por responder y por las capturas.

Perfecto, ahora funciona correctamente!

Ahora estoy tratando de configurar el filtro para que el valor "Seleccionar todo" aparezca por defecto pero no funciona con lo que estoy poniendo.
Sé que si pongo todos los valores que existen en el campo "Viajante" como se ve en la captura de pantalla de abajo funciona correctamente pero hay muchos valores y me gustaría saber si hay alguna otra forma de hacerlo y no tener que poner todos los valores.

No sé si usted o alguien puede ayudarme con esto.
Muchas gracias de nuevo.

Screenshot_8.jpg

Screenshot_7.jpg

Hola, ya encontré la solución a mi post anterior sobre el valor predeterminado "Seleccionar todo".

Pongo las capturas de pantalla a continuación
en caso de que haya alguien que tenga la misma pregunta y pueda ayudarte.

Tal vez hay una mejor manera de hacerlo, pero no lo sé.

Screenshot_10.jpgScreenshot_11.jpgScreenshot_9.jpg

Hola Ritesh_Air,

¿Puede usted por favor elaborar dónde se completó este "Unirse(Parámetros! GrowerGroup.value, "|").

Me estoy topando con el mismo problema con respecto al filtrado de valores de parámetros en mi tabla. Cuando selecciono un solo valor, devuelve la lista correcta. Cuando selecciono varios valores, se devuelve una lista en blanco.

Gracias de antemano!

@Jon Heath

Una actualización más:

Si cambio mi variable a esto:

  VAR __DS0FilterTable2 = 
    FILTER(
      VALUES( 'Enrolled Growers'[Program_Group_Name] ),
      PATHCONTAINS(@GrowerGroup, 'Enrolled Growers'[Program_Group_Name] )
    )

No obte tengo ningún error de sintaxis y la consulta se ejecuta bien. Si elijo 1 valor de la lista desplegable, obteré el resultado correcto, pero si elijo varios, entonces no obtego datos. Por lo tanto, de alguna manera, no reconoce varios valores, incluso después de usar pathcontains funciones. Estoy perplejo. 😞

gracias

-RK

@Jon-Heide Gracias por su opinión.

¿Puede explicar más? No lo veo venir como FILTRO (VALORES.....) mientras pongo un solo filtro. ¿Cómo lo obligaría a generar código FILTER (VALUES....)? Obte tengo código TREATAS....

Puse un solo filtro en la bandeja de filtros y obtego esto:

// DAX Query
DEFINE
VAR __DS0FilterTable =
TREATAS({"172 Garing"}, 'Enrolled Growers'[Program_Group_Name])

Si sustituyo la línea como esta:

// DAX Query
DEFINE
  VAR __DS0FilterTable = 
   RSCustomDaxFilter(@GrowerGroup,EqualToCondition,
   [Enrolled Growers].[Program_Group_Name],String))

No funcionó. Ahora probé el blog de Chris y probé esto: Usando PATHCONTAINS.

  VAR __DS0FilterTable2 = 
 filter(
Enrolled Growers
, pathcontains(@GrowerGroup, Enrolled Growers[Program_Group_Name])
)

Opción # 1: Sustitución de TREATAS como RXCUSTOMFILTER

Ritesh_Air_0-1618762230847.png

Opción 2: sustitución de TREATAS como PATHCONTAINS...

Tengo un error diciendo que no es correcto.

¿Qué estoy haciendo mal?

¡Gracias por su ayuda!

-RK

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

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