見出し画像

#WOW2024 Week47 Top 5 Product Sales vs Other Products 出題概要&ヒント

2024年より、光栄なことにWorkout Wednesdayの出題者として参加させてもらえることになりました。
日本からの参加者ももっと増えてほしい!との思いから、
出題概要や要件を毎週和訳していきます。
自力で解きたいがちょっとヒント欲しい…という方向けの参考ページも載せています。


WorkoutWednesdayとは?

Tableauを中心としたBIツールコミュニティの有志が、
7年ほど前から開催しているイベントです。

Workoutの名の通り、筋トレしてBIツール力を鍛えるというのが趣旨で、
毎週水曜日にお題となるViz(グラフ)と要件が掲載され、参加者は可能な限り再現を目指します。

難易度は総じて高めで、TableauだとDATA Saber合格したてぐらいだと、
解答見ずに解くには難しい問題が多めです。
ただ、試験ではなくスキルアップが目的なので、

  • まったく解答やWeb検索せずに自力で解く

  • Web検索しながら自力で解く

  • 一定時間自力で頑張って後は解答見る

  • 最初から解答見ながら写経してスキル習得する

等挑戦の仕方は自由です。

元々はTableauのみでしたが、近年は他のツールにも広がっており、
2024年1月時点で以下のツールの問題がほぼ毎週出題されます。

参加方法

Tableauに関しては、Tableau Publicという無料でほぼ全機能が使えるものがあるので、挑戦にあたって必要なものはPCだけです。
より詳しい参加方法は下記のArakawaさん(@yoshi_datavizjp)のブログ記事を参照してみてください。


Week47の出題概要

お題

Top 5 Product Sales vs Other Products
(売上トップ5商品とその他の比較)

今回はセットを使用したドリルダウンがテーマです。
ドリルダウンと言えば、、ということでLODも裏テーマだと(個人的に)
思います。

画像クリックでお題ページに飛びます

要件の和訳

  • ダッシュボードサイズ: 1000*800

  • ワークシート数: 1

  • サブカテゴリ(Sub-Category)ごとに「製品単位の売上(Product-Level Sales)の平均値」を表示する棒グラフを作成する

  • 以下のチャレンジレベルから1つを選択する(1が最も簡単で、3が最も難しい)

  • ツールチップおよび書式設定を合わせる


Level 1

  • ダッシュボードアクションを使用して、ユーザーが単一のサブカテゴリを選択できるようにする

  • 選択されたサブカテゴリをハイライトする(色: #ce69be)


Level 2

  • ダッシュボードアクションを使用して、ユーザーが単一のサブカテゴリを選択し、製品名(Product Name)にドリルダウンできるようにする

  • 選択されたサブカテゴリ内の製品名をハイライトする(色: #ce69be)

  • サブカテゴリ別の平均値を示すリファレンスラインを追加する


Level 3

  • ダッシュボードアクションを使用して、ユーザーが単一のサブカテゴリを選択し、さらに以下をドリルダウンできるようにする:

    • トップ5の製品

    • トップ5以外の残りの製品の平均値をまとめた棒グラフ

  • トップ5製品をハイライトする(色: #ce69be)

  • 「Other」バーのラベルには、そこに含まれる製品数を表示する

  • サブカテゴリ別の平均値を示す参照線を追加する。


BONUS!

(注意: 出題者自身も事前にこの部分を構築する時間がなかったため、慎重に取り組んでください)

  • ユーザーが複数のサブカテゴリを同時に選択し、それぞれのサブカテゴリについてトップ5の製品と「Other」バーを表示できるようにすることは可能でしょうか


ヒントと参考ワークブック

今回はBONUSに出題者も解いていない要件があるという斬新?な回でした。
各レベルそれぞれにハマるポイントがありますが、Lv3についてのヒントを書いておきます。

ヒント

トップ5以外の残りの製品の平均値をまとめた棒グラフ

これに詰まる方が多いと思います。
色々とやり方はありますが、一番シンプルなのは全体の製品数をから5を引くことです。

IF Max([Select?]) AND [NEW rank sum sales ]<=5 THEN
AVG([cproduct])
ELSEIF Max([Select?]) THEN
WINDOW_SUM(IF [NEW rank sum sales ]>=6 THEN SUM([Sales]) END)
/(max({ EXCLUDE [Product Name]:COUNTD([Product Name])})-5 )
ELSEAVG([NEW ref line])
END

ユーザーが複数のサブカテゴリを同時に選択し、それぞれのサブカテゴリについてトップ5の製品と「Other」バーを表示できるようにすることは可能でしょうか

BONUSですが、出題者の方も作ってないということで、
Lv3よりはるかに難易度が高いです。挑戦される方向けヒントとしては、
Week7のパラメーターに関するテクニックが役立つと思います。

BONUSの解答ワークブック

中身が超汚いので乗せるのは憚られるのですが、BONUSまで解いてる私のPublicを載せておきます。

ぐちゃぐちゃ




いいなと思ったら応援しよう!