DAX新手求助:实现同日期时间下East Silo的指定度量值计算
解决同一日期时间下East Silo的DAX计算问题
核心需求是针对East Silo,按同一日期时间分组,计算(E值 + Mx值)/2 * 33,以下是两种常用场景的DAX实现方案:
一、创建计算列(Calculated Column)
如果需要在数据表里直接新增计算结果列,假设你的表名为SiloData,日期时间列是DateTime,East Silo对应的E值列是E_Value、Mx值列是Mx_Value,使用以下公式:
East Silo 计算结果 = VAR 当前时间 = SiloData[DateTime] VAR 当前E值 = CALCULATE(MAX(SiloData[E_Value]), SiloData[DateTime] = 当前时间, SiloData[Silo] = "East Silo") VAR 当前Mx值 = CALCULATE(MAX(SiloData[Mx_Value]), SiloData[DateTime] = 当前时间, SiloData[Silo] = "East Silo") RETURN DIVIDE(当前E值 + 当前Mx值, 2) * 33
- 用
VAR定义变量简化逻辑,确保只筛选当前行对应的日期时间和East Silo的数据 - 这里用
MAX是假设同一时间点对应唯一的E/Mx值,若同一时间有多个数据,可根据业务需求替换为SUM/AVERAGE等聚合函数
二、创建度量值(Measure)
如果是在Power BI报表中配合日期切片器使用,创建度量值更灵活:
East Silo 度量值 = VAR 选中时间 = SELECTEDVALUE(SiloData[DateTime]) VAR E值 = CALCULATE(MAX(SiloData[E_Value]), SiloData[Silo] = "East Silo", SiloData[DateTime] = 选中时间) VAR Mx值 = CALCULATE(MAX(SiloData[Mx_Value]), SiloData[Silo] = "East Silo", SiloData[DateTime] = 选中时间) RETURN DIVIDE(E值 + Mx值, 2) * 33
SELECTEDVALUE会获取报表中当前筛选的日期时间,自动匹配对应的数据计算结果
注意事项
- 确保
DateTime列是日期时间数据类型,避免因格式问题导致时间匹配失败 - 替换公式中的表名、列名为你实际使用的名称
内容的提问来源于stack exchange,提问作者displaysnames23
相关产品推荐
相关产品推荐

