![見出し画像](https://assets.st-note.com/production/uploads/images/126903496/rectangle_large_type_2_b444f2236495c6825651df9f6c61798c.png?width=800)
LOD 計算の FIXED に向きあう
DATA Saber Bride - 2nd へ挑戦
DATA Saber - Bridge -2nd に参加し、DATA Saber になるべく挑戦中です。学習の理解を深めるためにもブログでまとめていきます。
今回は下図のデータを使って理解していきます。
![](https://assets.st-note.com/img/1704606374641-7R0cMXIlvw.png?width=800)
FIXED
FIXED は Viz 上でディメンション使用有無に関係なく、宣言されたディメンションでまとめることが可能なものになっています。
…と言われても、理解できなかったので時間をかけて色々試してみたので、整理していきます。
まず FIXED で何が行われているのかを理解するために顧客ごとの売上合計金額を求める内容で見ていきます。
まずどのように書くのかですが、下のようになります。
{FIXED [顧客名] : SUM([売上])}
{ FIXED ディメンション宣言 : SUM([ 集計対象メジャー])}
FIXED の後にまとめたいディメンションを宣言し、SUM などの集計関数を使用し、集計対象メジャーを選択します。
データ上でどのような流れになっているかをまとめてみました。
![](https://assets.st-note.com/img/1704607784464-etFC0mElMX.png?width=800)
今回対象となるディメンションは顧客名になっているので、顧客名でデータをまとめます。
今回の顧客データは、山田さんと田中さんの 2 名になるのでそれぞれの顧客ごとに区切られた情報の塊が作られるイメージ。
情報の塊に対して、集計関数に集計対象メジャーを渡すことでデータが引き出されます。
Tableau ではどのように見えるのかを確認していきます。右側が FIXED でまとめた顧客名ごとの合計売上金額になっています。
結論、Viz の行で顧客名をまとめた合計金額とは同じ結果になっています。それもそのはず。合計金額を顧客名ごとに区切っている。
![](https://assets.st-note.com/img/1704608983050-bhw2K3bQKE.png?width=800)
宣言するディメンションをショップでも見てみます。
![](https://assets.st-note.com/img/1704608905913-Zc48vLv8DQ.png?width=800)
![](https://assets.st-note.com/img/1704610065246-LEGK55hHjW.png?width=800)
少し遊んでみます。
FIXED で宣言した情報の塊に対して、Viz 上で別のディメンションで区切ってみます。
![](https://assets.st-note.com/img/1704610184362-7i9BduddTj.png?width=800)
![](https://assets.st-note.com/img/1704610214667-CAm8Tgyx4H.png?width=800)
ここからわかることは、FIXED でまとめられた情報が最優先に反映されており、その後に指定されたディメンションが反映していることがわかる。
オーダーID ごとの平均売上金額を求める
{FIXED [オーダーID] : SUM([売上])}
![](https://assets.st-note.com/img/1704611459319-R1hPH19rw4.png?width=800)
Tableau で平均を求めていきます。左側の平均金額と、FIXED オーダーID で求めた平均金額と異なっています。なぜか?
![](https://assets.st-note.com/img/1704611641914-asfcMoCZep.png?width=800)
売上合計金額を何で割っているのかがポイントになります。
行数を使用して平均値を使用しています。FIXED オーダーID でまとめたデータがどのようになっているかを書き出せば理解しやすいです。下図にまとめてみました。
![](https://assets.st-note.com/img/1704612325162-4RpxnD9rej.png?width=800)
まとめ
最初は理解できていませんでしたが、今回深掘りしていくことで理解を深めることができました。
今度は INCLUDE / EXCLUDE に関しても同様に深掘りしていき、理解を深めていきます。
この記事が気に入ったらサポートをしてみませんか?