0

下面是我在图片中的要求

样本数据

第一个表至少是粒度的。平均值是由 计算的Date + Place。所以平均值是565 = (2865/5)

来到第二张表。位置 702 的平均值是 114,这是正确的,而 704 的平均值是 866,这也是正确的。但最终的答案与所有​​ 5 条记录的平均值相同。

But my output should be like avg at Date + Placelevel for single Date + Placebut when two places are selected it should avg at place level but sum at the total output..the final value should be 980 (sum(114+866))

有人可以解决这个问题吗?

4

2 回答 2

1

与 SSAS 多维中的任何平均值一样,您需要创建两个物理度量。第一个是 A 的总和,即 AggregateFunction=Sum。第二个是行数,即 AggregateFunction=Count。

实施计算的更快方法是使用此计算度量:

SUM(
 EXISTING [Place].[Place].[Place].Members,
 DIVIDE( [Measures].[Sum of A], [Measures].[Count of Rows] )
)

但是,如果您想获得更好的性能并正确处理多选过滤器,请创建一个名为 Avg A 的物理度量,它是 AggregateFunction=Sum off SQL 表中始终为 0 的新列。然后用以下范围声明:

SCOPE([Place].[Place].[Place].Members);
     [Measures].[Avg A] = DIVIDE( [Measures].[Sum of A], [Measures].[Count of Rows] );
END SCOPE;
于 2018-03-16T04:06:30.957 回答
0

试试这个:

AvgA = SUMX(SUMMARIZE(Table2, Table2[Place], "A", AVERAGE(Table2[A])), [A])

这将按A每个平均分组Place,然后将它们汇总为小计。

于 2018-03-15T22:53:55.473 回答