如何从PowerBI公共报告中获取表名和报告部分?

3
我想要在多个公开发布的PowerBI报告中构建一个搜索功能。我希望能够过滤,例如,按公司名称进行过滤,并返回所有提到该公司的报告。
我正在测试“页面和URL筛选器”功能。问题是:我不知道如何从已发布的报告中找到表格名称或报告部分。这些信息是否公开可见?
例如,对于这个面板:https://app.powerbi.com/view?r=eyJrIjoiNGI1OGYwOTgtZWQ5YS00Y2I4LTlkOTUtNjI4MDE1Yjk4MjE1IiwidCI6IjQwZDZmOWI4LWVjYTctNDZhMi05MmQ0LWVhNGU5YzAxNzBlMSIsImMiOjR9 我想要能够导航到第一页的报告视图(项目分类报告...)并过滤出“Eletropaulo”,但我需要报告区域的ID和表名,而我不知道如何找到(甚至是否能找到)。查询URL可能是这样的:

https://app.powerbi.com/view?r=eyJrIjoiNGI1OGYwOTgtZWQ5YS00Y2I4LTlkOTUtNjI4MDE1Yjk4MjE1IiwidCI6IjQwZDZmOWI4LWVjYTctNDZhMi05MmQ0LWVhNGU5YzAxNzBlMSIsImMiOjR9&pageName=**ReportSectionID**&filter=**TableName**/Sigla='Eletropaulo'

我希望有人能告诉我是否能够收集这些参数,如果可以的话,如何做到。谢谢!
1个回答

1
让我向你解释一下这里的情况:关于报告部分ID和表名的信息在发布的Power BI报告中是不公开可访问的。这些细节没有通过Power BI服务或报告URL公开。
关于在Power BI中使用'页面和URL筛选器'功能,它允许您指定报告页面并使用URL中的查询参数应用筛选器,但需要您知道报告页的名称以及表中的字段。
您可以使用Power BI REST API与报告进行编程交互并检索所需的信息。
通过API,您将能够访问报告元数据,包括报告部分、表和字段。
首先在Azure Active Directory中注册一个应用程序,以获取访问Power BI API所需的凭据:客户端ID和客户端密钥以进行API身份验证。
然后使用Power BI REST API进行身份验证:尝试通过向Azure AD令牌端点发送POST请求,使用您的客户端ID、客户端密钥和其他必需参数来获取访问令牌。
使用获取到的访问令牌,向Power BI REST API的“Get Reports”端点(https://api.powerbi.com/v1.0/myorg/reports)发起GET请求。需要解析响应以提取所需的信息,如报告ID和名称。
对于每个报告,向“Get Report In Group”端点(https://api.powerbi.com/v1.0/myorg/groups/{group_id}/reports/{report_id})发起GET请求,以检索报告元数据。需要从响应中提取报告部分、表格及其相应的字段。
现在你拥有了实现搜索功能所需的一切:
- 遍历检索到的报告、部分和表格。 - 对于每个表格,构建一个包含所需过滤条件的DAX查询(例如,CompanyName = 'Eletropaulo')。 - 使用“Execute DAX Query”端点(https://api.powerbi.com/v1.0/myorg/groups/{group_id}/reports/{report_id}/models/{model_id}/queries)执行DAX查询,并将DAX查询作为请求体传递。 - 解析响应以检索过滤后的数据。
查看文档以获取有关Power BI REST API的更多信息:https://docs.microsoft.com/zh-cn/rest/api/power-bi/

很遗憾,我不是这些报告的所有者。我原本希望作为一个公共用户能够以编程方式与过滤器进行交互,但无论如何,您提供的信息仍然非常有用,谢谢! - Felipe Carminati
很遗憾,我不是这些报告的所有者。我原本希望作为一个公共用户能够以编程方式与过滤器进行交互,但无论如何,您提供的信息仍然非常有用,谢谢! - Felipe Carminati

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接