自定义系数映射(预览)
重要提示
此功能的部分或全部属于预览版内容。 相关内容和功能可能会发生更改。
Microsoft Sustainability Manager 在系数映射中使用内置的参考数据。 您可以使用自定义系数映射来扩展可用的系数映射集。 例如,您可能希望根据会计年度或自定义区域等因素调整活动计算。 本文将指导您完成此高级配置,您必须在 Power Platform 管理中心完成此配置。
备注
本文中的过程需要 Microsoft Dataverse 管理和 API 方面的高级专业知识。 本文不会详细介绍常见的平台操作。 只有具有 Power Platform 管理中心的完全访问权限的授权管理员可以完成这些配置步骤。
要扩展 Sustainability Manager 以使用自定义系数映射,请执行以下步骤:
- 创建扩展因子表
- 将因子链接至 Sustainability Manager 因子映射
- 将可持续发展经理参考数据链接至新因素
- 授权 Sustainability Manager 访问外部表
- 授权用户访问表
- 使用扩展因子填充表
- 在计算模型中使用扩展因子
创建扩展系数表
创建自定义系数映射类型
在 Power Apps 门户中,创建新表以指定系数映射选项。
将主列重命名为名称。
以下示例显示自定义区域的新表。
在我们的示例中,我们还为会计年度创建了新自定义系数表。
将名称列设置为名为 naturalkey 的备用键。
创建自定义系数表
由于默认实体位于托管解决方案中,您必须创建新的解决方案,并将活动和新自定义系数实体导入其中。
在解决方案页上,选择新建解决方案。 输入新解决方案的信息,然后选择创建。
在对象页面上,选择添加现有,然后选择表。
在添加现有表页面上,选择您创建的活动和扩展系数表。 在我们的示例中,我们创建了一个采购的能源活动表和一个自定义区域扩展系数表。
使用查找扩展活动表
将活动表中的新多对一关系添加到扩展系数表中。 在我们的示例中,我们将采购的能源活动表的多对一关系添加到自定义区域扩展系数表。
将 Sustainability Manager 添加到新解决方案中,并将自定义系数实体添加到模型驱动应用中,使其可供 Sustainability Manager 使用。
以下示例显示新解决方案及其资源。
选择 Sustainability Manager,然后选择新建。 在添加页面窗口中,选择 Dataverse 表。
选择选择现有表。 在选择表窗格中,选择要用于系数映射的每个自定义表。 取消选中在导航中显示复选框。 选择添加。
在所有其他页面下,将显示新添加的自定义表。
保存和发布您的更改。
将系数关联到 Sustainability Manager 系数映射
此过程需要拥有开发人员专业知识,因为它只能通过 Dataverse API 使用。
您需要为自定义表的系数映射自定义多表查找。 您可以将 Power Apps Web API 与 Insomnia 或您首选的 API 客户端等工具一起使用。 有关使用 Insomnia 发送经过身份验证的 POST 请求的信息,请转到结合使用 Insomnia 与 Dataverse Web API。
对于每个自定义表,您需要在计算中启用系数映射。 在我们的示例中,我们需要对自定义区域和会计年度表执行此操作。 您需要每个表的逻辑名称。 例如,自定义区域的逻辑名称为 cr040_newtable,会计年度的逻辑名称则为 cr040_newtable1。
对于每个自定义表,我们需要更新用于系数映射的每个多态查找,即逻辑名称为 msdyn_emissionlookup 的表。 这些查找具有以下逻辑名称:
- msdyn_referencedataid
- msdyn_referencedata2id
- msdyn_referencedata3id
- msdyn_referencedata4id
对于单个自定义表,您需要发送四个 POST 请求,系数映射中使用的四个查找中的每一个发送一个请求。 使用 Insomnia 等高级工具或您首选的 API 客户端向组织的 RelationshipDefinitions API 发出 POST 请求。
在我们的案例中,终结点是 https://<orgurl>/api/data/v9.2/RelationshipDefinitions。 我们为八个 POST 请求中的每一个使用了以下示例有效负载(两个表,每个表四个请求):
备注
“SchemaName” 在您的环境中 Dataverse 必须是唯一的。
{
"SchemaName": "msdyn_msdyn_emissionlookup_<custom factor table name>",
"@odata.type": "Microsoft.Dynamics.CRM.OneToManyRelationshipMetadata",
"CascadeConfiguration": {
"Assign": "NoCascade",
"Delete": "RemoveLink",
"Merge": "NoCascade",
"Reparent": "NoCascade",
"Share": "NoCascade",
"Unshare": "NoCascade"
},
"ReferencedEntity": "<custom factor table logical name>",
"ReferencingEntity": "msdyn_emissionlookup",
"ReferencingAttribute": "<polymorphic lookup name>",
"Lookup": {
"AttributeType": "Lookup",
"AttributeTypeName": {
"Value": "LookupType"
},
"SchemaName": "<polymorphic lookup name>",
"@odata.type": "Microsoft.Dynamics.CRM.LookupAttributeMetadata"
}
}
下表显示了我们为八个 POST 请求的<自定义系数表名称>、<自定义系数表逻辑名称>和<多态查找名称>使用的值。
请求 | 自定义系数表名称 | 自定义系数表逻辑名称 | 多态查找名称 |
---|---|---|---|
1 | FiscalYear_RDId | cr040_newtable1 | msdyn_referencedataid |
2 | FiscalYear_RDId2 | cr040_newtable1 | msdyn_referencedata2id |
3 | FiscalYear_RDId3 | cr040_newtable1 | msdyn_referencedata3id |
4 | FiscalYear_RDId4 | cr040_newtable1 | msdyn_referencedata4id |
5 | CustomRegion_RDId | cr040_newtable | msdyn_referencedataid |
6 | CustomRegion_RDId2 | cr040_newtable | msdyn_referencedata2id |
7 | CustomRegion_RDId3 | cr040_newtable | msdyn_referencedata3id |
8 | CustomRegion_RDId4 | cr040_newtable | msdyn_referencedata4id |
成功的 POST 请求为您提供 HTTP 204 响应。
您可以通过检查系数映射表的关系来验证这些操作。
如果要将更改导出到其他环境,可以将之前添加的关系包含到解决方案中并导出。
将 Sustainability Manager 参考数据关联到新系数
在表中,选择所有选项卡,然后选择参考数据 (msdyn_referencedata)。
添加每个新系数类型的以下信息:
字段 说明 客户 表的复数名称。 例如,自定义区域或会计年度。 类别 参考数据 实体名称 表的逻辑名称,全部为小写(不是表的架构名称)。 例如,cr040_newtable 或 cr040_newtable1。
授权 Sustainability Manager 访问外部表
如果尚未提供,Sustainability Manager 需要具有访问外部表的权限,以可以在计算中使用这些表。
转到解决方案 > Microsoft Sustainability Manager 应用程序。
选择安全角色,然后选择可持续性服务应用程序角色 – 自定义。 新的浏览器选项卡将打开。
在新浏览器选项卡中,选择自定义实体选项卡。
对于要用于系数映射的每个自定义表,在组织级别提供读取和追加到权限。
备注
对于每个自定义表,您还需要向它通过查找指向的任何表授予组织范围的读取权限。 例如,如果自定义区域具有对表 Contoso SKU 的查找,则必须将读取权限授予 Contoso SKU 表。
保存并关闭。
授权用户访问这些表
对于每个自定义表,如自定义区域或会计年度,确保引入系数映射或运行计算的 Power Apps 用户对该表具有以下组织范围权限:
Append To 用于摄取
读取 以创建因子映射或在使用自定义表的计算中使用因子映射
使用扩展系数填充表
在 Power Apps 门户中发布所有自定义项。
在 Power Apps 门户中导入新表(在我们的示例中为自定义区域和会计年度)的系数类型。
通过 Sustainability Manager 或 Power Apps 门户导入排放系数。
通过 Sustainability Manager 或 Power Apps 门户导入系数映射。
通过 Sustainability Manager 导入活动数据。
在 Sustainability Manager 中映射自定义系数映射。
扩展系数库现在具有新的排放系数和自定义扩展系数映射。
在计算模型中使用扩展系数
在 Power Apps 门户中,设计计算模型并在计算配置文件中使用。
备注
您可以在计算配置文件中使用筛选来确保查找具有值。
您可以根据需要在计算配置文件中使用扩展属性。
常见问题
自定义表的记录在进行数据审批时是否会被视为“已批准”或“待处理”?
在计算的系数映射上下文中进行数据审批时,自定义表的所有记录都会被视为“已批准”。
我导入系数映射失败,显示用户缺少权限 prvAppendTo_[您的自定义表]
Sustainability Manager 应用程序用户或当前用户未被授予自定义表的追加到权限。 请确保 Sustainability Manager 和用户都具有相应的权限,然后重试导入。
在计算模型中,在“报告”节点的“排放系数”或“估算系数”节点的估算系数下拉列表的“系数映射”部分,我没有作为选项看到我的自定义表
请确保为自定义表添加了 msdyn_referencedata 记录。
请检查以确保自定义表的 msdyn_referencedata 记录中实体名称的值具有表的逻辑名称(区分大小写),而不是架构名称。 转到表 > 属性,展开高级选项,查看逻辑名称。
确保计算源的活动数据具有指向自定义表的查找字段。 例如,如果您自定义了固定燃烧源以查找自定义区域,而不是移动燃烧源,移动燃烧源的计算不能使用基于 Contoso 区域的系数映射。
当我手动进行系数映射时,我没有作为选项看到我的自定义表
请确保用户对自定义表具有适当的权限。
请确保自定义表至少有一个记录。
重新加载页面。
自定义多个环境
您可能需要在一个环境中进行这些自定义,然后将它们应用于另一个环境。 例如,您可能在开发环境中进行所有自定义,然后需要将它们导入到生产环境。 在这种情况下,您可以按照以下步骤尽量减少重复工作。
对于用于将更改从一个环境导出到另一个环境的任何解决方案,您都需要在该解决方案中包括以下自定义项:
将您的自定义表添加到 Sustainability Manager。
向系数映射的多态查找添加更多关系。
然后,您可以导入用于应用程序生命周期管理 (ALM) 的解决方案。
对每个环境执行以下操作:
添加 msdyn_referencedata 记录。
自定义 Sustainability Manager 应用程序安全角色。