Exploratory アワー #594 - 6ヶ月前(6行前)の売上の値を列として返したい

時系列データを分析する際に、過去のデータと比較したい場合があります。特に、前月や数ヶ月前の売上データと現在の売上を比較することで、成長率や季節性の分析が可能になります。

Exploratoryでは、lag関数を使用することで、指定した期間前のデータを簡単に取得することができます。さらに、グループ化機能と組み合わせることで、カテゴリーごとの時系列比較も可能です。

問題

時系列データで過去の特定時点(例:6ヶ月前)のデータと比較したい場合、以下のような課題があります。

データが時系列で並んでいるものの、過去の特定時点の値を新しい列として追加する方法が分からない。また、マーケットなどのグループごとに過去データを比較する際、グループをまたいで誤った値を参照してしまう可能性がある。

解決方法

基本的な過去データの取得

時系列で並んだデータから過去の値を取得するために、まず単純なケースから説明していきます。

注文日と売上が記録された月次データに対して、売上列のヘッダーメニューから「計算を作成」の「標準」を選択します。計算エディタでは、lag関数を使用して過去の値を取得することができます。

lag関数の引数には、取得したい列名と、何期前の値を取得するかを指定するnのパラメータを設定します。例えば、6ヶ月前の売上を取得する場合は、「lag(売上, n=6)」と指定します。

この処理により、各行に対して6ヶ月前の売上値が新しい列として追加されます。ただし、最初の6行については6ヶ月前のデータが存在しないため、NA(欠損値)となります。

グループごとの過去データ取得

異なるマーケット(地域)ごとに過去データを比較する場合は、まずグループ化の処理が必要です。

グループ化を行わないと、マーケットをまたいで誤った値を参照してしまう問題が発生します。例えば、アジアの最終月の6ヶ月前の値として、アフリカの初期データを参照してしまうようなケースです。

この問題を解決するために、計算を作成する前に、プラスボタンからグループ化機能を選択します。

グループ化のダイアログでマーケット列を選択し、実行します。

グループ化した状態で先ほどと同じく計算を作成で lag 関数を使用します。

これによって各マーケットごとに正しい過去データの参照が可能になります。

処理が完了したら、パフォーマンスの観点からグループ化の解除を行うことを推奨します。

ビデオ

Export Chart Image
Output Format
PNG SVG
Background
Set background transparent
Size
Width (Pixel)
Height (Pixel)
Pixel Ratio