3
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Power Queryで列追加・置換方法をまとめていく

Last updated at Posted at 2020-11-28

便利な列追加方法について追記していきます。

関数 説明
Table.FromRows(list, columnName) 二次元リストからテーブル作成
Table.AddColumn(table, newColumnName as text, columnGenerator as function) 列の追加
Table.Join(table1, key1, table2, key2, optional joinKind as nullable number, optional joinAlgorithm as nullable number, optional keyEqualityComparers as nullable list) テーブルの横結合

テーブルの結合

テーブル1の作成
= Table.FromRows(
    {{"Bob", 25},
    {"Tom", 32}},
    {"name", "age"})

2020-11-28_10h04_33.png

テーブル2の作成
= Table.FromRows(
    {{"Bob", "apple"},
    {"Tom", "arange"}},
    {"name", "favorite"})

2020-11-28_10h04_39.png

テーブルの結合
= Table.Join(ソース, "name", カスタム1, "name")

ソースとカスタム1が先に作ったテーブル名でそれぞれのキーを偶数の引数で指定。

2020-11-28_10h04_47.png

joinのさせ方はいろいろあるので下記を参考に指定可能
https://docs.microsoft.com/ja-jp/powerquery-m/table-join

以降このテーブル(カスタム2)に列を追加する方法を紹介

列の追加

四則演算

数値の四則演算
= Table.AddColumn(カスタム2, "year", each [age] + 1967)

2020-11-28_10h06_58.png

置換

数値の四則演算
= Table.AddColumn(カスタム2, "year", each Text.Replace([name], "Bob", "bob"))

2020-11-28_10h50_18.png

条件式

if文の条件式
= Table.AddColumn(カスタム2, "year", each if [age] < 30 then "30歳未満" else "30歳以上")

2020-11-28_10h52_29.png

リストと一致するかの確認

リストに一致したらtrueを返す
= Table.AddColumn(カスタム2, "year", each if List.Contains({"Bob", "Tom"}, [name])  then true else false)

2020-11-28_11h00_25.png

最後に項目のデータタイプを指定することも可能

リストに一致したらtrueを返す
= Table.AddColumn(カスタム2, "year", each if List.Contains({"Bob", "Tom"}, [name])  then 1 else 0, type number)

指定したい型は、Power Queryで一度変換して作られる関数を見るのが良いです。

日付から年月を作成

= Table.AddColumn(スタム2, "年月", each Date.ToText([日付], "yyyy/MM"))

型変換 + Error対応

= Table.ReplaceErrorValues(Table.TransformColumnTypes(テーブル, {{"column1", type number}, {"column2", type number}}), {{"column1", null}, {"column2", null}})
3
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?