Pasar UID de la aplicación al informe incrustado

Un usuario Pregunto ✅

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?


@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>

Deja un comentario

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