【问题标题】:How to access single tenant Azure Analsysis Server with Power BI Embedded如何使用 Power BI Embedded 访问单租户 Azure 分析服务器
【发布时间】:2018-03-13 19:51:01
【问题描述】:

因此,目前我很难理解如何设置 Power BI Embedded,以便每个客户都可以从他们自己的单独 Azure 分析服务访问数据,这是一种应用拥有数据的情况。 Analysis Services 将在内存模式下运行,并将通过 Live Connect 从 Power BI 进行访问。

理想情况下,我希望 Power BI 报表不知道数据集/数据源,直到为嵌入式报表提供了报表解释的参数(例如连接字符串),以便它知道要连接到哪个服务器。因此,理想情况下拥有:一个工作区、一个报告和零(或假)数据集。

以下是我大致要做的事情(注意红色和蓝色流访问不同的服务器):

如果我为每个客户创建一个报告和数据集,我似乎可以实现我的目标,但这似乎是一种糟糕的方法,因为如果需要更新报告,这可能涉及更新数百个报告。当所有 Power BI 需要为每个请求更改的是指向数据源的连接字符串时,创建数百个报告似乎也是不必要的开销。

那么,是否可以在所有客户之间共享工作区和报告,但拥有完全独立的数据源?还是我的方法与 Power BI 预期的运行方式相冲突?

迄今为止,我在 Power BI Desktop 中配置数据源时尝试使用 Query Parameters,但出现以下错误:

The connect live option for this file is disabled because it already contains data from another data source. You cannot explore live data and connect to another type of data source in the same file.

【问题讨论】:

    标签: powerbi powerbi-embedded azure-analysis-services


    【解决方案1】:

    请注意,

    Power BI 中的每个报表只能连接到一个数据集。 无法动态更改连接字符串。

    目前以及在可预见的将来,您必须为每个客户(或每个连接设置)克隆报告和数据集,并修改新数据集的连接字符串以匹配。

    然后,您可以根据客户的需求动态选择要显示的报告。

    可以使用以下方法克隆报告:

    POST https://api.powerbi.com/v1.0/myorg/reports/{report_id}/Clone

    POST https://api.powerbi.com/v1.0/myorg/groups/{group_id}/reports/{report_id}/Clone

    https://msdn.microsoft.com/en-us/library/mt784674.aspx

    更改连接字符串将使用:

    POST https://api.powerbi.com/v1.0/myorg/datasets/{dataset_id}/Default.SetAllConnections (类似的组 API)

    https://msdn.microsoft.com/en-us/library/mt748181.aspx

    使用 Power BI 团队提供的 C#.NET 库,您将使用

    Reports.CloneReport(string reportKey, CloneReportRequest requestParameters)

    Datasets.SetAllDatasetConnections(string datasetKey, ConnectionDetails parameters)

    【讨论】:

    • 我挖掘的越多,看起来每个客户都有一个报告/数据集是唯一的选择。对于应用拥有数据的方法来说,这似乎是一种非常糟糕的方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-02-25
    • 2021-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多