CDS 中预过滤的表/实体、系统视图或存储过程(基于 Dynamics CRM DB)
Posted
技术标签:
【中文标题】CDS 中预过滤的表/实体、系统视图或存储过程(基于 Dynamics CRM DB)【英文标题】:Pre-filtered tables / entities, Systems Views or Stored Procedures in CDS (based on Dynamics CRM DB) 【发布时间】:2020-06-09 10:36:16 【问题描述】:问题: 我将 CRM 通过 Common Data Service (CDS) 连接到 PowerBI,但我无法将视图(系统或个人)从 Dynamics 拉入 PowerBI。
试过了: 当然,我可以通过 PowerBI 中的 CDS 连接器获取整个 Dynamics Entities,但我无法选择我准备好的视图。
情况: 目前,我们在 SQL 中使用我们的 Dynamics 数据库的镜像来运行 PowerBI 的数据查询(当有人提取数百万行数据以刷新他们的 BI 报告时,不会影响 Dynamics 服务器的性能。)我们创建使用 Dynamics CRM 的数据集成工具复制我们的 Dynamics 数据库。 我们在 SQL 数据库(下面的“....database.windows.net”图像)中设置的视图(和存储过程)是我们允许用户访问以运行他们的报告的地方。 (我没有扩展视图/存储过程,但它们在那里)
解决方案:Image of SQL code & errors 不必使用数据集成工具将我们的动态数据库传递到我们的 SQL 数据库而是使用 Common Data Service 会更有效,但是,在 CDS 中我似乎也无法创建:
观看次数
存储过程
我了解 CDS 是一种访问数据的方式,而不是数据库,但我们希望更好地控制用户可以访问哪些数据。也就是说,我们只想向他们展示我们选择的内容,这是他们使用 Dynamics 中的角色和权限能够看到的内容的子集。
这里有一篇关于我们如何设置 Dynamics - CDS 集成的文章:https://www.powerobjects.com/blog/2020/05/20/use-sql-to-query-data-from-cds-and-dynamics-365-ce/
【问题讨论】:
任何后续问题? 【参考方案1】:一些事实,你可能知道这些,为了清楚起见仍然分享:
-
不支持(不推荐)在 CRM 数据库中创建对象(如视图/SP),即使在过去的内部部署中也是如此。现在到目前为止 CRM 在线数据库无法访问,在 5 月 6 日 MBA 峰会推出的 CDS 数据库查询功能预览(半熟)之前,只有使用 Scribe 或 DES 进行复制是一种方法(我相信您的
*.database.windows.net
就是这样)。
CRM 视图与数据库视图不同。 CRM 视图(个人/系统视图)只是预定义的高级 find fetchxml 查询,存储在 savedquery
和 userquery
实体中。这些可以使用 CRM Org 服务或 SDK 执行。
过去,我们用于查询 s-s-rS 报告中的过滤视图,这些报告维护 CRM 数据安全模型的完整性(如用户拥有、BU 团队共享等)和 s-s-rS fetchxml 报告沿用期待。但是 PowerBI 报告 RLS 是不够的,当它们建立在那些没有“过滤视图”的复制数据库之上时。至少您可以在那些复制的数据库中创建像 SP/视图这样的对象,但由于 CDS 直接查询功能仍处于预览阶段 - 我们可以期待更多类似的功能(我仍然怀疑!?但至少文档回答)当它是 GA(99 %煮熟)。
我仍在等待 CDS 数据库直接查询以完整的功能和文档进入 GA。
【讨论】:
以上是关于CDS 中预过滤的表/实体、系统视图或存储过程(基于 Dynamics CRM DB)的主要内容,如果未能解决你的问题,请参考以下文章