[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『Power Query 行インデックスで置換』(てつ)
Power Queryで行インデックスを条件として、「Table.TransformColumns」で置換するにはどうすればいいですか?
例えば以下のようなケースです。 ソースが「{100..110}」の時、6行目以降を「null」にする例です。 「インデックス列」を追加して「カスタム列」でやれば、できるのですがステップが増えるので、「Table.TransformColumns」で可能であれば方法を教えてください。
let ソース = Table.FromColumns({{100..110}}), 追加されたインデックス = Table.AddIndexColumn(ソース, "インデックス", 1, 1, Int64.Type), 追加された条件列 = Table.AddColumn(追加されたインデックス, "カスタム", each if [インデックス] > 5 then null else [Column1]), 削除された他の列 = Table.SelectColumns(追加された条件列,{"カスタム"}) in 削除された他の列
< 使用 Excel:Microsoft365、使用 OS:Windows10 >
ソース = Table.FromColumns({{100..110}}), 上位行の保持 = Table.FirstN(ソース,5), 空テーブル = Table.FromColumns({List.Repeat({null}, Table.RowCount(ソース)-5)}), テーブル結合 = 上位行の保持 & 空テーブル (d-q-t-p) 2023/09/13(水) 13:18:20
ソース = Table.FromColumns({{100..110}}), 上位行の保持 = Table.FirstN(ソース,5), 上位行の削除 = Table.Skip(ソース, 5), 列の編集 = Table.TransformColumns(上位行の削除, {"Column1", each null}), テーブルの結合 = 上位行の保持 & 列の編集 (d-q-t-p) 2023/09/13(水) 13:23:12
ありがとうございます。できるだけ簡潔な例でと思い1列のみの例でしたが、 複数列の場合は、どうでしょうか?
<元ソース> ID 氏名 100 斎藤道三 101 毛利元就 102 松永久秀 103 今川義元 104 武田信玄 105 明智光秀 106 上杉謙信 107 織田信長 108 井伊直虎 109 荒木村重
<置換後>//「ID列のみ」6行目以降を「null」 ID 氏名 100 斎藤道三 101 毛利元就 102 松永久秀 103 今川義元 104 武田信玄 null 明智光秀 null 上杉謙信 null 織田信長 null 井伊直虎 null 荒木村重
(てつ) 2023/09/13(水) 13:42:18
あえて別のやり方を提示するなら
上位行の保持 = Table.FirstN(元ソース, 5), 上位行の削除 = Table.Skip(元ソース, 5), 列の削除 = Table.RemoveColumns(上位行の削除, {"ID"}), テーブル結合 = 上位行の保持 & 列の削除 (d-q-t-p) 2023/09/13(水) 13:56:25
解決だと思いますが、せっかく書いたので。
Table.TransformColumnsだと、変換関数に対象列の値しか渡されてこないので、 別の列の値を条件に使うのが難しいですね
ちょっと反則ぎみですが、CombineColumnsを使うと対象の複数列の値がListで渡されてくるので、
let ソース = Table.FromColumns({{100..110},{200..210}}), 追加されたインデックス = Table.AddIndexColumn(ソース, "インデックス", 1, 1), 結合された列 = Table.CombineColumns(追加されたインデックス, {"Column1","インデックス"}, each if _{1} > 5 then null else _{0} , "Column1") in 結合された列 (´・ω・`) 2023/09/13(水) 14:03:52
(d-q-t-p)様、ありがとうございます。 後に書いた方のやり方で、できました。 確認もせず、追加質問のようになってしまい、申し訳ございませんでした。
(´・ω・`)様、ありがとうございます。 こちらでも、できました。 「Table.CombineColumns」、使ったことがないので、調査します。
どうも、ありがとうございました。\(^_^)/感謝.... (てつ) 2023/09/13(水) 14:15:57
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.