PowerQueryエディタでデータ編集 - aktnk/til GitHub Wiki
列の分割
ある列のデータが(カテゴリID)-(製品番号)-(サイズ)-(色ID)
で構成されており、そのデータを(カテゴリID)
、(製品番号)
、(サイズ)
、(色ID)
の4つの列に分割する
- その列を選択し、[変換]タブ>[列の分割]>[区切り記号による分割]を選択
- [区切り記号による分割]のウインドウで、下記を設定し[OK]を押下
- 区切り記号:
-
- 分割:
区切り記号の出現ごと
- [詳細設定オプション]>分割の方向:
列
- 分割後の列数:
4
- 区切り記号:
- 分割後の列名を
カテゴリID
、製品番号
、サイズ
、色ID
に変更
日付文字列の統一
ある列に(日付)
データが入っているが、行によって日付フォーマットが異なっているので、フォーマットを統一する
但し、(日付)
データの違いを判定できる列データ(例えば、(国)
等)が必要
- 列の分割を利用し
(日付)
データを年・月・日の各構成要素に分割する(日付)
データは再構成するのでここでは一旦分割して無くなってもOK
- [列の追加]タブ>[カスタム列]を選択
- [カスタム列]のウインドウで、下記を設定し[OK]を押下
- 新しい列名:
日付_年月日
- カスタム列の式:
上記は、USAでは元の日付データが= if [国] = "USA" then #date([日付.3],[日付.1],[日付.2]) else #date([日付.3],[日付.2],[日付.1])
(月)/(日)/(年)
、それ以外では(日)/(月)/(年)
でとなっていた場合の例
- 新しい列名:
日付_年月日
のデータ種別アイコンをクリックし、日付
を選択する
例からの列
数値で入力されている(サイズ)
データから、S・M・Lで分類した列データを作成する
(サイズ)
列を選択した状態で、[列の追加]タブ>[例からの列]>[選択範囲から]を選択- [例から列を追加する]が表示される空の列が表示されるので、列名を
サイズID
に変更 - 空になっているデータ行を1つ選択し、
(サイズ)
の値から対応しているサイズIDとしてS/M/Lから1つ入力する - 上記入力を何度か繰り返すことで、入力していない行のデータが
null
でなく(正しそうなデータ)が自動設定されたら[OK]を押下 - [クエリの設定]>[適用したステップ]欄の最後にある[追加された条件列]の歯車アイコンを押下
- [条件列の追加]ウインドウが表示されるので、自動設定された各条件を確認し、設定内容に間違いがあれば修正し[OK]を押下
データの正規化
販売実績データに含まれる商品データから商品マスタを作成する
具体的には、販売実績データに注文ID
,注文日
,注文数
,…,商品ID
,商品名
,単価
,…があり、ここから、商品ID
,商品名
,単価
からなる商品マスタとその他の注文実績を作成する
商品マスタ
の作成- [クエリ]に表示される
販売実績
を右クリックし、[参照]を選択 - [クエリの設定]に表示される[プロパティ]>[名前]を、
商品マスタ
に変更 - [クエリ]で
商品マスタ
を選択し、[ホーム]タブ>[列の選択]>[列の選択]を選択 - [列の選択]ウインドウが表示されるので、[すべての列の選択]のチェックを外し、商品マスタに残す
商品ID
,商品名
,単価
にチェックを入れ[OK]を押下 商品ID
を選択し、[ホーム]タブ>[行の削除]>[重複の削除]を選択
- [クエリ]に表示される
注文実績
の作成- [クエリ]に表示される
販売実績
を右クリックし、[参照]を選択 - [クエリの設定]に表示される[プロパティ]>[名前]を、
受注実績
に変更 - [クエリ]で
受注実績
を選択し、[ホーム]タブ>[列の選択]>[列の選択]を選択 - [列の選択]ウインドウが表示されるので、
商品名
,単価
にチェックを外し[OK]を押下
- [クエリ]に表示される
販売実績
の読み込みを設定を無効化し、データを読み込む- [クエリ]に表示される
販売実績
を右クリックし、[読み込みを有効にする]のチェックを外す - [閉じて適用]を選択
→
商品マスタ
,注文実績
が読み込まれる
- [クエリ]に表示される
データの余分な空白を削除する
データの先頭や末尾に余分な空白が含まれている場合、余分な空白を取り除く
- 該当の列を選択し、[変換]タブ>[書式]>[トリミング]を選択