データ分析において、特定の期間ごとに累積合計を計算したい場面があります。Exploratoryでは、AI プロンプト、またはUIを利用する場合は、条件付き計算機能と表計算機能を組み合わせることで、キャンペーン期間や四半期など、任意の期間で区切った累積合計を簡単に計算することができます。
期間別の指標を累積で把握したい方にお役立ていただける機能です。
時系列データを利用している際、特定の期間ごとにグループに分けて、指標の累積値を計算したい場合があります。しかし、通常の時系列データには期間の区分情報が含まれていないため、そのまま累積合計を計算すると全期間通しての累積となってしまい、特定期間での累積合計を取得することができません。
日付を基準として期間のラベル列を作成し、その後で顧客IDと期間ラベルでグループ化して累積合計を計算します。これにより、各期間内での累積合計を正確に算出することができます。
今回は1行が1人の顧客から得られる1ヶ月の売上データを表し、列には顧客ID、売上日、売上金額などの情報が含まれているデータを利用します。
テーブルビューから「AI データ加工」ボタンをクリックします。
AI プロンプトのダイアログが開いたら、プロンプト入力欄に以下のプロンプトを入力し実行します。
売上日に応じてキャンペーン判定という列を追加して
2023年の6月以前はキャンペーン前、
2023年の9月以前はキャンペーン中、
それ以外はキャンペーン後
プロンプトを実行すると、AIが期間判定の条件を考慮したRスクリプトを生成します。
期待される結果のプレビューで、キャンペーン判定が正しく設定されているかを確認できます。
「ステップとして実行」ボタンをクリックすることで、処理が実行され、キャンペーン判定列が追加されます。
改めて「AI データ加工」ボタンをクリックします。
プロンプト入力欄に以下のプロンプトを入力し実行します。
顧客IDとキャンペーン判定の値ごとに売上の累積合計の列を追加して
生成されたRスクリプトでは、顧客IDとキャンペーン判定でグループ化し、累積合計を計算する処理が実行されます。
「ステップとして実行」ボタンをクリックします。
期間ごとの累積合計列が追加されました。
まず売上日をもとに期間を判定する列を作成します。
「売上日」列のヘッダーメニューから「計算を作成」の「条件付き」を選択します。
条件付き計算のダイアログが表示されたら、「条件を追加」ボタンをクリックして条件を設定していきます。
最初の条件では、演算子に「以前」を選択し、値のタイプを「年月」に設定して「2023-06」を指定します。これにより2023年6月以前という条件を作成できます。
新しい値には「文字」を選択し、「キャンペーン前」と入力します。
次に「条件の複製」ボタンをクリックして2つ目の条件を追加します。
条件の設定を変更し、「2023-09」以前に条件を変更します。
この条件は前の条件に該当しなかった行に対してのみ適用されるため、実質的に2023年7月から9月の期間を指定することになります。
新しい値を「キャンペーン中」に変更します。
デフォルト設定では、値のタイプを「文字」に変更し、「キャンペーン後」と入力します。これにより、上記の条件に該当しないすべての行に適用されます。
新しい列名を「キャンペーン判定」に設定し、実行ボタンをクリックします。
これで期間を判定する列を追加できました。
次に期間ごとの累積合計を計算します。
「顧客ID」列のヘッダーメニューから「表計算を作成」を選択します。
表計算のダイアログが表示されたら、グループに「顧客ID」と「キャンペーン判定」の両方を選択します。これにより顧客と期間の組み合わせごとにグループ化されます。
値に「売上」を選択します。
計算のタイプには「累計」がデフォルトで選択されていることを確認します。
新しい列名を「累積売上」に設定します。
なお、データが日付順に並んでいない可能性がある場合は、「計算前にデータを並び替える」にチェックを入れ、並び替える列に「売上日」を選択し、並び順を「昇順」に設定します。
これで顧客IDと期間判定の組み合わせごとに累積合計を計算できました。各期間内での累積合計が正しく算出され、期間が変わるとリセットされることが確認できます。