语法作用
该函数可用于修复小计或总计不等于明细之和的问题,只需要传入对应度量值或表达式,以及当前视觉对象所使用的字段(行列标签、图例等能提供筛选的字段)。
因为UDF不支持可选参数,故以函数后缀的数字来标识支持的字段数,请根据视觉对象所使用的字段数选择对应后缀的该函数。
XF.Analysis.LetTotalEqualDetails_1(expression:expr,axisField:anyref)
XF.Analysis.LetTotalEqualDetails_2(expression:expr,axisField1:anyref,axisField2:anyref)
XF.Analysis.LetTotalEqualDetails_3(expression:expr,axisField1:anyref,axisField2:anyref,axisField3:anyref)
XF.Analysis.LetTotalEqualDetails_4(expression:expr,axisField1:anyref,axisField2:anyref,axisField3:anyref,axisField4:anyref)
函数代码
该函数的实现代码如下:
/// 该函数可用于修复小计或总计不等于明细之和的问题,只需要传入对应度量值或表达式,以及当前视觉对象所使用的字段(行列标签、图例等能提供筛选的字段)。因为UDF不支持可选参数,故以函数后缀的数字来标识支持的字段数,请根据视觉对象所使用的字段数选择对应后缀的该函数
FUNCTION XF.Analysis.LetTotalEqualDetails_X = (expression:expr,axisField1:anyref,axisField2:anyref,...) =>
SUMX(
CROSSJOIN(
VALUES(axisField1),
VALUES(axisField2),
...
),
CALCULATE(expression)
)
应用示例
修复产品类别与产品名称维度下,产品类别的小计与总计部分的客户人数不等于明细之和的问题。
XF.Analysis.LetTotalEqualDetails_2([客户人数],'产品'[产品类别],'产品'[产品名称])
结果如下图所示:






