例えば、日ごとに列があるデータにて欠損値があった時に左側の列の値で埋めていきたいとします。
埋めた結果は以下のようになっています。
例えば、埋める対象の列が少ない列であれば、coalesceという関数を使って簡単に欠損値を別の列の値で埋めることが可能です。詳細についてはこちらをご覧ください。
一方で、埋める対象の列が数十列以上となると、coalesce関数を使って処理を行うのは大変な作業となります。
そこで、データの持ち方を日毎に列があるワイド型から、日毎に行があるロング型に変換をすることで、その処理が簡単になります。
列ヘッダメニューから「ワイド型からロング型へ」を選び、「選択された列を除く」を選択します。
ワイド型からロング型へのダイアログをが表示されるため、キー列には「日付」を値の列には「値」を選択します。
欠損値を取り除くには「いいえ」を選択します。
ステップメニューから「グループ化」を選択します。
グループ化「ID」を選択します。
IDごとにグループごとに分けることができました。
次に値の欠損値を前の値で埋めます。
値の列から列ヘッダメニューをクリックし、「欠損値の加工」の「欠損値を前か後ろの行の値で埋める」を選択します。
欠損値を前後の行の値で埋めるのダイアログが表示されるので、列名には「値」をタイプには「前の行の値」を選択します。
値の欠損値を前の行の値で埋めることができました。
グループ化は不要となるため、「グループ解除」を行います。
これによって値を前の値(元のデータでの左の値)で埋めることができたため、チャートなどで可視化をするにはこのロング型の状態の方がチャートで可視化がしやすいです。
一方で、元のワイド型の日毎に列がある形式にしたい場合は、「日付」と「値」を選択をした上で「ロング型からワイド型へ」を選択します。
ロング型からワイド型へのダイアログが表示され、キー列には「日付」、値の列には「値」を選択します。
ワイド型に変換をすることで、元のデータの形式に戻すことができました。