如何将相同的已发布PowerBI报告与不同的数据源链接一起使用?

时间:2018-07-07 13:11:24

标签: powerbi m powerbi-datasource

我是PowerBI的新手,我需要使用由不同链接源创建的同一报表,这些源具有相同的表结构。

我使用Other-Web作为数据源,并使用这样的链接

http://db.other.com.br/nahar/infinity/rest/entitygrupo

数据库是无穷大,而我还有很多其他的东西:

http://db.other.com.br/nahar/rachu/rest/entitygrupo

检索到的数据完全相同。

由于我有许多数据库,因此我想找到一种方法以某种方式保持报告的完整性,而无需创建一个报告来更改源。如果我可以使用相同的已发布链接并传递一些可更改正在使用的链接的参数,那将是完美的。

1 个答案:

答案 0 :(得分:4)

Power BI中的

Parameters and templates正是为该用例服务的。

假设我们有以下数据源用于演示:

https://jsonplaceholder.typicode.com/posts/1

https://jsonplaceholder.typicode.com/posts/2

12等同于数据源中的数据库名称(infinityrachu)。

查询将类似于:

let
    Source = Json.Document(Web.Contents("https://jsonplaceholder.typicode.com/posts/1")),
    #"Converted to Table" = Record.ToTable(Source)
in
    #"Converted to Table"

现在我们可以为database_name创建一个新参数:

new parameter

database_name

然后我们可以转到Advanced Editor修改查询并参数化数据源:

let
    Source = Json.Document(Web.Contents("https://jsonplaceholder.typicode.com/posts/" & database_name)),
    #"Converted to Table" = Record.ToTable(Source)
in
    #"Converted to Table"

advanced editor

您会发现目前没有任何变化。

parameterize

创建一个简单的表以显示数据(id 1):

table 1

然后我们可以将报告导出为Power BI模板:

power bi template

如果打开模板文件,将要求您输入参数值。让我们尝试2的{​​{1}},然后点击加载:

enter parameters

您将看到该报告已加载了来自数据库2(id 2)的数据,并且其报告布局与第一个数据库相同:

report 2