0
0

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 1 year has passed since last update.

PowerQuery 行をN行飛ばしで取得する

Posted at

今回はPowerQueryの小技です。

サイズが(横にも縦にも)大きいテーブルを扱うとき、クエリの評価も遅くなるし、評価後の結果を確認するのも大変です。かといって列を減らすことも上位N行にフィルターしたり上位N行をスキップすることも許されない、私が今置かれているそんな過酷な状況を少しでも緩和すべく、解決策を考えてみました。

(T as table, divisor as number) =>

let
    追加されたインデックス = Table.AddIndexColumn(T, "index", 1, 1, Int64.Type),
    追加されたカスタム = Table.AddColumn(追加されたインデックス, "Mod", each Number.Mod([index],divisor)),
    フィルターされた行 = Table.SelectRows(追加されたカスタム, each ([Mod] = 0)),
    削除された列 = Table.RemoveColumns(フィルターされた行,{"index", "Mod"})
in
    削除された列

この関数にSelectRowsByNという名前を付けるとしましょう。

これでたとえばSelectRowsByN(テーブル,30)とすればテーブルから行を30行ずつ飛ばしながら取得してくれます。

これで解決するといいのだが…。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?