Power BI DesktopのPower Query エディターで扱いにくい時間列を扱いやすい「年」と「月」に整える

扱いにくい「年」の例

「YYYY年」の位置が扱いにくデータをインポートした例です。

これを今回、こうします。

Power Query エディターの機能やM式言語を使って簡単にできるのかもしれませんが、今回は(恐らく)地道な手順で整形しました。

例からの列機能でErrorを生成

まず、「月」を「月a」と置換します。
これは後でエラーを出すためです。

Column1列を選択した状態で、上部メニューから「列の追加」→「例からの列」→「選択範囲から」を選び、列を追加します。
追加された列(以下の場合「列1」)の先頭のセルをクリックして「2021年(Column1からの年)」を選びます。

そうすると、YYYY形式以外のセルが「Error」になります(追加した列を先頭に移動しています)。
ここで、例えば「5月a」を置換前の「5月」のままにしておくと「今年の5月」と認識してしまい、「Error」でなく「2023」(年)が記載されます。
時間要素と認識させないために、「5月a」としました。
「5月b」でも「5月z」でも「5がつ」でもよかったということです。

フィル→下へを使うための「null」

次に下方向にフィル(コピー)する機能を使うための準備をします。
「年」列の「Error」を置換できるように、列の型を文字列型に変換します。
変換後、列の部分を右クリックして「エラーの置換」で「null」に置換します。


上部メニューの「変換」→「フィル」→「下へ」を実行すると、「null」がその上の値に上書きされます。

フィルターなどで仕上げ

これでやりたいことはほぼできました。
後は仕上げです。
Column1列に対し「a」を取り除く置換を行います(ブランクに置換)。
加えて今回の場合「MM月」の前にスペースが入っているので、「変換」→「書式」→「トリミング」で取り除きます。

Column1列のドロップダウンメニューから「テキストフィルター」→「指定の値で終わる」を選び「月」と指定して必要な値のみ残します。

YYYYMMDD形式にする場合

YYYYMMDD形式の列を用意する場合は、「年」列に対し「変換」→「書式」→「サフィックスの追加」で「年」を追加します。

「年」列とColumn1列を選択し、右クリックから「列のマージ」を選び結合。
最後に「型の変更」→「日付」とします。

タイトルとURLをコピーしました