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

他の方法で説明するのは少し難しいと思いますが、要するに、レコードを 2 回カウントせずに集約をオーバーラップさせたい (つまり、[レベル 2]=cat2_1 の平均は 12.5 ではありません)。OVER()ネストできないため、これを達成できないようです。レベルのすべての異なる組み合わせを で集計の 3 つのテーブルに結合する必要がありGROUP BYますか?

私はかなり後AVG(DISTINCT [Record #]'s [Measure]) OVER(PARTITION BY [Level X])です。

4

0 に答える 0