Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powerbi 从一个PBIX文件为多个客户端提供服务_Powerbi - Fatal编程技术网

Powerbi 从一个PBIX文件为多个客户端提供服务

Powerbi 从一个PBIX文件为多个客户端提供服务,powerbi,Powerbi,我们正在研究一个场景,其中在react应用程序中有一个嵌入式Power BI报告。此Power BI报告为应用程序所有 我们的目标是,当客户机登录到我们的React应用程序时,我们在幕后使用嵌入令牌将该用户登录到Power BI,并向客户机显示他们的数据 我知道如何使用行级安全性来过滤单个表,以便用户只看到自己的数据。问题是我发现我们将每个客户机的数据存储在他们自己的表中。因此,我们的表列表可能如下所示: 数据单元c1 预测 数据单元c2 预测 数据单元c30121 预测c30121 好消息是数

我们正在研究一个场景,其中在react应用程序中有一个嵌入式Power BI报告。此Power BI报告为应用程序所有

我们的目标是,当客户机登录到我们的React应用程序时,我们在幕后使用嵌入令牌将该用户登录到Power BI,并向客户机显示他们的数据

我知道如何使用行级安全性来过滤单个表,以便用户只看到自己的数据。问题是我发现我们将每个客户机的数据存储在他们自己的表中。因此,我们的表列表可能如下所示:

数据单元c1 预测 数据单元c2 预测 数据单元c30121 预测c30121

好消息是数据和预测具有相同的结构,只是不同的客户端数据

我不想做的是创建一个包含所有表的PBIX文件。我也不想为每个客户端创建一个PBIX。有没有一种方法可以动态指定在运行时使用哪些表?因此,如果我以Chris的身份登录报告,我会看到客户c1。如果我以Bob身份登录,我会看到客户端c30121

如果这是C中的SQL,我只需要执行string query=select*from data_uu+clientName


这在PowerBI中似乎是不可能的。

将数据库中的工作交给存储的进程

您将在embedded中使用用户名或生成的任何标记。我们通常通过管道传递附加参数,如me@example.com|company=c30121作为令牌中的用户名,然后在RLS中解析它

您可以将这样一个用户名组合传递给一个存储过程,使用它可以完成所有繁重的工作,包括解析用户名和数据处理


从PowerBI调用存储过程可能很有趣,我已经好几年没有这么做了。自2016年以来情况可能有所改善…

您是导入数据还是使用directQuery?您好,我们使用的是directQueryYou可以在数据库中创建一个视图,合并所有这些表,并使用客户端ID或名称再添加一列,等等。然后在报告中,您可以使用RLS或过滤器仅显示相关数据。我们考虑过这一点,但这可能意味着数百万行联合在一起。这就是为什么我们首先将数据划分到单独的表中。