0

假设这是表格的一部分

[Level1] [Level2] [Level3] [Record #] [Measure]
cat1_1    cat2_1    cat3_1   rec_1       5
cat1_2    cat2_1    cat3_2   rec_2      10
cat1_1    cat2_1    cat3_3   rec_2      10

我想找到一种像这样聚合的方法

[Level 1] [Level 2] [Level 3] [Average 1] [Average 2] [Average 3]
cat1_1     cat2_1    cat3_1      7.5        7.5         10
cat1_1     cat2_1    cat3_3      7.5        7.5         10
cat1_2     cat2_1    cat3_2      10         7.5         5

我发现用其他方式描述有点困难,但简而言之,我希望聚合重叠而不计算任何记录两次(即 [level 2]=cat2_1 的平均值不是 12.5)。似乎OVER()无法做到这一点,因为你不能嵌套它。我是否需要将每个不同的级别组合加入到三个聚合表中GROUP BY

我很喜欢AVG(DISTINCT [Record #]'s [Measure]) OVER(PARTITION BY [Level X])

4

0 回答 0