今回は、KPIチャートの応用的な部分について紹介していきます。
以前、基礎編として、シンプルなKPIチャートについて説明をしましたが、そこから少し発展させてみたいと思います。
実際の運用として、前月のKPIチャートを毎月見てみたいという場合があるでしょう。そして、中には、前年比などもあわせて見てみたいということもあるかもしれません。
ここでは、上記の場合に役に立つKPIチャートについて説明をしていきます。
なお、すべてのVizは、サンプルデータであるスーパーストアの「Orders」シートをもとに作成することとします。
前月分KPIチャート
まず、前月分のKPIチャートの作り方を紹介します。KPIとしては、売上、利益、利益率、数量を表示することとします。
今使用しているスーパーストアのサンプルデータは、注文日(Order Date)が2018年1月から2021年12月末までのデータになります。12月末までのデータであり、現実に即した形で、よりリアリティを出すために、データを絞りたいと思います。
今回の例では、2020年10月10日までのデータに絞り込み、2021年9月分のKPIチャートを作成していきます。
元データの絞り込み
次の流れでデータの絞り込みを行います。
- スーパーストアのサンプルデータを元データとして指定します。
- そのまま、データソースページにて、フィルターの「追加」を選択します。
- データソースフィルターの編集画面が表示されるので、「追加」ボタンを押します。
- フィルターの追加画面が表示されるので、「Order Date」を選択し、「OK」ボタンを押します。
- フィールドのフィルター画面が表示されるので、「日付の範囲」を選択し、「次へ」ボタンを押します。
- フィルター画面にて、範囲の終了日を「2021/10/10」に変更し、「OK」ボタンを選択します。
- データソースフィルターの編集画面に戻るので、「OK」ボタンを押します。
計算フィールドの作成
以下の計算フィールドを作成します。
- 名前:Max Order Date
{MAX([Order Date])}
「Max Order Date」は、最新の注文日(Order Date)を示します。今回の例では、「2021/10/10」になります。
- 名前:Last Day of Last Month
DATETRUNC("month",[Max Order Date])-1
「Last Day of Last Month」は、前月の最後の日付を示します。最新の注文日を月レベルで丸めることにより、当月の最初の日付を取得し、そのあと、1を引くことで、前月の最後の日付を取得しています。
- 名前:First Day of Last Month
DATETRUNC("month",[Last Day of Last Month])
「First Day of Last Month」は、前月の最初の日付を示します。前月の最後の日付を月レベルで丸めることにより、前月の最初の日付を取得しています。
- 名前:Last Month Flag
[Order Date] >= [First Day of Last Month]
AND
[Order Date] <= [Last Day of Last Month]
「Last Month Flag」は、注文日(Order Date)が前月かどうかの判定フラグを示します。注文日を、前月の最初の日付と最後の日付で比較することにより、前月の場合にはtrueを、前月以外の場合にはfalseを返します。
- 名前:Sales | Last Month
SUM(
IF [Last Month Flag]
THEN [Sales]
END
)
「Sales | Last Month」は、前月の売上を示します。前月かどうかの判定フラグを用いて、前月の注文日(Order Date)のみの売上を合計することで取得しています。
- 名前:Profit | Last Month
SUM(
IF [Last Month Flag]
THEN [Profit]
END
)
「Profit | Last Month」は、前月の利益を示します。前月かどうかの判定フラグを用いて、前月の注文日(Order Date)のみの利益を合計することで取得しています。
- 名前:Profit Ratio | Last Month
[Profit | Last Month]/[Sales | Last Month ]
「Profit Ratio | Last Month」は、前月の利益率を示します。前月の利益を前月の売上で割ることで取得しています。
- 名前:Quantity | Last Month
SUM(
IF [Last Month Flag]
THEN [Quantity]
END
)
「Quantity | Last Month」は、前月の数量を示します。前月かどうかの判定フラグを用いて、前月の注文日(Order Date)のみの数量を合計することで取得しています。
ワークシートの編集
次の流れでワークシートを編集していきます。
- 列シェルフにてダブルクリックして、「0」と入力し、エンターキーを押します。これを合計で4回繰り返します。
- 1つ目の「合計(0)」マークタイプのラベルに、「Sales | Last Month」を入れます。
- 2つ目の「合計(0)」マークタイプのラベルに、「Profit | Last Month」を入れます。
- 3つ目の「合計(0)」マークタイプのラベルに、「Profit Ratio | Last Month」を入れます。
- 4つ目の「合計(0)」マークタイプのラベルに、「Quantity | Last Month」を入れます。
- 1つ目の「合計(0)」マークタイプのラベルを左クリックして、ラベルの外観にあるテキストの「…」を左クリックします。
- ラベルの編集画面が表示されるので、以下の通り入力し、「OK」ボタンを押します。
フォントのサイズは1行目が「15」、2行目が「22」となります。
- 2つ目の「合計(0)」マークタイプのラベルを左クリックして、ラベルの外観にあるテキストの「…」を左クリックします。
- ラベルの編集画面が表示されるので、以下の通り入力し、「OK」ボタンを押します。
フォントのサイズは1行目が「15」、2行目が「22」となります。
- 3つ目の「合計(0)」マークタイプのラベルを左クリックして、ラベルの外観にあるテキストの「…」を左クリックします。
- ラベルの編集画面が表示されるので、以下の通り入力し、「OK」ボタンを押します。
フォントのサイズは1行目が「15」、2行目が「22」となります。
- 4つ目の「合計(0)」マークタイプのラベルを左クリックして、ラベルの外観にあるテキストの「…」を左クリックします。
- ラベルの編集画面が表示されるので、以下の通り入力し、「OK」ボタンを押します。
フォントのサイズは1行目が「15」、2行目が「22」となります。
- Viz上で、ラベルが表示されるように、高さを調整します。
ワークシートの微調整
次の流れでワークシートの微調整をしていきます。
- 「すべて」マークパネルにて、ラベルを左クリックして、配置の水平方向を「中央」に変更します。
- Viz上で右クリックして、「書式設定」を選択します。
- フィールドにて「集計(Profit Ratio | Last Month)」を選択し、数値を「パーセンテージ」に変更します。
- 枠線の書式設定を選択し、シートの行の境界線、および、列の境界線を「なし」に設定します。
- 線の書式設定を選択し、シートのゼロラインを「なし」に設定し、線の書式設定を閉じます。
- 「すべて」マークパネルにて、色を左クリックして、白色を選択します。
- さらに、不透明度を「0%」に、効果の枠線を「なし」に変更します。
- 列シェルフにある「合計(0)」を右クリックして、「ヘッダーの表示」のチェックを外します。
- 「すべて」マークパネルにて、ツールヒントの「ツールヒントの編集」を開き、「ツールヒントの表示」のチェックを外します。
- 「Last Day of Last Month」をマークパネルの詳細に入れます。
- マークパネルにある「年(Last Day of Last Month)」を右クリックして、「月 2015年5月」に変更します。
- Viz上でタイトルを右クリックして、「タイトルの編集」を選択します。
- タイトルの編集画面が表示されるので、以下の通り入力し、「OK」ボタンを押します。
- シート名を「スーパーストア 前月分KPIチャート」に変更します。
前月分のKPIチャートの完成
これで、スーパーストアの前月(2022年9月)のKPIチャートが完成です。
Tableau Publicのリンクを貼っています。
前年比付き前月分KPIチャート
次は、前年比付き前月分KPIチャートを紹介します。
今回の例では、先ほど作成したスーパーストアの前月分(2022年9月)のKPIチャートの売上、利益、利益率、数量に、それぞれ、前年比を追加してみます。
なお、よりわかりやすく見せるために、前年比が増加した場合には、「▲」を、減少した場合には、「▼」の記号も添えたいと思います。
計算フィールドの作成
以下の計算フィールドを作成します。
- 名前:Last Day of Last Month Last Year
DATEADD("year",-1,[Last Day of Last Month]+1)-1
「Last Day of Last Month Last Year」は、前年前月の最後の日付を示します。前月の最後の日付に1を加え、当月の最初の日付を取得します。それから、1年引くことで、前年当月の最初のの日付を求め、さらに、そこから1を引き、前年前月の最終の日付を取得しています。
- 名前:First Day of Last Month Last Year
DATETRUNC("month",[Last Day of Last Month Last Year])
「First Day of Last Month Last Year」は、前年前月の最初の日付を示します。前年前月の最後の日付を月レベルで丸めることにより、前年前月の最初の日付を取得しています。
- 名前:Last Month Last Year Flag
[Order Date]<=[Last Day of Last Month Last Year]
AND
[Order Date]>=[First Day of Last Month Last Year]
「Last Month Last Year Flag」は、注文日(Order Date)が前年前月かどうかの判定フラグを示します。注文日を、前年前月の最初の日付と最後の日付で比較することにより、前年前月の場合にはtrueを、前年前月以外の場合にはfalseを返します。
- 名前:Sales | Last Month Last Year
SUM(
IF [Last Month Last Year Flag]
THEN [Sales]
END
)
「Sales | Last Month Last Year」は、前年前月の売上を示します。前年前月かどうかの判定フラグを用いて、前年前月の注文日(Order Date)のみの売上を合計することで取得しています。
- 名前:Sales | Year over Year
([Sales | Last Month ]-[Sales | Last Month Last Year])/[Sales | Last Month Last Year]
「Sales | Year over Year」は、売上の前年比を示します。前月分の売上から前年前月分の売上を引き、その差分を前年前月分の売上で割ることで取得しています。
- 名前:Sales | Up
IF [Sales | Year over Year]>0
THEN "▲"
END
「Sales | Up」は、売上の前年比がプラスだった場合の記号「▲」を示します。売上の前年比が0より大きいかどうかを判定し、大きい場合には、文字列「▲」を返します。
- 名前:Sales | Down
IF [Sales | Year over Year]<0
THEN "▼"
END
「Sales | Down」は、売上の前年比がマイナスだった場合の記号「▼」を示します。売上の前年比が0より小さいかどうかを判定し、小さい場合には、文字列「▼」を返します。
- 名前:Profit | Last Month Last Year
SUM(
IF [Last Month Last Year Flag]
THEN [Profit]
END
)
「Profit | Last Month Last Year」は、前年前月の利益を示します。前年前月かどうかの判定フラグを用いて、前年前月の注文日(Order Date)のみの利益を合計することで取得しています。
- 名前:Profit | Year over Year
([Profit | Last Month]-[Profit | Last Month Last Year])/[Profit | Last Month Last Year]
「Profit | Year over Year」は、利益の前年比を示します。前月分の利益から前年前月分の利益を引き、その差分を前年前月分の利益で割ることで取得しています。
- 名前:Profit | Up
IF [Profit | Year over Year]>0
THEN "▲"
END
「Profit | Up」は、利益の前年比がプラスだった場合の記号「▲」を示します。利益の前年比が0より大きいかどうかを判定し、大きい場合には、文字列「▲」を返します。
- 名前:Profit | Down
IF [Profit | Year over Year]<0
THEN "▼"
END
「Profit | Down」は、利益の前年比がマイナスだった場合の記号「▼」を示します。利益の前年比が0より小さいかどうかを判定し、小さい場合には、文字列「▼」を返します。
- 名前:Profit Ratio | Last Month Last Year
[Profit | Last Month Last Year]/[Sales | Last Month Last Year]
「Profit Ratio | Last Month Last Year」は、前年前月の利益率を示します。前年前月の利益を前年前月の売上で割ることで取得しています。
- 名前:Profit Ratio | Year over Year
([Profit Ratio | Last Month]-[Profit Ratio | Last Month Last Year])/[Profit Ratio | Last Month Last Year]
「Profit Ratio | Year over Year」は、利益率の前年比を示します。前月分の利益率から前年前月分の利益率を引き、その差分を前年前月分の利益率で割ることで取得しています。
- 名前:Profit Ratio | Up
IF [Profit Ratio | Year over Year]>0
THEN "▲"
END
「Profit Ratio | Up」は、利益率の前年比がプラスだった場合の記号「▲」を示します。利益率の前年比が0より大きいかどうかを判定し、大きい場合には、文字列「▲」を返します。
- 名前:Profit Ratio | Down
IF [Profit Ratio | Year over Year]<0
THEN "▼"
END
「Profit Ratio | Down」は、利益率の前年比がマイナスだった場合の記号「▼」を示します。利益率の前年比が0より小さいかどうかを判定し、小さい場合には、文字列「▼」を返します。
- 名前:Quantity | Last Month Last Year
SUM(
IF [Last Month Last Year Flag]
THEN [Quantity]
END
)
「Quantity | Last Month Last Year」は、前年前月の数量を示します。前年前月かどうかの判定フラグを用いて、前年前月の注文日(Order Date)のみの数量を合計することで取得しています。
- 名前:Quantity | Year over Year
([Quantity | Last Month]-[Quantity | Last Month Last Year])/[Quantity | Last Month Last Year]
「Quantity | Year over Year」は、数量の前年比を示します。前月分の数量から前年前月分の数量を引き、その差分を前年前月分の数量で割ることで取得しています。
- 名前:Quantity | Up
IF [Quantity | Year over Year]>0
THEN "▲"
END
「Quantity | Up」は、数量の前年比がプラスだった場合の記号「▲」を示します。数量の前年比が0より大きいかどうかを判定し、大きい場合には、文字列「▲」を返します。
- 名前:Quantity | Down
IF [Quantity | Year over Year]<0
THEN "▼"
END
「Quantity | Down」は、数量の前年比がマイナスだった場合の記号「▼」を示します。数量の前年比が0より小さいかどうかを判定し、小さい場合には、文字列「▼」を返します。
ワークシートの編集
次の流れでワークシートを編集していきます。
- 先ほど作成したシート「スーパーストア 前月分KPIチャート」を右クリックして、「複製」を選択します。
- シート「スーパーストア 前月分KPIチャート (2)」が作成されるので、これから、このシートを編集していきます。
- 1つ目の「合計(0)」マークタイプのラベルに、「Sales | Year over Year」「Sales | Up」「Sales | Down」を入れます。
- 1つ目の「合計(0)」マークタイプのラベルにある「集計(Sales | Year over Year)」を右クリックして、「書式設定」を選択します。
- 「書式設定:集計(Sales | Year over Year)」のペインの既定の数値にて、「パーセンテージ」を選択し、「×」を押して閉じます。
- 1つ目の「合計(0)」マークタイプのラベルを左クリックして、ラベルの外観にあるテキストの「…」を左クリックします。
3行目は右側に寄せ、フォントのサイズは「15」となります。
3行目の<集計(Sales | Up)>は青色に、<集計(Sales | Down)>は赤色になります。
- 2つ目の「合計(0)」マークタイプのラベルに、「Profit | Year over Year」「Profit | Up」「Profit | Down」を入れます。
- 2つ目の「合計(0)」マークタイプのラベルにある「集計(Profit | Year over Year)」を右クリックして、「書式設定」を選択し、「×」を押して閉じます。
- 「書式設定:集計(Profit | Year over Year)」のペインの既定の数値にて、「パーセンテージ」を選択します。
- 2つ目の「合計(0)」マークタイプのラベルを左クリックして、ラベルの外観にあるテキストの「…」を左クリックします。
3行目は右側に寄せ、フォントのサイズは「15」となります。
3行目の<集計(Profit | Up)>は青色に、<集計(Profit | Down)>は赤色になります。
- 3つ目の「合計(0)」マークタイプのラベルに、「Profit Ratio | Year over Year」「Profit Ratio | Up」「Profit Ratio | Down」を入れます。
- 3つ目の「合計(0)」マークタイプのラベルにある「集計(Profit Ratio | Year over Year)」を右クリックして、「書式設定」を選択し、「×」を押して閉じます。
- 「書式設定:集計(Profit Ratio | Year over Year)」のペインの既定の数値にて、「パーセンテージ」を選択します。
- 3つ目の「合計(0)」マークタイプのラベルを左クリックして、ラベルの外観にあるテキストの「…」を左クリックします。
3行目は右側に寄せ、フォントのサイズは「15」となります。
3行目の<集計(Profit Ratio | Up)>は青色に、<集計(Profit Ratio | Down)>は赤色になります。
- 4つ目の「合計(0)」マークタイプのラベルに、「Quantity | Year over Year」「Quantity | Up」「Quantity | Down」を入れます。
- 4つ目の「合計(0)」マークタイプのラベルにある「集計(Quantity | Year over Year)」を右クリックして、「書式設定」を選択し、「×」を押して閉じます。
- 「書式設定:集計(Quantity | Year over Year)」のペインの既定の数値にて、「パーセンテージ」を選択します。
- 4つ目の「合計(0)」マークタイプのラベルを左クリックして、ラベルの外観にあるテキストの「…」を左クリックします。
3行目は右側に寄せ、フォントのサイズは「15」となります。
3行目の<集計(Quantity | Up)>は青色に、<集計(Quantity | Down)>は赤色になります。
ワークシートの微調整
次の流れでワークシートの微調整をしていきます。
- Viz上でタイトルを右クリックして、「タイトルの編集」を選択します。
- タイトルの編集画面が表示されるので、以下の通り入力し、「OK」ボタンを押します。
- シート名を「スーパーストア 前年比付き前月分KPIチャート」に変更します。
前年比付き前月分KPIチャートの完成
これで、スーパーストアの前月(2022年9月)の前年比付きKPIチャートが完成です。
Tableau Publicのリンクを貼っています。
なお、以前、紹介したKPIチャートの基礎編は、以下になります。