聚合表生成后,您可以对聚合表数据集运行指标定义中定义的计算逻辑(聚合或计算),以生成指标输出数据。
指标的计算逻辑通过以下方式定义:
Power BI 度量:包含以数据分析表达式(DAX)公式语言形式的计算逻辑。 Power BI 度量在 DatasetForMetricsMeasures_DTST 预构建的语义模型中定义,该模型作为功能的一部分部署。 要了解更多关于 Power BI 度量的信息,请参阅 Power BI 文档中的在 Power BI Desktop 中创建用于数据分析的度量。
维度:指定指标输出所需的维度/列。 这些维度可以来自聚合表或 DatasetForMetricsMeasures_DTST 语义模型中的计算表。
筛选器:指定聚合表维度中需要筛选的值。
一个预构建指标的示例范围 3 类别排放量(GHG 协议)。
以下是该指标在 metrics_definitions_config.json 文件中的指标定义:
{
"metric_name": "Scope 3 GHG emissions by category (GHG Protocol)",
"measure_name": "Emissions",
"dimensions": [
"EmissionsAggregate[EmissionSource]",
"EmissionsAggregate[UnitOfMeasureName]",
"EmissionsAggregate[ReportingPeriod]"
],
"filters": {
"EmissionsAggregate[isRolledUp]": [
"False"
],
"EmissionsAggregate[Scope]": [
"Scope 3"
],
"EmissionsAggregate[AccountingMethod]": [
"Location based",
null
],
"EmissionsAggregate[UnitOfMeasureName]": [
"mtCO2e"
]
},
"sustainability_area": "Climate Change",
"labels": {
"Reporting standard": [
"CSRD"
],
"Disclosure datapoint": [
"E1-6_04"
]
}
}
基于指标定义,指标输出包含:
- 指标定义中指定为维度的列
- 通过运行指标定义中指定的计算逻辑计算得到的值列
对于该示例指标,输出列包括:
- EmissionSource:记录范围 3 类别名称。
- 计量单位名称:指定排放值的计量单位,如 mtCO2e。
- 报告时期:指定报告年份。
- 值:捕获特定报告期间内范围 3 类别的排放值。
对于此指标,您需要计算 CO2eEmissionsUnits 的总和,其中范围为范围 3,且 AccountingMethod 为空或基于位置为排放源,报告期间来自 EmissionsAggregate 表。
该计算按照指标定义中指定的计算逻辑执行:
排放度量对 EmissionsAggregate 表中的 CO2eEmissions 进行求和,并在 DatasetForMetricsMeasures_DTST 语义模型中定义:
要查看用于计算预构建指标的预构建 Power BI 度量,请按照以下步骤操作:
- 从工作区打开 DatasetForMetricsMeasures_DTST。
- 选择打开数据模型。
- 从数据侧边栏中选择 ESG_measures。
如果打开数据模型处于灰色不可用状态,请导航至工作区设置。 打开 Power BI/常规,并打开用户可以在 Power BI 服务中编辑数据模型设置。
维度度量在指标定义(报告期)、排放源和计量单位列中指定的维度上进行聚合。 这些列构成指标输出的维度。
过滤器指定 EmissionsAggregate 表中不同列的所需值,以便按度量进行求和。 在此示例中,范围为范围 3、会计方法为空或基于位置,且计量单位为 mtCO2e 的行。
为了使用 Power BI 度量计算指标数据,预构建的记事本使用语义链接 Python 库 SemPy 的 Python 接口中的 evaluate_measure 函数。
生成指标数据的先决条件
- 生成指标所需的聚合表应已存在于 ComputedESGMetrics_LH 湖屋中。
- 在运行指标的计算逻辑之前,请确保指标定义已作为表加载到 ComputedESGMetrics 湖屋中。 除非更新指标定义,否则无需重新加载定义。 直接运行加载指标定义记事本,或运行加载指标定义活动中的执行指标计算管道。
生成并存储指标数据
在 ExecuteComputationOfMetrics_DTPL 管道中运行生成指标输出活动,或直接运行 GenerateOutputForMetrics_INTB 记事本,对聚合表数据集运行指标计算逻辑,并将输出数据存储在 ComputedESGMetrics_LH 湖屋中的 ComputedESGMetrics 表中。
您可以指定这些参数以生成特定指标集的输出。 如果您希望为 MetricsDefinitions 表中加载的所有指标定义生成输出,则在管道中不要指定参数值,并在记事本中将其设置为无。
备注
参数值区分大小写。
metric_names:指定一组指标名称。 您可以从预构建指标库中获取指标名称,或查询 ComputedESGMetrics_LH 湖屋中的 MetricsDefinitions 表。 例如,["Scope 3 GHG emissions by category (GHG Protocol)","Total water consumption"]。
sustainability_areas:指定可持续性领域列表。 例如,["Climate Change","Water and marine resources"]。 所有映射到参数中指定的可持续性领域的指标均会被纳入计算。 您可以从预构建指标库中查找与指标映射的可持续发展领域,或查询 ComputedESGMetrics_LH 湖屋中的 MetricsDefinitions 表。
备注
如果您同时指定了 sustainability_areas 和 metric_names,则 metric_names 参数具有优先级并用于计算。
记事本或管道活动成功运行后,您可以在 ComputedESGMetrics_LH 湖屋中的 ComputedESGMetrics 表中查看指标输出。 ComputedESGMetrics 是一个存储所有指标输出的单一表。 此表格显示了该表格的架构详细信息。
列名称 Description MetricId 指标的唯一标识符。 表示生成数据的指标。 它是 MetricsDefinitions 表的外键。 ReportingPeriod 表示生成指标值的报告周期(年份)。 UnitOfMeasureName 表示指标值的计量单位(例如,排放值的 mtCO2e)。 价值 表示指标在特定 ReportingPeriod 和 DimensionValue 下的具体值。 DimensionName 如果指标输出除 ReportingPeriod 外还有其他维度,则该维度名称在 DimensionName 列中指定。 对应的值在 DimensionValue 中,数据类型在 DimensionType 中。 DimensionValue 包含在 DimensionName 列中指定的维度的具体值。 DimensionType 指定 DimensionName 中维度的数据类型。 Index 索引和 MetricId 唯一标识指标表中的特定行。 此列在从该指标输出表中以独立列形式检索特定指标输出时非常有用。 若需将每个指标的数据存储为独立的数据框或表,可使用 get_metric_output_by_id 函数获取指标输出数据框。