Help us understand the problem. What is going on with this article?

[PowerQuery]グループの中でインデックスを付ける

More than 1 year has passed since last update.

いつも忘れてしまうため自分のメモとして

以下の内容を日本語で説明しただけ。
https://www.excelguru.ca/blog/2018/06/27/number-rows-by-group-using-power-query/

やりたいこと

リボンにあるインデックス列はテーブル全体に連番が振られるが、特定のグループの中で採番したいときがある。
そんなときに使う。

↓こんな感じのインデックスを作りたい。
image.png

流れ

  • 一旦グループ化
  • グループ化されたテーブルの中でインデックスを追加する
  • テーブルを展開する

詳細

group列でグループ化する。
image.png

列名は後で消すのでなんでもよい。今回はwTableとした。
操作「すべての行」を選択する

image.png

テーブルができる。
image.png

カスタム列の追加にてwTableにインデックスをつけた新たなテーブルを追加する。wTable自体にインデックスを追加するわけではない。
image.png

image.png

すると各テーブルにインデックスが登録される
image.png
image.png

最後に、wTable列を削除してvalueとindexをテーブルから展開すれば完了。

以下を詳細エディタに張り付ければ手順を確認できる。

let
    ソース = #table(type table [group = text,value = text],{{"a","q"},{"a","w"},{"a","e"},{"b","r"},{"b","t"},{"b","y"},{"b","t"}}),
    グループ化された行 = Table.Group(ソース, {"group"}, {{"wTable", each _, type table}}),
    追加されたカスタム = Table.AddColumn(グループ化された行, "indexTable", each Table.AddIndexColumn([wTable], "index", 1, 1)),
    削除された列 = Table.RemoveColumns(追加されたカスタム,{"wTable"}),
    #"展開された indexTable" = Table.ExpandTableColumn(削除された列, "indexTable", {"value", "index"}, {"value", "index"})
in
    #"展開された indexTable"
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away