Power BI中实现CET转EET时间戳及TQ数据小时偏移与排序需求
Power BI CET转EET并实现TQ值小时偏移处理方案
核心步骤拆解
针对你的需求,我们通过DAX计算表实现完整的筛选、时区转换、值偏移和排序逻辑,以下是分步实现代码与说明:
1. 基础数据筛选与CET时间戳重构
首先过滤符合条件的原始数据,并将分散的日期、小时、季度字段整合成标准CET datetime:
EET_Adjusted_Data = VAR Filtered_CET_Data = FILTER( '你的数据表名', // 筛选条件:状态为真 + 2023年6月1日起的CET数据 '你的数据表名'[is_ok] = TRUE() && '你的数据表名'[for_status] = TRUE() && // 处理Date列的dd/mm/yyyy格式,转换为标准日期 DATE(RIGHT('你的数据表名'[Date],4), MID('你的数据表名'[Date],4,2), LEFT('你的数据表名'[Date],2)) >= DATE(2023,6,1) ) VAR CET_Full_Time = ADDCOLUMNS( Filtered_CET_Data, "CET_Datetime", // 构建完整CET时间戳:Hour是1-24格式,转TIME时需减1(TIME函数小时范围0-23) DATE(RIGHT([Date],4), MID([Date],4,2), LEFT([Date],2)) + TIME([Hour]-1, [Qrt], 0) )
2. CET转EET时区转换
EET(东欧时间)比CET(中欧时间)快1小时,直接对CET时间戳加1小时得到EET时间,并拆分出EET维度字段:
VAR EET_Converted = ADDCOLUMNS( CET_Full_Time, "EET_Datetime", DATEADD([CET_Datetime], 1, HOUR), "EET_Date", DATE(YEAR([EET_Datetime]), MONTH([EET_Datetime]), DAY([EET_Datetime])), "EET_Hour", HOUR([EET_Datetime]) + 1, // 转回1-24小时格式 "EET_Qrt", MINUTE([EET_Datetime]) )
3. TQ值1小时偏移处理(覆盖跨天场景)
利用dispatchQrt的连续性(每小时4个季度,单日共96个),将当前CET时间的TQ值偏移到1小时后的EET时间维度,同时处理6月最后一小时到7月第一小时的跨天情况:
VAR TQ_Offset = ADDCOLUMNS( EET_Converted, "Offset_TQ", VAR Current_Qrt = [dispatchQrt] VAR Target_Qrt = Current_Qrt + 4 RETURN // 非跨天情况:直接匹配偏移4个季度的TQ值 IF(Target_Qrt <= 96, LOOKUPVALUE( '你的数据表名'[TQ], '你的数据表名'[dispatchQrt], Target_Qrt, '你的数据表名'[Date], [Date], '你的数据表名'[is_ok], TRUE(), '你的数据表名'[for_status], TRUE(), BLANK() ), // 跨天情况:日期+1,季度值取Target_Qrt-96 LOOKUPVALUE( '你的数据表名'[TQ], '你的数据表名'[dispatchQrt], Target_Qrt - 96, '你的数据表名'[Date], DATE(RIGHT([Date],4), MID([Date],4,2), LEFT([Date],2)) + 1, '你的数据表名'[is_ok], TRUE(), '你的数据表名'[for_status], TRUE(), BLANK() ) ) )
4. 输出整理与排序
返回需要的字段,并在Power BI中对计算表按EET_Datetime升序排序:
RETURN SELECTCOLUMNS( TQ_Offset, "EET日期", [EET_Date], "EET小时", [EET_Hour], "EET季度", [EET_Qrt], "偏移后TQ值", [Offset_TQ], "EET完整时间戳", [EET_Datetime] )
后续操作
- 将上述代码中的
你的数据表名替换为实际表名 - 创建计算表后,进入建模选项卡,设置
EET完整时间戳为升序排序依据 - 若原始
Date列是日期类型而非文本,可将DATE(RIGHT([Date],4),...)替换为[Date]简化代码
内容的提问来源于stack exchange,提问作者Dion_Psychote
相关产品推荐
相关产品推荐

