javascript - 如何在报告中设置过滤器 Power BI embedded javascript

标签 javascript powerbi

我想在我的报告 power bi embedded 上添加 somes 过滤器,我有一个 html 文件,我需要在 javascript 中添加 somes 过滤器,但我没有开发人员的经验。我只需要看一个例子,看看如何添加它。

<head>  `enter code here`
    <meta http-equiv="Content-type" content="text/html; charset=utf-8">  
    <meta name="viewport" content="width=device-width,initial-scale=1">  
    <title>test</title>  

    <script type="text/javascript" language="javascript" src="https://code.jquery.com/jquery-1.12.4.js"></script>  
    <script type="text/javascript" language="javascript" src="https://rawgit.com/Microsoft/PowerBI-JavaScript/master/dist/powerbi.min.js"></script>  


</head>  

<body>  
    <h1>test</h1>  
    <div id="reportContainer" style="width: 80%; height: 800px;"></div>  
</body>  

<script>  
    $(document).ready(function () {  
        var getEmbedToken = "https://testclienttest.azurewebsites.net/api/HttpTrigger1?code=XXXXXXXXXXXXXXXXXXX/XXXXXXXXXXXXX==";  

        $.ajax({  
            url: getEmbedToken,  
            jsonpCallback: 'callback',  
            contentType: 'application/javascript',  
            dataType: "jsonp",  
            success: function (json) {  

                var models = window['powerbi-client'].models;  

                var embedConfiguration = {  
                    type: 'report',  
                    id: json.ReportId,  
                    embedUrl: json.EmbedUrl,  
                    tokenType: models.TokenType.Embed,  
                    accessToken: json.EmbedToken  
                };  

                var $reportContainer = $('#reportContainer');  
                var report = powerbi.embed($reportContainer.get(0), embedConfiguration);


            },  
            error: function () {  
                alert("Error");  
            }  
        });  

    });  
</script>  

</html>

我认为要添加的过滤器是在这一行之后:var report = powerbi.embed($reportContainer.get(0), embedConfiguration);

最佳答案

要过滤您的嵌入报告,您必须构建一个或多个过滤器并将它们作为数组传递给 JavaScript 客户端 - 在 embedConfigurationfilters 属性中,或作为report/page/visual setFilters 方法的参数。

过滤器可以来自以下类型之一:

  • IBasicFilter
  • 高级过滤器
  • IRelativeDateFilter
  • ITopNFilter
  • IIncludeExcludeFilter

例如,要过滤名为Product的表只显示数据,其中Count列为1、2或3可以构造如下:

const basicFilter: pbi.models.IBasicFilter = {
  $schema: "http://powerbi.com/product/schema#basic",
  target: {
    table: "Product",
    column: "Count"
  },
  operator: "In",
  values: [1,2,3],
  filterType: 1 // pbi.models.FilterType.BasicFilter
}

然后修改您的代码以将此过滤器传递给 embedConfiguration:

var embedConfiguration = {  
    type: 'report',  
    id: json.ReportId,  
    embedUrl: json.EmbedUrl,  
    tokenType: models.TokenType.Embed,  
    accessToken: json.EmbedToken,
    filters: [basicFilter]  
};

有关配置嵌入元素的更多信息,请参阅 Embed Configuration Details并查看有关如何使用不同过滤器类型和应用它们的更多信息,请参阅 Filters .

关于javascript - 如何在报告中设置过滤器 Power BI embedded javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57284193/

相关文章:

javascript - 可排序的 div 内的滚动条

javascript - 从请求中获取文件路径

javascript - 正则表达式转义 HTML 标签

python - Power BI Rest API 请求未按预期授权

reactjs - 我是否需要 Azure AD 应用程序才能将 Power BI 报告嵌入到我自己的应用程序中?

javascript - JQuery 存储 for 循环中的值?

javascript 定时插件

PowerBI:如何获取表中列的不同计数,同时对许多列分别进行分组

date - 快速测量错误 : "Only Power BI-provided date hierarchies are supported"

powerbi - DAX - 跨日期均匀分布数据