生成和存储指标数据
重要提示
此功能的部分或全部属于预览版内容。 相关内容和功能可能会发生更改。
聚合表生成后,您可以在聚合表数据集上运行指标定义中定义的计算逻辑(聚合或计算)数据集,以生成指标输出数据。
度量的计算逻辑定义为:
Power BI measures:包含数据分析表达式(DAX)公式语言形式的计算逻辑。 Power BI 度量值在作为功能的一部分部署的 DatasetForMetricsMeasures_DTST 预构建语义模型中定义。 Power BI 要了解有关度量的更多信息,请转到 文档中的创建用于数据分析的 Power BI Desktop Power BI 度量。
维度:指定量度输出中所需的维度/列。 这些维度可以来自聚合表,也可以来自 DatasetForMetricsMeasures_DTST 语义模型中的计算表 。
Filters:指定聚合表维度中需要筛选的值。
一个示例预构建指标范围 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"
]
}
}
根据指标定义,指标输出包括:
- 在量度定义中指定为维度的列
- 通过运行度量定义中指定的计算逻辑计算的 value 列
对于示例指标,这些输出列为:
- EmissionSource:捕获范围 3 类别名称。
- 计量单位名称:提及排放值的计量单位,例如 mtCO2e。
- 报告周期:指定报告年度。
- 值:捕获特定报告期间范围 3 类别的排放值。
对于此指标,您需要计算 CO2eEmissionsUnits 的总 和,其中 Scope 是 Scope 3 且 AccountingMethod 为 null,或者 基于 EmissionsAggregate 表中的 Location at Emission source 和 Reporting period。
此计算由度量定义中指定的计算逻辑执行如下:
Emissions 度量执行 EmissionsAggregate 表中的 CO2eEmissions 之和,并在 DatasetForMetricsMeasures_DTST 语义模型中定义:
要查看用于计算预生成指标的预生成 Power BI 度量值,请执行以下步骤:
- 从工作区打开 DatasetForMetricsMeasures_DTST 。
- 选择打开数据模型。
- 选择 ESG_measures 从 Data 侧面板。
如果 Open data model(打开数据模型 )显示为灰色,则导航到 Workspace 设置。 打开 Power BI/常规并打开 用户可以在服务中 Power BI 编辑数据模型(预览版) 设置。
维度 度量在聚合表的度量定义(报告期间)、排放源和度量单位列中指定的维度执行聚合。 这些列来自指标输出的维度。
Filters 指定 EmissionsAggregate 表的不同列所需的值,以便按度量值求和。 在此示例中,范围为范围 3,会计方法为 null 或基于位置,度量单位为 mtCO2e 的行。
为了使用 Power BI 度量、维度和筛选条件计算指标数据,预构建的笔记本使用 语义链接的 Python 库 SemPy 的 Python 接口的 evaluate_measure函数。
生成指标数据的先决条件
- 生成指标所需的聚合表应已存在于 ComputedESGMetrics_LH 湖屋中。
- 在运行指标的计算逻辑之前,请确保将指标定义作为表加载到 ComputedESGMetrics 湖屋中。 除非您更新指标定义,否则无需重新加载定义。 直接运行 Load metric definition 笔记本,或运行 ExecuteComputationForMetrics 管道的 Load metric definition 活动。
生成和存储指标数据
在 ExecuteComputationOfMetrics_DTPL 管道中运行 Generate output for metrics 活动,或直接运行 GenerateOutputForMetrics_INTB 笔记本以在聚合表数据集上运行指标计算逻辑,并将输出数据存储在 ComputedESGMetrics_LH 湖屋的 ComputedESGMetrics 表中 。
您可以指定这些参数来为一组特定的指标生成输出。 如果要为 MetricsDefinitions 表中加载 的所有指标定义生成输出,请不要在管道中指定参数值,并在笔记本中将其 设置为 None 。
备注
参数值区分大小写。
metric_names:指定指标名称列表。 您可以从预构建的指标库中 获取指标名称 ,也可以查询 ComputedESGMetrics_LH 湖屋中的 MetricsDefinitions 表。 例如,[“按类别划分的范围 3 温室气体排放(温室气体核算体系)”,“总用水量”]。
sustainability_areas:指定可持续性领域列表。 例如,[“气候变化”,“水和海洋资源”]。 映射到参数中指定的可持续性区域的所有指标都将被考虑进行计算。 您可以从预构建指标库 中找到映射到指标 的可持续性区域,也可以查询 ComputedESGMetrics_LH 湖屋中的 MetricsDefinitions 表。
备注
如果同时 指定 sustainability_areas 和 metric_names,则 metric_names 参数优先并考虑进行计算。
笔记本或管道活动成功运行后,您可以在 ComputedESGMetrics_LH 湖屋的 ComputedESGMetrics 表中查看指标输出 。 ComputedESGMetrics 是一个表,用于存储所有指标的输出。 此表显示了表的架构详细信息。
列名称 Description 指标 ID 量度的唯一标识符。 表示为其生成数据的量度。 它是 MetricsDefinitions 表的 外键。 ReportingPeriod 表示生成度量值的报告期间(年)。 UnitOfMeasureName(度量单位名称) 表示度量值的度量单位(例如,mtCO2e 表示排放值)。 价值 表示特定 ReportingPeriod 和 DimensionValue 的量度值。 维度名称 如果量度输出具有除 ReportingPeriod 之外的其他维度,则此维度名称将在 DimensionName 列中指定 。 相应的值在 DimensionValue 中,数据类型在 DimensionType 中。 维度值 包含在 DimensionName 列中指定的 维度的特定值。 维度类型 在 DimensionName 中指定维度的数据类型。 Index Index 和 MetricId 唯一标识指标的特定行。 当从此单个量度输出表中检索维度作为单独列的特定量度输出时,此列非常有用。 如果要将每个指标的数据存储为单独的数据帧或表,则可以使用 get_metric_output_by_id 函数框获取指标输出数据。