twalsh0625
¿Es posible, con el informe incrustado, filtrar el contenido automáticamente según el UID registrado en la aplicación en la que está incrustado el informe?
Eric_Zhang
@twalsh0625 escribió:
¿Es posible, con el informe incrustado, filtrar el contenido automáticamente según el UID ¿Ha iniciado sesión en la aplicación en la que está incrustado el informe?
@twalsh0625
Si.
Si el UID al que se refiere es una cuenta de Power BI, puede usar la integración con usuarios de Power BI y configurar la seguridad de nivel de fila de Power BI.
Si el UID al que se refiere es el ID de usuario en su propia aplicación, tendrá que usar Embedding con usuarios que no sean de Power BI. En cuanto a filtrar o usar RLS, RLS solía funcionar para el antiguo modelo de incrustación (obsoleto), para el nuevo modelo, la función RLS está en la hoja de ruta y se lanzará en el próximo trimestre. Entonces, en este momento, usar el filtro en la API Javascript de Power BI puede ser la única solución. Vea una demostración a continuación.
<html> <script src="https://microsoft.github.io/PowerBI-JavaScript/demo/node_modules/jquery/dist/jquery.js"></script> <script src="https://microsoft.github.io/PowerBI-JavaScript/demo/node_modules/powerbi-client/dist/powerbi.js"></script> <script type="text/javascript"> window.onload = function () { var uid= ["uid1"]; //get the uid with javascript from your page var Filter = { $schema: "http://powerbi.com/product/schema#basic", target: { table: "Table", column: "UID" }, operator: "Contains", values: uid } // Read embed application token from Model var accessToken = "H4sIAAAAAAAEAB2 xxxxx uCwAA"; // Read embed URL from Model var embedUrl = "https://app.powerbi.com/reportEmbed?reportId=1f1d9145-738a-4d20-ab5b-1236b283e942&groupId=73e1a3c6-08c4-4651-aa04-2bb701a573c7"; // Read report Id from Model var embedReportId = "1f1d9145-738a-4d20-ab5b-1236b283e942"; // Get models. models contains enums that can be used. var models = window['powerbi-client'].models; // Embed configuration used to describe the what and how to embed. // This object is used when calling powerbi.embed. // This also includes settings and options such as filters. // You can find more information at https://github.com/Microsoft/PowerBI-JavaScript/wiki/Embed-Configuration-Details. var embedConfiguration = { type: 'report', tokenType: models.TokenType.Embed, accessToken: accessToken, embedUrl: embedUrl, id: embedReportId, permissions: models.Permissions.All, filters:[Filter,Filter2], settings: { filterPaneEnabled: true, navContentPaneEnabled: true } }; var $reportContainer = $('#reportContainer'); var report = powerbi.embed($reportContainer.get(0), embedConfiguration); } </script> <div id="reportContainer" powerbi-settings-nav-content-pane-enabled="true" powerbi-settings-filter-pane-enabled="true"></div> </html>