创建自定义指标
重要提示
此功能的部分或全部属于预览版内容。 相关内容和功能可能会发生更改。
您可以遵循用于预构建指标的相同模式来扩展定义和计算自定义指标的功能。
生成聚合表
根据您要计算的指标,以下任一场景都适用。 跟随适用于您的方案的步骤。
场景 1
预构建的聚合表支持所需维度集的所需测量数据,因此您无需在聚合表中进行更改。
按照 Generate aggregates tables 中的 说明生成预构建的聚合表。
刷新 DatasetForMetricsMeasures_DTST 语义模型。
场景 2
预构建的聚合表支持所需的测量数据,但缺少所需的维度。
通过更新包含聚合表计算逻辑的笔记本中的计算逻辑,将所需的维度添加到预构建的聚合表中。 例如,如果需要更新 EmissionsAggregate 表的计算逻辑,则更新 CreateAggregateForEmissionsMetrics_INTB 中的 逻辑。
使用更新的计算逻辑运行笔记本以生成聚合表。
备注
不要从预生成聚合中删除任何现有维度,以避免影响预生成指标计算。
更新 DatasetForMetricsMeasures_DTST 语义模型中的聚合表 :
从工作区页面下载 DatasetForMetricsMeasures_DTST 语义模型,然后在中打开 Power BI Desktop模型。
在 Power BI Desktop 中,右键单击更新的聚合表,然后选择 Edit Query 以打开 Power Query 编辑器。
在 Editor 中 Power Query ,通过选择 功能区上的 Advanced Editor 打开 Advanced Editor 。
更新查询代码以在引用列的任何步骤中包含新列,并根据新列的需要调整任何错误处理。 选择完成。
选择 刷新预览版 以查看更新的数据。 确认后,选择 关闭并应用 以将更改应用于数据模型。
保存包含添加的度量和架构更改的更新 Power BI 文件。 将更新的语义模型发布到服务中的 Power BI 目标工作区,覆盖工作区中的先前版本。
场景 3
预构建的聚合表不支持所需的测量数据:
通过在笔记本中定义计算逻辑(使用与预构建聚合表类似的模式)来创建自定义聚合表。
运行 Notebook 以在 computedESGMetrics_LH 湖屋中 生成聚合表。
将自定义聚合表添加到 DatasetForMetricsMeasures_DTST:
从工作区页面下载语义模型,然后在中打开 Power BI Desktop模型。
在 Power BI Desktop 选择 OneLake 数据中心、选择 Lakehouses,然后在弹出窗口中选择 ComputedESGMetrics 湖屋。 选择连接 按钮上的下拉箭头,然后选择 连接到 SQL 终结点。
选择要在语义模型中导入的自定义聚合表。 选择 Load 将表放入 Power BI Desktop。
在窗口提示符中,将 连接设置 设置为 导入模式 以将数据导入模型并选择 确定。
当表加载到 Data(数据 )窗格中时,右键单击新添加的表,然后选择 Edit Query(编辑查询 )以打开编辑器 Power Query 。
在 Query Editor(查询编辑器)窗格中打开 Advanced Editor(高级编辑器)以查看查询代码。 添加必要的错误处理代码以管理任何意外的数据问题。
默认情况下,此代码显示在查询编辑器窗格中:
let Source = Sql.Database("x6eps4xrq2xudenlfv6naeo3i4-lzqqwvhquhb2e7afwzp3ge4.msit-datawarehouse.fabric.microsoft.com", "SDS_ESGDE_ems_ComputedESGMetrics_LH"), <Table Name>= Source{[Schema="dbo",Item="<Table Name from the Lakehouse>"]}[Data] in <Table Name>
将此查询替换为以下代码,根据自定义聚合表中的表和列进行必要的更改:
let Source = Sql.Database("x6eps4xrq2xudenlfv6naeo3i4-lzqqwvhquhb2e7afwzp3ge4.msit-datawarehouse.fabric.microsoft.com", "SDS_ESGDE_ems_ComputedESGMetrics_LH"), dbo_EmissionsAggregate = try Source{[Schema="dbo",Item="EmissionsAggregate"]}[Data] otherwise #table( type table [ #"ReportingPeriod"=number, #"PartyId"=number, #"PartyTypeName"=text, #"PartyName"=text, #"SecondaryPartyId"=number, #"SecondaryPartyTypeName"=text, #"SecondaryPartyName"=text, #"EmissionSource"=text, #"isRolledUp"=logical, #"CO2eEmissionUnits"=number, #"UnitOfMeasureName"=text ], {}) in dbo_EmissionsAggregate
要保存更改,请选择 完成。
要应用更改,请选择 关闭 & 在 编辑器中应用 Power Query 。
在 Model (模型 )视图中,根据需要在新添加的表之间添加关系。
保存更新 Power BI Desktop 的文件。 通过选择 Power BI File Publish > to > 并选择目标工作区,将模型发布到服务中的 Power BI 工作区。 此操作将覆盖工作区中的现有语义模型,而不会更改模型的 ID。
创建另一个 Power BI 度量以计算自定义指标
如计算和存储指标数据 中所述,ESG 指标计算是根据度量、筛选条件和维度指定的 Power BI 。
您可以浏览预构建度量值列表,并检查是否可以重复使用任何现有度量来计算自定义指标。 如果您可以重复使用现有度量值,则可以跳过此步骤。
如果您无法使用现有度量,请在 Power BI DatasetForMetricsMeasures_DTST 中创建另一个度量。
选择 DatasetForMetricsMeasures_DTST 工作区列表视图中的语义模型项。
从语义模型页面选择 打开数据模型 。
备注
如果 Open data model(打开数据模型 )灰显,导航到 Workspace(工作区)设置。 打开 Power BI/常规并打开 用户可以在服务中 编辑数据模型 Power BI (预览版) 设置。
选择 ESG_Measures 从 Data(数据 )侧面板中,然后选择 New Measure(新建度量 )以创建度量。
更新度量名称,然后以数据分析表达式(DAX)查询的形式添加计算逻辑。 要了解有关度量的更多信息 Power BI , 请参阅 Power BI Desktop Power BI 文档中的创建用于数据分析的度量。
创建量度定义
您可以使用 create_metric_definition() 预构建的实用程序函数创建指标定义。 有关此功能的更多信息,请转到 create_metric_definition。
在 function 参数中,将指标属性 指定为 JSON 文件。 例如,您可能希望计算高水和极高水风险区域中设施的 facility wise water consumption。 预构建指标仅提供水风险区域的总用水量,但不提供设施点的细分。 您可以使用以下代码片段创建 Total water consumption in areas at water risk facility wise 自定义指标定义。
%run SDS_ESGM_SDS_UtilitiesForMetrics_INTB
metrics_manager = MetricsManager()
metrics_manager.create_metric_definition(
{
"metric_name": "Total water consumption in areas at water risk facility wise",
"measure_name": "WaterConsumption",
"dimensions": [
"WaterUtilizationAggregate[ReportingPeriod]",
"WaterUtilizationAggregate[UnitOfMeasureName]",
"WaterUtilizationAggregate[PartyName]",
"WaterUtilizationAggregate[PartyTypeName]"
],
"filters": {
"WaterUtilizationAggregate[isRolledUp]": [
"False"
],
"WaterUtilizationAggregate[WaterRiskIndexName]": [
"Extremely High",
"High"
],
"WaterUtilizationAggregate[UnitOfMeasureName]": [
"Cubic metres"
]
},
"sustainability_area": "Water and marine resources",
"labels": {
"Reporting standard": [
"CSRD"
],
"Disclosure datapoint": [
"E3-4_02"
]
}
})
函数成功运行后,指标定义将作为行 添加到 ComputedESGMetrics_LH 湖屋的 MetricsDefinitions 表中 。
备注
每个指标的指标名称必须是唯一的。 如果您创建的自定义指标的名称与 MetricsDefinitions 表中现有指标 的名称匹配,则该函数将出错。
在指标定义 JSON 文件中,如果自定义指标不需要 filter 和 label 属性,则可以跳过指定它们。
生成和存储指标数据
使用为预构建指标指定的相同步骤来 生成和存储指标数据。 在 metric_names 参数中 指定您在上一步骤创建的自定义指标名称。
使用指标数据
当自定义指标数据在 ComputedESGMetrics 表中可用时,您可以针对以下场景使用这些数据:
可视化和分析自定义指标数据
您可以使用可视化和分析指标数据中的 Power BI 步骤在预构建的 控制面板中可视化和分析自定义指标数据。
如果自定义指标除了报告周期和度量单位名称之外还有其他维度,则预构建的仪表板可以将另一个维度的可视化处理为切片器,将另外两个维度的可视化作为多行筛选器。
您可以在 translate_metrics_output_for_report_config.json 文件中指定要考虑用于切片器和多行过滤器 的指标表的维度。
例如,您将 Disaggregation of GHG emissions–by country(温室气体排放分解–按国家/地区 )创建 为自定义指标,其中包含以下列:
- 价值
- Country
- 作用域
- 会计核算方法
- 报告期
- 度量单位名称
要在预构建的控制面板上可视化此指标,您可以在配置中指定数据,如下所示:
{ "metric_name": "Disaggregation of GHG emissions - by country", "dimensions_for_multiple_lines": [ "Scope", "AccountingMethod" ], "dimension_for_slicer": "CountryOrRegion" }
此代码片段将 CountryOrRegion 维度添加 为仪表板上的切片器。 Scope 和 AccountingMethod 维度以下划线(_)连接,然后作为基本筛选器(或多行筛选器)添加到仪表板上。
配置更新后,您可以运行与此处指定的相同步骤,以可视化预构建指标的数据。 TranslateOutputOfMetricsForReport_INTB 笔记本。
刷新 DatasetForMetricsDashboard_DTST 语义模型。
打开 DashboardForMetrics_RPT 项。 您应该根据映射到该指标的可持续性区域,在四个选项卡之一中找到自定义指标。
备注
如果将可持续性区域指定为 Climate change 、Social 、Governance 、Water and marine resources 或Resource use and circular economy 以外的值,则需要自定义预构建的 Power BI 报表。
发布指标数据以在合规性管理器中审核指标数据
对于自定义指标,请通过为自定义指标添加包含以下详细信息的对象来更新 translate_metrics_output_for_CM_config.json :
metricName:指标的名称。
metricExtractDataPath:要在 ComputedESGMetrics_LH 湖屋的ReportingData/ year 文件夹中创建的 量度文件夹的名称,其中包含量度的已翻译 JSON 文件。
备注
metricExtractDataPath 不支持特殊字符或空格。
disclosureRequirements:CSRD 模板 Compliance Manager 中披露要求(改进操作)的名称。 合规性管理器可以读取此值,并将指标数据映射到合规性管理器 CSRD 评估中的正确改进操作。
列:每个指标列的列显示名称,显示下游应用程序中指标数据的用户友好列名称。
当配置更新时,使用以下参数运行 TranslateOutputOfMetricsForCM_INTB 笔记本:
metric_names:生成的自定义指标的名称。
reporting_period:度量数据的报告年份。
num_previous_years:需要与 reporting_period 数据一起发送的比较年份数据的数量。
笔记本运行后,JSON 文件形式的指标数据将在 ComputedESGMetrics.json 中 files 部分 的 ReportingData 文件夹中提供。 现在,您可以使用 Sustainability 数据连接器在 Compliance Manager 中引入已发布的指标数据。