-- 文書投稿で質問させていただいていましたが、Discussionで投稿した方が良さそうとのアドバイスで、
同内容をDiscussionとして上げさせていただきます。
店舗の売上げシェアランキングを作成しているのですが、うまくできず教えてください。
最新月の店舗別の売上シェアTOP10と、TOP10店舗の前月の売上シェアを並列でみたいです。
・やったこと:
「売上シェアをRANK関数でランク付けし、フィルターで1~10で範囲指定した」
・問題点:
最新月のTOP10店舗には入っていない前月のTOP10店舗も表示されてしまう
・やりたいこと:
最新月のTOP10店舗のみを表示したい
「”最新月の”TOP10で絞りたい」「”前月の”実績も表示したい」
という2つを実現しなくてはならないので、
最新月と前月の実績をそれぞれ独立したメジャーとして作ってしまうのが早いのかなと思いましたので、そういう流れで作っています。
サンプルスーパーストアのデータでサンプルを作りましたので、添付ファイルを参照ください(v2019.4)
<手順>
①最新月、およびその前の月を定義
最新日付 DATE({FIXED : MAX(DATETRUNC('month', [オーダー日]))})
(データの中で最新の月を作る)
最新日付の前月 DATE(DATEADD('month',-1,[最新オーダー月]))
②その月に該当する売上を抽出したメジャーを作る
最新月の売上 IIF(DATETRUNC('month', [オーダー日])=DATETRUNC('month', [最新オーダー月の前月]),売上,NULL)
前月もこれと同様に作ります。
③同、それぞれの月でのシェアのメジャーを作る
TOP10に絞っても全体の中でのシェアを見たいということですので、分母を作ります
{ FIXED :SUM([最新オーダー月の売上])}
これで②を割ればよいです。
SUM([最新オーダー月の売上])/SUM([最新オーダー月の売上(全体)])
この例では都道府県を絞りますので、
フィルターの「上位」タブで、最新月の売上でTOP10を表示するような設定にします。