1行が1つの購買や注文を表すデータにて、顧客ごとに最後(最新)の注文データのみを残したいことがあります。
そこで、このノートではグループごとに最後の日付のデータのみを残す方法について紹介します。
使用するデータは、1行が1つの商品に対する注文を表す、ECサイトの注文データを使用します。
やりたいこととしては、顧客(顧客ID)ごとに最後の注文日のデータのみを残したいです。
顧客ごとにフィルタを実行する必要があるため、ステップメニューから「グループ化」を選択します。
グループ化のダイアログが表示されるため、顧客を識別できる「顧客ID」の列を選択します。
顧客IDごとにグループ化することができました。
このグループ化をした状態であれば、今から行う「フィルタ」やその他にも「計算を作成」などの処理がグループ単位で行われるようになります。
今回は顧客ごとに最後の注文日のデータを残したいため、注文日の列ヘッダメニューから「フィルタ」の「等しい」を選び、「日付」を選択します。
フィルタのダイアログが表示されました。
日付の値を直接指定をするとその日のみにフィルタされますが、顧客ごとの最後の注文日にフィルタするためには、「集計関数」にチェックをつけ、集計関数には「最後の日(max)」を選択します。
実行することで、顧客(顧客ID)ごとに最後の注文日のデータのみを残すことができました。
グループ化を必要とする処理が終了した場合、「グループ解除」を行なってください。
グループ解除を行わずに処理をし続けた場合、それぞれのステップでの処理がグループ化がかけられた状態で行われるため、余計に時間がかかってしまうことがございます。