我想知道是否可以创建这样的表:
我已经计算了"Calculated field 1"
栏中显示的两家公司的股权比率。现在,我想为每个公司创建此列的平均值和最小值!如表中所示(红色数字)。
为了澄清,列C,行C5至C26显示公司1的平均值。 第C28至C49行显示公司2的平均值。
任何想法如何进行?
答案 0 :(得分:3)
Average:=
AVERAGEX(
ALL(Datasrc[Year])
,[Calculated field 1] // Seriously? Come up with a better name.
)
Minimum:=
MINX(
ALL(Datasrc[Year])
,[Calculated field 1]
)
* X()函数将表表达式作为其第一个参数。它们逐行遍历此表,在每行的第二个参数中计算表达式,并累积它。 AVERAGEX()累积平均值MINX(),最小值。
ALL()返回剥离了上下文的表,列或列集的唯一元素。因为我们只在[Year]列上调用ALL(),所以这是我们删除其上下文的唯一列。 [股票行情]的背景仍然存在。
这两项措施在总体水平上是不合理的。
忍者编辑:可能有更好的方法来编写这些措施,但由于没有深入了解[计算字段1]正在做什么,我无法对此提出建议。 * X()函数强制在公式引擎中进行单线程评估。这不是一件坏事,但是你会对只能使用存储引擎的查询产生性能影响。如果你可以将它重写为CALCULATE(SUM(),ALL(Datasrc [Year]))/ ALL(Datasrc [Year]),你肯定会得到更快的评估,但我不知道你的数据是什么样的。