nori
1
お世話になります。
下記のような日付ごとの数量データがあるのですが、このようなデータから月ごとの平均数量を計算したいと思っております。
※サンプルは抜粋ですので同一の日付しかありませんが、実際にはこのような形式で数年分のデータがあります。
集計したいイメージとしては、年度の四半期ごとに月あたりの平均値を算出する形です。
通常のavgでは、1行ごとの数量の平均値が算出されるため、averageoverを使用して
avgOver(sum(数量),[四半期]) 計算を行った場合、
表形式にして、年度、四半期、月の項目に対して計算結果を表示するとと四半期ごとに月あたりの平均が算出されるのですが、
表形式で、年度、四半期の項目だけだと計算結果が四半期ごとの合計値になってしまいます。
四半期ごとの集計で月あたりの平均値を算出したのですが、なにか方法がありますでしょうか?
データセットで月ごとの数量の合計値を計算して、その結果をavgで計算してみたのですが
この方法だと表に月の項目があるときは大丈夫なのですが、月の項目がないと数値がおかしくなってしまいました。
うまく内容が伝わるかわかりませんが、対応方法についてご教授いただけると幸いです。
よろしくお願いいたします。
Wakana
2
@nori
四半期単位で月毎の平均値であれば、単純に以下のようなLAC計算でいけるような気がしているのですが、それでは意図した結果ではないでしょうか?
avg(数量,[月,四半期])
nori
3
Wakana様
ご回答ありがとうございます。
ご提案いただいた関数で試してみましたが、avg(数量,[月,四半期])では、もとのデータの1行ごとの平均値になるようです。
<年度四半期月での表示>
<年度四半期での表示>
Wakana
4
ありがとうございます。四半期単位の平均値ということですね。であれば、以下はいかがでしょう?
avg(数量,[四半期])
nori
5
ご回答ありがとうございます。
avg関数を使うと元のテーブルの1行づつの数量の平均値になってしまうのでここの解決を行いたいでです。
avg関数の引数でカテゴリを設定するとその粒度で平均値が算出されるのは理解しているのですが、元のテーブル1行ごとの平均が設定してカテゴリで算出されると思います。
そのためavgoverを使用して、avgOver(sum(数量),[四半期]) のような計算を行ったのですがうまくいかない状態です。
うまく状況がご説明できていないようで申し訳ありません。
Wakana
6
ご回答ありがとうございます。
月毎の合計を、四半期単位で平均値で表示したいということですね。
月データがあれば、四半期での合計の集計を平均にすることで可能ですが、月データを表示させずに表示させるのは難しいですね。。
nori
7
ご回答ありがとうございます。
最初の質問にも記載させていただいたのですが、元のデータセットで月ごとの合計値を計算して、その結果をavgで計算する方法はあまりよくないでしょうか?
表に月の項目があるときは大丈夫なのですが、月の項目がなくても大丈夫なのですが、
計算結果の数値だけがおかしくなってしまいます。
ここが改善できれば実現可能だと思っているのですが。
アドバイスなどいただけると助かります。
[/quote]
Wakana
8
もう少し詳細を理解したいため、お手数ですが、計算フィールドの内容、テーブルで設定しているフィールド設定をご提示いただけますか?
nori
9
もとのデータセットの抜粋(項目は説明に必要な項目のみ、行は全体の一部のみ)は以下のようなデータになります。
このデータセット内で、新たに計算フィールドを追加しています。
追加した項目 : 合計_年度月 = sumOver({数量},[{月}],PRE_AGG)
分析にて上記のデータセットで計算した項目を使用して以下の計算フィールドを追加しています。
avg_合計_月=avg({合計_年度月})
このような計算を行うと前述の回答のような計算結果となります。
以上、よろしくお願いします。
mririka
10
@nori 様
私の方でも、ここまで記載いただいた情報からサンプルデータ、計算フィールド(データセットにて “合計_年度月”、分析にて “avg_合計_月”)を作成し、テーブルに表示してみました。
添付いただいている 2 枚目の画像とは “avg_合計_月” が違う値になりましたが、こちらの状態がご想像通りの状態でしょうか?それともこちらも想定されている挙動とは異なるでしょうか?
確認の質問が続いてしまい、申し訳ございません。
Wakana
11
@nori
データセット内で集計計算をする計算フィールドを実施した場合、データセット作成時には計算されず、ビジュアル表示時での計算となります。つまり、今までと変わりないことになるかと思います。
月合計データをデータソースレベルで作成するか、もしくはピボットテーブルの小計・合計を使用し、月を非表示にしていただくのはいかがでしょうか?ピボットオプション設定で+/-を非表示にすることもできます。
1 Like
nori
12
mririka様
ご検証いただきありがとうございます。
ご連絡いただいた内容が、私の実現したい結果となっています。
ただ、私が同じことを行ったときには、同じ計算でも表にした際に
月の項目がないと(いただいた表の下の表の状態)では計算結果の数値がおかしくなっていました。
私自身のデータでの検証では、本来は1/4期の月ごとの平均値は、
「406,415」に対して、「406,575」になってしまいました。
"計算フィールド(データセットにて “合計_年度月”、分析にて “avg_合計_月”)を作成し、テーブルに表示してみました。”
といただいていますが、データセットでの計算式は、どのような計算式がご教授いただいてもよろしいでしょうか。
私は、合計_年度月 = sumOver({数量},[{月}],PRE_AGG)としてのですが、ここの違いで発生しているのか確認できればと思いいます。
以上、よろしくお願いします。
mririka
13
@nori 様
前提のご説明が足りておらず申し訳ありません。私がご確認させていただいたテーブルについては、事前に月別で集計したデータセットを使用しておりました。
そのため、正しい値が計算されております。
@Wakana さんの記載されている手法等で、月別で事前に集計することで実現されたい値を表示できるかと思います。
nori
14
色々とアドアイスいただきありがとうございました。
いただいたアドバイスをもとに引き続き検討させていただきます。
1 Like