売上データを集計・可視化する際によくやることとして、昨年対比を計算するということがあります。
そして、それに似た計算として、特定の年を基準の年として成長率を月ごとに求めたいということもあります。このノートではそちらのやり方について紹介します。
今回はサンプルのデータとして売上データを使用します。このデータは既に、月ごとに売上を集計した以下のようなデータとなっています。
まず初めに、月のみを抽出した列を作りたいので、日付データの列ヘッダメニューから抽出の月 - ロングを選択します。
計算を作成のダイアログが表示されるので、新しく列を作成にチェックをつけて、列名をMonthにして、そのまま実行します。
すると、月だけを抽出して新しく列を作成することができました。
続いて、年のみを抽出した列を作りたいので、日付データの列ヘッダメニューから抽出の年を選択します。
計算を作成のダイアログが表示されるので、新しく列を作成にチェックをつけて、列名をYearにして、そのまま実行します。
年だけを抽出して新しく列を作成することができました。
続いて月ごとの計算ができるようにMonthの列ヘッダーメニューからグループ化を選択します。
それぞれの月ごとにグループを作ることができました。
このとき仮に2013年を基準年として、各年ごとの差の割合を理解したかったとします。
データ上の一番古い年である、2012年に基準にする場合、古い順にソートして、グループごとにSalesの最初の値との差の割合が計算すればいいのですが、今回のケース場合、基準年が一番古い年ではないことが問題です。
そういったときは、月のグループに関係なく、常に以下のようにグループの最初の値が2013年になるように並び替えることができれば、グループごとに最初の値との差の割合が計算することができるようになります。
そこで、カテゴリーの値の順序を変更することで、グループの最初の値が2013年になるようにしていきます。
まずは数値型のデータ変更するために、データタイプを変換、Character(文字)タイプに変換を選択します。
そのまま実行します。
カテゴリ型に変換する型ができました。
続いて、Yearの列ヘッダーメニューから、値の順序をセット、手動で値を選択します。
計算を作成ダイアログが表示されるので、基準にしたい年(今回の例でいうと2013年)の順番が一番最初になるように、fct_relevel(Year, "2013")
とタイプします。
これでカテゴリのデータが、順序付きのカテゴリーに変更されました。
サマリビューに移動すると、2013年のカテゴリが一番最初のカテゴリに変更されていることが分かります。
ただし、実際のデータは順序つきカテゴリの順番通りにソートされていないので、ソートしていきます。
Yearの列ヘッダーメニューから、並び替え(ソート)、昇順を選択します。
並べ替えダイアログが表示されるので、そのまま実行します。
思うような順番に並び替えることができました。
あとは計算するだけです!
Salesの列ヘッダーメニューから表計算、...からの差の割合、対象となる値に最初の値(first)**を選択します。
計算を作成のダイアログが表示されるので、そのまま実行します。
これにより、2013の年からの差の割合を月ごとに求めることができました!