Powerbi 如何访问嵌入Power BI的单租户Azure Analsis服务器

Powerbi 如何访问嵌入Power BI的单租户Azure Analsis服务器,powerbi,powerbi-embedded,azure-analysis-services,Powerbi,Powerbi Embedded,Azure Analysis Services,所以,目前我很难理解如何设置Power BI Embedded,以便每个客户都可以从各自的Azure分析服务访问数据,这是一种应用程序拥有数据的情况。Analysis Services将在内存模式下运行,并将通过Live Connect从Power BI访问 理想情况下,我希望Power BI报告不知道数据集/数据源,直到嵌入式报告提供了报告解释的参数(例如连接字符串),以便它知道要连接到哪个服务器。因此,理想的情况是:一个工作区、一个报告和零(或假)数据集 下面大概是我要做的(注意红色和蓝色的

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

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

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

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

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

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

此文件的connect live选项已禁用,因为它已包含来自其他数据源的数据。您无法浏览实时数据并连接到同一文件中的其他类型的数据源。

请注意

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

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

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

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

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

POSThttps://api.powerbi.com/v1.0/myorg/groups/{group\u id}/reports/{report\u id}/Clone

更改连接字符串将使用以下方法完成:

POSThttps://api.powerbi.com/v1.0/myorg/datasets/{dataset_id}/Default.SetAllConnections
(适用于团体的类似API)

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

Reports.CloneReport(字符串reportKey,CloneReportRequest requestParameters)


Datasets.SetAllDatasetConnections(字符串datasetKey,ConnectionDetails参数)

我挖得越多,就越觉得每个客户都有一个报告/数据集是唯一的选择。对于应用程序拥有数据的方法来说,这似乎是一种非常糟糕的方法。