作为新手用户,我正在寻求一些帮助。
我有一个表,其中有超过 40k 行的高分辨率数据,我想通过创建一个时间间隔内的平均值来对该数据库进行子集化。不幸的是,我不确定如何最好地去做。可以使用 SELECTCOLUMNS 和 CALCULATE 函数来完成吗?或者我需要一个 LOOP 或完全不同的东西吗?
非常感谢您提前提供的帮助!
请参阅上图了解预期结果。
您可以使用类似的 DAX 表达式创建计算表:
YourNewTable =
var fromSeries =
GENERATESERIES(
ROUNDDOWN( MIN(YourTable[Depth_[m]]]), 0 ),
ROUNDUP( MAX(YourTable[Depth_[m]]]), 0 ) - 1,
1
)
return SELECTCOLUMNS(
fromSeries,
"Depth_from_[m]", [Value],
"Depth_to_[m]", [Value] + 1,
"Av_Magnetic_susc",
var v = [Value]
return CALCULATE(
AVERAGE(YourTable[Magnetic_susc]),
YourTable[Depth_[m]]] >= v && YourTable[Depth_[m]]] < v + 1
)
,
"Av_Gamma_TC",
var v = [Value]
return CALCULATE(
AVERAGE(YourTable[Gamma_TC]),
YourTable[Depth_[m]]] >= v && YourTable[Depth_[m]]] < v + 1
)
)