是否可以获得每张直桌的平均值并再次获得平均值?
示例:平均值(1.99%+ 3.66%+ 3.49%+ 2.26%+ 2.14%+ 2.61%+ 5.54%+ 3.11%+ 2.92%+ 1.06%)
答案 0 :(得分:1)
这取决于表格表达式的复杂程度,但一般的想法是通过aggr
函数“模拟”直线/数据透视表总计:
例如,对于维度为Week
且表达式为“sum(val)”的表,您可以在变量中执行以下操作:
avg(aggr( sum(val), Week))
如果表中有多个维度,则只需将它们添加到aggr
碎片(即:avg(aggr( sum(val), Week,Group))
)
然后在rangeAvg
中运行所有这些calc /变量
在你的情况下,你可以做类似的事情:
rangeAvg(
aggr(Sum({$<[A]={$(=vVariable1)}, [Group]={'TableA'}>} [Duration])/Sum({$<[A]={'*'}, [Group]={'TableA'}>} [Duration]),Week),
aggr(Sum({$<[A]={$(=vVariable1)}, [Group]={'TableA'}>} [Duration])/Sum({$<[A]={'*'}, [Group]={'TableA'}>} [Duration]),MonthYear),
aggr(Sum({$<[A]={$(=vVariable1)}, [Group]={'TableA'}>} [Duration])/Sum({$<[A]={'*'}, [Group]={'TableA'}>} [Duration]),Year)
)
旁注:我不会进入vb宏,因为它只与qlikview相关,不能在qliksense中使用,但一般来说可以通过vb访问单元格值