前回の入門編で
PowerQueryの基本的な操作を覚えたと思います!
今回はPowerQueryの基本操作の1つ
「列の追加」を覚えていきます!
「ただ列を増やすだけでしょ?」
と思ったら大間違い!
PowerQueryの中では
結構重要な機能なのできちんと覚えましょう!
今回PowerQueryで集計したい結果
かじむー
今回扱うテストデータ
●日付
┗ 2022年01月 ~ 2022年9月 までデータあり
●カテゴリ
┗ パターン①:カテゴリが2階層(大・中)の場合
アンダーバーで区切る(例:お菓子_洋菓子)
┗ パターン②:カテゴリが3階層(大・中・小)の場合
3階層目をハイフンで区切る(例:食品_乳製品–チーズ)
●商品名
┗ 商品の名前
●売上
┗ その日の商品の売上金額
今回出したい結果
テストデータから・・・
上半期の売上Top10の商品
を出していきます!
ただし!
商品名の後ろに 最下層のカテゴリ名 を 括弧で囲んで表示します!
例)パターン①
「お菓子_洋菓子」の「ワッフル」 → 「ワッフル(洋菓子)」
例)パターン②
「食品_乳製品-チーズ」の「白カビ」 → 「白カビ(チーズ)」
かじむー
3つの「列の追加」を使って集計しよう!
3つの「列の追加」とは?
①条件列
②カスタム列
③インデックス列
という3つがあります!
この3つを使いながら集計をしていきます!
では前準備をしておきます!
日付列に対してフィルタ機能を使って
上半期(2022年1月1日~6月30日)に絞っておきます!
カテゴリ列には「ハイフン」と「アンダーバー」が
入り混じっているので
値の置換を使って「ハイフン」を「アンダーバー」に置換!
「アンダーバー」に記号を統一します!
カテゴリ列に対して
列の分割を使い「アンダーバー」で区切った
新しい列を生成します!
大(カテゴリ.1)・中(カテゴリ.2)・小(カテゴリ.3)の
3つの列が生成されました!
条件列
まずは実現したい事を整理しましょう!
ここで実現したいのは
「最下層のカテゴリを抽出」!
画像の赤枠・青枠を見てみると
カテゴリ.2 列の「洋菓子」を抜き出したい!
カテゴリ.3列の「チーズ」を抜き出したい!
これを以下ように言い換えることができます!
カテゴリ.2 を抜き出したい!
カテゴリ.3 を抜き出したい!
では、こう言った条件を持たせた列を追加するために
「列の追加」→「条件列」から
画像の様に設定してあげると・・・
「追加文字」という新しい列が出来上がり
中身は最下層のカテゴリ名が出力されています!
カスタム列
次に「商品名」に対して
先程作った「追加文字」を括弧で囲んで付け加えたい!
そこで「列の追加」→「カスタム列」を使います!
カスタム列とは
中身を自由に組み立てた内容を列として生成出来ます!
例えば、計算させたり、文字を連結させたり、
または条件列のように何か条件を記述させる事もできます!
まず画像の様に
新しい列名には「商品名(カテゴリ)」と入力します!
そしてカスタム列の式の中身に
「商品名列 に対して 括弧で囲んだ 追加文字列 を 連結させる」
と表すには以下のようになります!
=[商品名]&"("&[追加文字]&")"
「商品名(カテゴリ)」という名前で新しい列が出来ました!
中身はきちんと欲しかった値が入ってますね!
それでは「商品名(カテゴリ)」列の単位で
「売上」を集計したいので
グループ化してあげます!
次に「売上」が高い順に並び替えたいので
降順で並び替えます!
インデックス列
ここでランキングが分かり易くなるように
番号を振っていきます!
連番だったり、番号が付いた列を追加できる機能を
インデックス列と言います!
「列の追加」→「インデックス列」で
「1から」数えて欲しいので画像の様に選んであげます!
ここで「1」~「10」までが欲しいので
フィルタ機能を使って
10以下と指定すると・・・
欲しかった結果を得る事ができました!!!
今回のまとめ
今回は3つの「列の追加」を覚えました!
①条件列
┗ 条件を与えた列を追加できる
②カスタム列
┗ 自由にカスタムした列を追加できる
③インデックス列
┗ 番号を出す列を追加できる
かじむー