このノートでは、会社で設定されている年度(例: 4月始まり)の列を作成し、年度の最初の日からの日数を求める方法をご紹介します。
今回使用するサンプルデータは、1日単位の売上のデータを使用していきます。
まずは、年度の列を作成していきましょう。
今回は、よくある4月1日から3月31日までをその年度とした列を作成していきます。例えば、2022年4月1日から2023年3月31日を2022年度にするといった処理になります。
日付の列から「値を置き換える(条件を指定)」を選択します。
条件を設定して置換のダイアログが表示されるため、条件のプラスボタンをクリックします。
演算子に「以後」、値のタイプに「月 - 数字」を選び、値には「4」を指定します。
次に、新しい値のデータ型には「数値(Numeric)」を選択します。
新しい値のタイプに「計算」を選び、計算式には下記を指定します。
year(日付)
これにより4月以降であればその年の値を使うことになります。
次に、デフォルト(1月~3月)の新しい値のタイプに「計算」を選び、計算式には下記を指定します。
year(日付) - 1
2022年4月1日から2023年3月31日を2022年度としたいため、2023年3月1日であれば3月以内になるので、2023-1
をして2022年度にするという計算処理です。
新しく列を作成にチェックをつけ、列名に「年度」を指定して実行します。
これによって「年度」の列が作成できました。
ここからは各年度の最初の日からの日数を求めていきましょう。
年度の列から「計算を作成」の「標準」を選択します。
計算エディタには下記の式を入力します。
str_c(年度, "04", "01", sep = "-")
str_c
関数は列の値や指定した文字をくっつける関数です。詳しくは、こちらのノートをご参照ください。
実行することで、「年度-04-01」の値を持った列を作成が作成できました。
次に、データタイプがCharacter型のため、日付型に変換をします。
年度の最初の日の列ヘッダメニューから「データタイプを変換」の「Date(日付)/ POSIXct(日付時間)型に変換」の「Year, Month, Day」を選択します。
計算を作成のダイアログが表示されるため、そのまま実行します。
元の日付と年度の最初の日の列ができたため、年度の最初の日の列から「期間」の「他の日付列」を選び、単位に「日数」を選択します。
計算エディタには下記のように指定をします。
days_between(年度の最初の日, 日付) + 1
+1としているのは、2019-04-01がそのままだと0という値で返りますが、1日目としたいために+1をしています。
新しく列を作成にチェックをつけ、任意の列名を指定をして実行します。
設定した年度の最初の日からの日数を求めることができました。
例えば、ラインチャートを使ってX軸に「年度での日数」、Y軸に「売上」を選び、繰り返しに「年度」を選択します。
これにより、年度ごとに最初の日からの日数の単位で時系列の推移を比べることができます。