Dataverse
总结
项目 | 说明 |
---|---|
发布状态 | 正式版 |
产品 | Excel Power BI(语义模型) Power BI(数据流) Fabric(数据流 Gen2) Power Apps(数据流) Dynamics 365 Customer Insights |
身份验证类型 | 组织帐户 服务主体 |
注意
如果使用的是本地数据网关或虚拟网络(VNet)数据网关,则不支持服务主体身份验证类型。
注意
由于部署计划和特定于主机的功能,某些功能可能只存在于一个产品中。
先决条件
必须拥有 Dataverse 环境。
必须具有用于访问表中数据的读取权限。
要使用 Dataverse 连接器,必须在环境中启用 TDS 终结点设置。 详细信息:管理功能设置
若要使用 Dataverse 连接器,需要开放 TCP 端口 1433 或 5558 以进行连接。 自动使用端口 1433。 但是,如果端口 1433 被阻止,则可改用端口 5558。 若要启用端口 5558,则必须将端口号追加到 Dataverse 环境 URL,如“环境ID.crm.dynamics.com:5558”。 详细信息:因关闭端口导致的 SQL Server 连接问题
注意
如果使用的是 Power BI Desktop 且需使用端口 5558,则必须在 Power Query M 中创建具有 Dataverse 环境 URL 的源(如 yourenvironmentid.crm.dynamics.com,5558)。有关更多信息,请参阅查找 Dataverse 环境 URL。
支持的功能
- 服务器 URL
- 导入
- DirectQuery(Power BI 语义模型)
- 高级
- 包含关系列
从 Power Query Desktop 连接到 Dataverse
注意
Power Query Dataverse 连接器主要适用于分析工作负荷,而不是批量数据提取。 详细信息:备用 Dataverse 连接
若要从 Power Query Desktop 连接到 Dataverse:
从获取数据中选择 Dataverse 选项。 详细信息:获取数据的位置
如果是第一次连接到此站点,请选择登录并输入凭据。 然后选择连接。
在“导航器”中选择所需的数据,然后加载或转换数据。
如果使用的是 Power BI Desktop 中的 Power Query,系统会要求你选择“导入”或“DirectQuery 数据连接模式”。 然后选择确定。
从 Power Query Online 连接到 Dataverse
若要从 Power Query Online 连接到 Dataverse:
在选择数据源页面中选择 Dataverse 选项。 详细信息:获取数据的位置
在连接到数据源页面中,将服务器 URL 地址留空。 将此地址留空会列出你有权在 Power Query 导航器窗口中使用的所有可用环境。
注意
如果需要使用端口 5558 来访问数据,则需要加载在服务器 URL 地址末尾追加端口 5558 的特定环境。 在此情况下,请转到查找 Dataverse 环境 URL 以查看获取正确服务器 URL 地址的说明。
如果要使用本地数据,请根据需要输入本地数据网关。 例如,如果要合并来自 Dataverse 和本地 SQL Server 数据库的数据。
登录组织帐户。
成功登录后,选择下一步。
在导航页面中,选择所需数据,然后选择转换数据。
使用高级选项进行连接
Power Query Online 提供高级选项,以便你按需将这些选项添加到查询中。
下表列出了可在 Power Query Online 中设置的所有高级选项。
高级选项 | 说明 |
---|---|
包含关系列 | 如果选中此框,则会包含可能与其他表存在关系的列。 如果清除此框,则会无法看到这些列。 详细信息:与关系列相关的性能问题 |
选择所需高级选项后,选择“下一步”以连接到 Dataverse。
查找 Dataverse 环境 URL
如果需要使用端口 5558 以连接 Dataverse,则需查找 Dataverse 环境 URL。 打开 Power Apps。 在 Power Apps 页面右上角,选择要连接到的环境。 选择 设置图标,然后选择高级设置。
在打开的新浏览器选项卡中,复制 URL 的根目录。 此根 URL 是环境的唯一 URL。 URL 的格式为 https://<yourenvironmentid>.crm.dynamics.com/。 请确保先从 URL 中删除 https:// 和尾随的 /,然后再进行粘贴以连接到环境。 将端口 5558 追加到环境 URL 的末尾,例如“环境 ID.crm.dyamics.com:5558”。
何时使用 Common Data Service(旧版)连接器
Dataverse 是 Common Data Service 连接器的直接替代项。 但是,有时可能需要选择 Common Data Service(旧版)连接器而不是 Dataverse 连接器:
使用 Dataverse 中不支持的 Common Data Service(旧版)时,OData 支持某些表格格式数据流 (TDS) 数据类型。 Dataverse SQL 与 Transact-SQL 的差异列出了支持和不支持的数据类型。
所有这些功均会在未来添加到 Dataverse 连接器,届时将弃用 Common Data Service(旧版)连接器。
更多信息:访问大型语义模型
限制和问题
Excel 主机特定
Excel 中的 Power Query Dataverse 连接器目前不支持主权云群集(例如中国、德国、美国)。
Dataverse 性能和限制
有关针对 Dataverse 连接的性能和限制的信息,请转到请求限制和分配。 访问同一终结点时,这些限制同时适用于 Dataverse 连接器和 OData 源连接器。
表检索速率
通常情况是,使用 Dataverse 连接器时大多数默认表的检索速率约为每秒 500 行。 在决定是要连接到 Dataverse 还是导出到数据湖时,请考虑此速率。 如果需要更快的检索速率,请考虑使用“导出到数据湖”功能或表格格式数据流 (TDS) 终结点。 有关详细信息,请转到备用 Dataverse 连接。
备用 Dataverse 连接
可通过多种替代方法从 Dataverse 提取和迁移数据:
使用 Power Apps 中的 Azure Synapse Link 功能将数据从 Dataverse 提取到 Azure Data Lake Storage Gen2,然后便可使用该功能来运行分析。 有关 Azure Synapse Link 功能的详细信息,请转到什么是 Azure Synapse Link for Dataverse?。
使用 OData 连接器将数据移入和移出 Dataverse。 有关如何使用数据流 OData 连接器在 Dataverse 环境之间迁移数据的详细信息,请转到使用数据流 OData 连接器在 Dataverse 环境之间迁移数据。
注意
Dataverse 连接器和 OData API 均旨在用于数据量相对较小的分析场景。 针对大容量数据提取,建议采用“Azure Synapse Link”方法。
因关闭端口导致的 SQL Server 连接问题
使用 Dataverse 连接器进行连接时,可能会遇到无法连接错误,它表示与 SQL Server 建立连接时出现网络或特定于实例的错误。 此错误可能源于 TCP 端口 1433 或 5558 在连接期间被阻止。 若要排查被阻止端口的错误,请转到阻止的端口。
将本机数据库查询与 Dataverse 配合使用
可使用自定义 SQL 语句或本机数据库查询以连接到 Dataverse。 虽然没有针对此体验的用户界面,但可使用 Power Query 高级编辑器输入查询。 若要使用本机数据库查询,则必须将某一数据库指定为源。
Source = CommonDataService.Database([DATABASE URL])
定义数据库源后,可使用 Value.NativeQuery 函数指定本机查询。
myQuery = Value.NativeQuery(Source, [QUERY], null, [EnableFolding=true])
最后,整个查询如下所示。
let
Source = CommonDataService.Database("[DATABASE]"),
myQuery = Value.NativeQuery(Source, "[QUERY]", null, [EnableFolding=true])
in
myQuery
列名拼写错误可能会导致有关查询折叠而非缺少列的错误消息。
访问大型语义模型
Dataverse 中包含的 Power BI 语义模型可能非常大。 如果使用的是 Power Query Dataverse 连接器,则访问模型的任何特定查询都有固定的五 (5) 分钟超时,而与数据大小无关。 有关详细信息,请转到限制。 因此,可能需多次查询数据才能访问模型中的所有数据。 使用多个查询可能需要相当长的时间才能返回所有数据。
如果使用 Common Data Service(旧版)连接器,则可使用单个查询来访问语义模型中的所有数据。 此连接器的工作方式与其他连接器不同,返回的结果页面每页有 5,000 条记录。 尽管 Common Data Service(旧版)连接器在返回大量数据时效率更高,但仍可能需要很长时间才能返回结果。
建议使用 Azure Synapse Link 访问大型语义模型,而不是使用这些连接器来访问大型模型。 使用 Azure Synapse Link 比使用 Power Query Dataverse 或 Common Data Service(旧版)连接器更为高效,而且它专为数据集成场景设计。
与关系列相关的性能问题
与 SQL Server 连接器类似,有一个选项可用于禁用 Dataverse 连接器中的导航属性(关系列),以便提高性能。 可在 Power Query Online 中提供的高级选项内设置此选项,也可使用 Dataverse 连接器函数中的 CreateNavigationProperties=false
参数进行设置。
Source = CommonDataService.Database("{crminstance}.crm.dynamics.com",[CreateNavigationProperties=false]),