可以有这么几种方法: 第一种方法:获取对方报告对应语义模型的上游数据源的访问权限 结果发现会碰到这些问题: 1. 上游涉及多个数据源,你需要一一获取访问权限再进行整合。 2. 上游数据源所有者以某种理由拒绝了你的访问请求。 3. 同事在将上游数据导入语义模型前,做了大量的数据清洗转换工作,你也必须做同样的清洗转换工作才能确保数据一致。将来万一 ETL 步骤有变动,你做不到及时同步。 4. ... 第二种方法:获取对方语义模型的Build 权限,使用 DirectQuery 的方式,搭建复合模型。 这种方法你仍然会面临一些问题: 1. 你需要筛选某个表的数据,但是DirectQuery 不支持。 2. 你要对数据进行额外的清洗转换,但是 DirectQuery 不支持。 3. 与本地模型一起查询时, 你发现性能似乎有问题。。。 4. ... 如果你已经遇到了以上种种麻烦,推荐使用第三种方法,获取对方语义模型的Build 权限,“导入”数据。 模型被发布到"高级工作区"后,我们可以在 “工作区设置/ Workspace settings” > “许可证信息 / License info” > “连接链接 / Connection link” 找到如下 URL 格式的字符串:
在 Power BI 中,点击 “获取数据” > “Analysis Service”,在“Server”中输入工作区的连接字符串,在“Database(optional)”中输入对方语义模型的名称,选择“Import /导入“模式。在下方的查询窗口输入需要运行的 DAX 查询。 点击确认后,会询问你的用户凭据。此时选择“Microsoft account”。由于你只有对方语义模型的权限,并不一定有对方工作区的权限,所以在下拉菜单中选择第二项。然后登录账户。最后点击“连接”。 这时候已经来到了我们熟悉的Power Query 的预览窗格了。点击“转换数据”,可以继续使用查询编辑器对刚才的 DAX 查询做进一步的清洗转换。 这样,我们就把对方语义模型中的数据成功“导入”进我们自己的语义模型中了。 我们不仅仅是通过SSAS连接器导入了语义模型数据,还可以通过此方法获取到模型中的 DMV 信息。包括表,列,度量值,关系等等。 在与 AI + Power BI 的操作中,除了通过 TMDL 文件获取模型元数据提供给 AI,其实在适当的数据清洗转换后, DMV 同样可以。 如果你有类似的需求,可以尝试本文的方法,希望对你有帮助~ |
|