グループごとに前の日との差が30日以内のデータのみを残す方法

例えば、以下のような顧客のアクセスログのデータがあったとします。

image

やりたいこととしては、顧客ごとに前の日(前の値)とのアクセス期間が30日以内の行のみを残したいです。

image

そのためにはまず、前の人のアクセス期間を求める必要があります。

アクセス日時の列から「表計算を作成」を選択し、「…からの差」の「前の行の値」を選択します。

image

表計算の設定のダイアログが表示されるため、下記を設定します。

  • 計算のタイプ: 差
  • …からの差: 前の値(LAG)
  • 期間の単位: 日

image

顧客ごとに計算をしたい場合は、グループに「顧客ID」の列を割り当てます。

image

また、日付の列がソートされていない場合は、「計算前にデータを並び替える」にチェックをつけ、並び替える列に日付の列の昇順を選択します。

image

実行することで「前の日との差」を求めた列を作成できるため、次に列ヘッダメニューから「フィルタ」の「以下」を選択します。

image

フィルタのダイアログが表示されるため、値に残したいデータである日数を指定します。今回は30日以内のデータを残したいため、値に30を指定しています。

image

実行することで、前の日との差が30日以内のデータのみを残すことができました。

image

前の日との差の列の「i」のボタンをクリックすることで、チャートやサマリ情報を確認することができ、前の日との差が30日以内のデータのみが残っていることが確認できます。

image

「いいね!」 2