建立自訂計量
重要
這其中部分或所有的功能會做為預覽版本的一部分來提供。 內容和功能隨時可能變更。
您可以遵循用於預構建指標的相同模式來擴展定義和計算自定義指標的功能。
產生彙總資料表
根據您要計算的指標,以下任一場景都適用。 跟隨適用於您的方案的步驟。
案例 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 ,通過選擇 功能區上的 AdvancedEditor 打開 AdvancedEditor 。
更新查詢代碼以在引用列的任何步驟中包含新列,並根據新列的需要調整任何錯誤處理。 選取完成。
選擇 Refresh 預覽版 (刷新)以查看更新的數據。 確認后,選擇 關閉並應用 以將更改應用到數據模型。
保存包含添加的度量和架構更改的更新 Power BI 檔。 將更新的語義模型發佈到服務中的 Power BI 目標工作區,覆蓋工作區中的先前版本。
案例 3
預構建的聚合表不支援所需的測量資料:
通過在筆記本中定義計算邏輯 (使用與預構建聚合表類似的模式) 來創建自定義聚合表。
運行 Notebook 以在 computedESGMetrics_LH 湖存放庫中 生成聚合表。
將自訂聚合表添加到 DatasetForMetricsMeasures_DTST:
從工作區頁面下載語義模型,然後在中打開 Power BI Desktop模型。
在“OneLake 數據中心”中 Power BI Desktop,選擇 “Lakehouses”,然後在彈出視窗 中選擇 ComputedESGMetrics# 湖存放庫。 選擇連線按鈕上的 下拉箭頭,然後選擇 連線以 SQL 端點 。
選擇要在語義模型中導入的自定義聚合表。 選擇 Load (載入 ) 以將表引入 Power BI Desktop。
在視窗提示符中,將 Connection Setting 設置為 Import mode 以將數據導入模型,然後選擇 確定。
當表載入到 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
要保存更改,請選擇完成 。
要應用更改,請選擇 Close & Apply in Power Query Editor。
在 Model (模型 ) 檢視中,根據需要在新添加的表之間添加關聯。
保存更新 Power BI Desktop 的檔。 通過選擇 Power BI File Publish > to > 並選擇目標工作區,將模型發佈到服務中的 Power BI 工作區。 此操作將覆蓋工作區中的現有語義模型,而不會更改模型的 ID。
創建另一個 Power BI 度量以計算自定義指標
如計算和存儲指標數據 中所述,ESG 指標計算是根據度量、篩選條件和維度指定的 Power BI 。
您可以瀏覽預構建度量值清單,並檢查是否可以重複使用任何現有度量來計算自定義指標。 如果您可以重用現有度量,則可以跳過此步驟。
如果您無法使用現有度量,請在 Power BI DatasetForMetricsMeasures_DTST 中創建另一個度量。
從工作區清單檢視中選擇 DatasetForMetricsMeasures_DTST Semantic model 項。
從語義模型頁面中選擇 Open data model (打開數據模型 )。
注意
如果 Open data model (打開數據模型 ) 灰顯,導航到 Workspace (工作區) 設置。 打開 Power BI/常規,然後打開 使用者可以在服務(預覽版) 中編輯數據模型 Power BI 設置。
從 Data 側面板中選擇 ESG_Measures ,然後選擇 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
- Scope
- 會計方法
- 報告週期
- 度量單位名稱
要在預構建的控制面板上可視化此指標,您可以在配置中指定數據,如下所示:
{ "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 評估中的正確改進操作。
Columns (列):每個指標列的列顯示名稱,它顯示下游應用程式中指標數據的使用者友好列名稱。
當配置更新時,使用以下參數運行 TranslateOutputOfMetricsForCM_INTB 筆記本:
metric_names:生成的自定義指標的名稱。
reporting_period:度量數據的報告年份。
num_previous_years:需要與 reporting_period 數據一起發送的比較年份數據的數量。
筆記本運行后,JSON 檔形式的指標數據將在 ComputedESGMetrics.json 中 files 部分 的 ReportingData 資料夾中提供。 現在,您可以使用 Sustainability 數據連接器在 Compliance Manager 中引入已發佈的指標數據。