代码之家  ›  专栏  ›  技术社区  ›  Eduardo Elias

如何在不同的数据源链接中使用同一个发布的powerbi报表?

  •  0
  • Eduardo Elias  · 技术社区  · 6 年前

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

    我使用other-web作为数据源并使用这样的链接

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

    其中无穷是数据库,我还有许多其他数据库:

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

    检索到的数据完全相同。

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

    1 回复  |  直到 6 年前
        1
  •  4
  •   Foxan Ng    6 年前

    Parameters and templates 在power中,bi正好服务于这个用例。

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

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

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

    在哪里? 1 2 相当于数据库名称( infinity rachu )在你的数据源中。

    查询将如下:

    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个 对于 数据库名称 然后单击加载:

    enter parameters

    您将看到该报表加载了来自数据库2(ID 2)的数据,并且它与第一个报表具有相同的报表布局:

    report 2