¿Cómo paso los parámetros de informe paginados usando PowerBI-JavaScript powerbi-client?

Un usuario Pregunto ✅

DJBadinN

1. ¿Cómo paso los parámetros de informe paginados usando PowerBI-JavaScript powerbi-client?

Tengo informes paginados de SSRS. Abrí el archivo .rdl en Power BI Report Builder y lo publiqué en el servicio Power BI. Los informes usan consultas directas y tienen parámetros.

En Power Bi Playground, puedo usar el parámetro de URL rp, «&rp:Company=ABC», para pasar valores de parámetros al informe.

Usando PowerBI-JavaScript, si agrega el parámetro de URL en la configuración embedURL, «&rp:Company=ABC», no funciona.

He mirado los filtros pero entiendo que esto es diferente de los parámetros donde los parámetros limitan los datos devueltos desde la fuente de datos donde los filtros funcionan en los datos devueltos desde la fuente de datos que pueden ser ineficientes con una gran cantidad de datos.

2. ¿Dónde puedo encontrar documentación sobre el flujo del ciclo de vida que debo esperar ver?

Usando Fiddler, veo un montón de llamadas a wabi-us-east-a-primary-redirect.analysis.windows.net con un origen de https://app.powerbi.com/.

La actualización no ayudó:
– Microsoft.PowerBI.API 3.21.0 a 3.23.0
– PowerBI-JavaScript 2.16.5 a 2.18.0

Hola @DJBadinN,

Lo siento, no encontré un documento oficial o blog para su pregunta. Consulte el enlace a continuación, espero que puedan ayudarlo y darle algunas pistas o ideas.

Pasar el parámetro configurado usando el token de inserción

Filtros (parámetros) para el informe RDL (paginado) en PowerBI-JavaScript API

Atentamente

DJBadinN

En respuesta a yingyinr

Estoy usando parámetros de conjuntos de datos, no filtros de conjuntos de datos, por lo que el segundo enlace, Filtros (parámetros) para el informe RDL (paginado) en PowerBI-JavaScript API, no trabajará. En mi ámbito, los filtros no son aceptables debido a problemas de rendimiento, como se explicó. Guía de recuperación de datos para informes paginados: Power BI | Documentos de Microsoft

El primer enlace, Pasar el parámetro configurado usando el token de inserción, es un truco terriblemente complicado y de alcance limitado. Sin embargo, conseguí que funcionara:

  • La prueba no funciona con
    • Generador de informes de Power BI
    • Servicio de aplicaciones de Power BI
  • Dado que no está integrado, la solución alternativa no se autodocumenta.
  • Hay un campo incorporado para el informe, ID de usuario (¡Usuario! ID de usuario)
    • El nombre de usuario de la identidad del token se asigna a este campo incorporado
  • Si necesita el ID de usuario del informe real, no puede usar este truco
  • No funciona si hay varios parámetros de conjuntos de datos
    • Podría pasar una cadena de varios valores en el nombre de usuario de Identity
      • Analizar ID de usuario en el lado del informe
    • Es dudoso que utilice otras propiedades de identidad, pero ¿están asignadas a los campos integrados del informe?
      • conjuntos de datos
      • roles
      • datos personalizados
      • identidadBlob
      • informes
  • Esta no es una solución aceptable.

danilche

En respuesta a DJBadinN

Hola DJBadinN,

Logré incrustar un informe paginado simple usando un conjunto de datos incrustado, pero para POC necesitaría pasar algunos filtros y explorar las capacidades de aplicar RLS. Definí un ID de usuario incorporado en el campo como filtro (en este punto no me preocupa el rendimiento y eventualmente puedo volver a trabajar esto como parámetro).

¿Puede ayudarnos a piratear la llamada a la API GenerateTokenRequest? Según los documentos de MS, así es como se supone que debe verse el cuerpo:

danilche_0-1624008437118.png

Se me ocurrió esto usando la muestra de C#:

danilche_1-1624008861348.png

Sin embargo, el método de Identidad Efectiva no tiene un parámetro ‘informes’, así que supongo que no debería usarse en absoluto.

Estoy recogiendo C # en el acto, por lo tanto, tengo problemas para encontrar una solución personalizada, ¡y cualquier sugerencia / sugerencia sería muy apreciada!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *