通过添加参数化的计算字段数据源提高 ER 解决方案的性能
本文介绍如何通过配置参数化的计算字段数据源,对使用的电子报告 (ER) 格式进行性能跟踪,然后使用这些跟踪的信息帮助提高性能。
在设计 ER 配置以生成业务文档的过程中,您将定义用于从应用程序检索数据并在生成的输出中输入的方法。 通过设计计算字段类型的参数化 ER 数据源,可以减少数据库调用数量,从而减少收集 ER 格式执行详细信息所需时间和成本。
先决条件
要完成本文中的示例,您必须具有以下其中一个角色的访问权限:
- 电子报告开发人员
- 电子申报功能顾问
- 系统管理员
公司必须设置为 DEMF。
执行本文的附录 1 中的步骤,以下载完成本文中的示例所需的示例 Microsoft ER 解决方案的组件。
执行本文的附录 2 中的步骤,以配置使用 ER 框架提高示例 Microsoft ER 解决方案性能所需的最少 ER 参数。
导入示例 ER 解决方案
假设必须设计一种 ER 解决方案来生成新报表以显示供应商交易记录。 现在,您可以在供应商交易记录页(转至应付帐款>供应商>所有供应商,选择供应商,然后在操作窗格中供应商选项卡上的交易记录组中选择交易记录)中找到所选供应商的交易记录。 但是,您希望让所有供应商交易记录都包含在一个 XML 格式的电子申报文档中。 此解决方案将由多个 ER 配置构成,这些配置中包含所需数据模型、模型映射和格式组件。
第一步是导入示例 ER 解决方案以生成供应商交易记录报表。
登录为您的公司预配的 Microsoft Dynamics 365 Finance 实例。
在本文中,将为示例公司 Litware, Inc. 创建并修改配置。 请确保已经将该配置提供程序添加到了您的 Finance 实例并标记为有效。 有关详细信息,请参阅创建配置提供程序并将其标记为有效。
在电子申报工作区中,选择报告配置磁贴。
在配置页中,按照下面的顺序将作为先决条件下载的 ER 配置导入 Finance 中:数据模型、模型映射、格式。 为每个配置执行下列步骤:
- 在操作窗格上,选择交换>从 XML 文件加载。
- 选择浏览并为 ER 配置选择 XML 格式的相应文件。
- 选择确定。
检查示例 ER 解决方案
查看模型映射
在配置页的配置树中,展开性能改进模型,然后选择性能改进映射。
在操作窗格上,选择设计器。
在模型到数据源映射页面的操作窗格中,选择设计器。
此 ER 模型映射用于执行以下操作:
- 提取 VendTrans 表中存储的供应商交易记录列表(Trans 数据源)。
- 对于每笔交易记录,从 VendTable 表提取已经为其过帐的供应商的记录(#Vend 数据源)。
注释
#Vend 数据源配置为使用现有的多对一关系 @.'>Relations'.VendTable_AccountNum 提取对应的供应商记录。
此配置中的模型映射实施为此模型创建并在 Finance 中运行的任何 ER 格式的基本数据模型。 因此,Trans 数据源的内容将对抽象 model 数据源之类 ER 格式公开。
关闭模型映射设计器页。
关闭模型到数据源映射页。
查看格式
在配置页的配置树中,展开性能改进模型,然后选择性能改进格式。
在操作窗格上,选择设计器。
在格式设计器页中映射选项卡上,选择展开/折叠。
展开模型、数据和交易记录项。
此 ER 格式用于生成 XML 格式的供应商交易记录报表。
关闭格式设计器页。
运行示例 ER 解决方案以跟踪执行情况
假设您已经完成了 ER 解决方案第一版的设计。 现在希望在 Finance 实例中测试解决方案并分析执行性能。
开启 ER 性能跟踪
选择 DEMF 公司。
执行开启 ER 性能跟踪中的步骤,以便在运行 ER 格式时生成性能跟踪。
运行 ER 格式
- 转到组织管理>电子申报>配置。
- 在配置页的配置树中,选择性能改进格式。
- 在操作窗格上,选择运行。
使用性能跟踪分析模型映射性能
- 在配置页的配置树中,选择性能改进映射。
- 在操作窗格上,选择设计器。
- 在模型映射页面的操作窗格中,选择设计器。
- 在模型映射设计器页的操作窗格上,选择性能跟踪。
- 选择最近生成的跟踪,然后选择确定。
新信息现在可用于当前模型映射的部分数据源项:
- 使用数据源获取数据实际所用时间
- 表示为占运行整个模型映射所用时间总量的百分比的相同时间
性能统计信息网格显示 Trans 数据源调用一次 VendTrans 表。 Trans 数据源的值 [265][Q:265] 说明已从应用程序表提取了 265 笔供应商交易记录并返回到了数据模型。
性能统计信息网格显示运行 #Vend 数据源时当前模型映射复制了数据源请求。 执行此项复制是因为:
将为这 265 个迭代供应商交易记录中的每一个调用供应商表两次,总计调用 530 次:
- 调用一次以输入供应商帐户。
- 调用一次以输入供应商名称。
将为每个迭代供应商记录调用供应商表,即使已经仅为五个供应商过帐了提取的交易记录也不例外。 这 530 个调用中的 525 是重复的。 下图显示收到的有关重复调用(数据库请求)的消息。
请注意,已使用了模型映射总执行时间(大约八秒)中超过 80%(大约六秒)从 VendTable 应用程序表检索值。 与 VendTrans 应用程序表中的信息量相比,此百分比对于五个供应商的两个属性而言太大。
若要减少为获取每个交易记录的供应商详细信息需要进行的调用数量和提高模型映射性能,可对 #Vend 数据源使用缓存。
注释
运行时,将在 Trans 数据源的当前交易记录范围中缓存 Trans\#Vend 数据源。
可通过缓存 #Vend 将重复调用数量从 525 减少到 260,但是不能完全消除重复。 若要完全消除重复,可以配置计算字段类型的新参数化数据源。
根据来自执行跟踪的信息改善模型映射
更改模型映射的逻辑
执行以下步骤以使用缓存和计算字段类型的数据源避免重复调用数据库。
在配置页的配置树中,选择性能改进映射。
在操作窗格上,选择设计器。
在模型映射页面的操作窗格中,选择设计器。
在模型映射设计器页面上,执行以下步骤添加表记录类型的数据源以访问 VendTable 应用程序表中的记录:
- 在数据源类型窗格中,展开 Dynamics 365 for Operations,然后选择表记录。
- 选择添加根。
- 在对话框的名称字段中,输入 Vend。
- 在表字段中,输入 VendTable。
- 选择确定。
仅当计算字段类型的数据源位于容器中,才能初始化对这些数据源的调用。 因此,请执行以下步骤添加空容器类型的数据源以保存计算字段类型的新参数化数据源:
- 在数据源类型窗格中,展开常规,然后选择空容器。
- 选择添加根。
- 在对话框的名称字段中,输入 Box。
- 选择确定。
执行以下步骤添加计算字段类型的参数化数据源:
- 在数据源窗格中选择 Box。
- 在数据源类型窗格中,展开函数,然后选择计算字段。
- 选择添加。
- 在对话框的名称字段中,输入 Vend。
- 选择编辑公式。
- 在公式设计器页面中,选择参数指定调用此数据源时必须提供的参数。
- 在参数对话框中,选择新建。
- 在名称字段中,输入 parmVendAccNumber。
- 在类型字段中,选择字符串。
- 选择确定。
- 在公式字段中,输入 FIRSTORNULL(FILTER(Vend, Vend.AccountNum=parmVendAccNumber))。
- 选择保存,然后关闭公式设计器页面。
- 选择确定添加新数据源。
执行以下步骤将添加的数据源标记为在执行期间缓存:
- 在数据源窗格中,选择 Box\Vend。
- 选择高速缓存。
注释
运行时,将在 Trans 数据源的所有供应商交易记录范围中缓存 Box\Vend 数据源。
执行以下步骤更新嵌套的 Trans\#Vend 数据源,以使其使用 Box\Vend 数据源:
- 在数据源窗格中,展开 Trans。
- 选择 Trans\#Vend 数据源,然后选择编辑>编辑公式。
- 在公式设计器页面的公式字段中,输入 Box.Vend(@.AccountNum)。
- 选择保存,然后关闭公式设计器页。
- 选择确定完成对所选数据源的更改。
选择保存。
关闭模型映射设计器页。
关闭模型映射页。
完成修改后的 ER 模型映射版本
- 在配置页版本快速选项卡上,选择性能改进映射配置版本 1.2。
- 选择更改状态>完成,然后选择确定。
运行修改后的 ER 解决方案以跟踪执行情况
重复本文前面的运行 ER 格式部分中的步骤生成一个新的性能跟踪。
使用性能跟踪分析对映射性能的调整
- 在配置页的配置树中,选择性能改进映射。
- 在操作窗格上,选择设计器。
- 在模型映射页面的操作窗格中,选择设计器。
- 在模型映射设计器页的操作窗格上,选择性能跟踪。
- 选择最近生成的跟踪,然后选择确定。
请注意,您对模型映射进行的调整消除了对数据库的重复查询。 还减少了对此模型映射的数据库表和数据源的调用数量。
总执行时间已缩短了大约 20 倍(从大约 8 秒到大约 400 毫秒)。 因此提高了整个 ER 解决方案的性能。
附录 1:下载示例 Microsoft ER 解决方案的组件
必须下载以下文件并存储在本地。
文件 | 内容 |
---|---|
Performance improvement model.version.1 | 示例 ER 数据模型配置 |
Performance improvement mapping.version.1.1 | 示例 ER 模型映射配置 |
Performance improvement format.version.1.1 | 示例 ER 格式配置 |
附录 2:配置 ER 框架
必须先配置最低限度的 ER 参数,才能开始使用 ER 框架提高示例 Microsoft ER 解决方案的性能。
配置 ER 参数
转到组织管理>工作区>电子申报。
在本地化配置页面的相关链接部分中,选择电子申报参数。
在电子申报参数页上,在常规选项卡上,将启用设计模式选项设置为是。
在附件选项卡上,设置以下参数:
- 在配置字段中,选择 DEMF 公司的文件类型。
- 在作业存档、临时、基准和其他字段中,选择文件类型。
有关 ER 参数的详细信息,请参阅配置 ER 框架。
激活 ER 配置提供程序
将把添加的每个 ER 配置标记为由 ER 配置提供程序负责。 在电子申报工作区中激活的 ER 配置提供程序用于此目的。 因此,必须先在电子申报工作区中激活 ER 配置提供程序,才能开始添加或编辑 ER 配置。
注释
只有 ER 配置的负责人才能编辑此配置。 因此,必须先在电子申报工作区中激活相应 ER 配置提供程序,才能编辑 ER 配置。
查看 ER 配置提供程序列表
- 转到组织管理>工作区>电子申报。
- 在本地化配置页面的相关链接部分中,选择配置提供程序。
- 在配置提供程序表页面中,每条提供程序记录都有唯一名称和 URL。 查看此页面的内容。 如果已有 Litware, Inc. 的记录,请跳过下一过程,即添加新 ER 配置提供程序。
添加新 ER 配置提供程序
- 转到组织管理>工作区>电子申报。
- 在本地化配置页面的相关链接部分中,选择配置提供程序。
- 在配置提供程序页面上,选择新建。
- 在名称字段中,输入 Litware, Inc.
- 在 Internet 地址字段中,输入
https://www.litware.com
。 - 选择保存。
激活 ER 配置提供程序
- 转到组织管理>工作区>电子申报。
- 在本地化配置页面的配置提供程序部分中,选择 Litware, Inc. 磁贴,然后选择设置有效。
有关 ER 配置提供程序的详细信息,请参阅创建配置提供程序并将其标记为有效。