Excel (一般機能)

Excelの一般機能に関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Pro : Microsoft 365)
Power Query コード列以外すべての合計列を追加したい
投稿日時: 23/06/09 10:34:08
投稿者: tarima

Power Query XXXコード列以外すべての合計列を追加したい
 
コード列以外は、列数、列名可変のため、合計列を追加するにはどうしたらよいのかわかりません。
教えてください。
 
コード列以外List=List.Select(Table.ColumnNames(前ステップ),
                      each not Text.EndsWith(_, "コード")),
 
↓このコードをいろいろ変更して試行錯誤したのですが、エラーになります。
すべての列の合計は以下の記述で正しく出力されます。
 
// すべての列の合計列を追加
    合計 = Table.AddColumn(前ステップ, "合計", each
                List.Sum(Record.FieldValues(_)), Int64.Type),

回答
投稿日時: 23/06/09 11:02:57
投稿者: sk

引用:
Power Query XXXコード列以外すべての合計列を追加したい

引用:
コード列以外は、列数、列名可変

合計 = Table.AddColumn(前ステップ, "コード列以外の全ての列の値の合計", each List.Sum(Record.ToList(Record.RemoveFields(_,{"コード"}))))
 
---------------------------------------------------------------
 
以上のようなカスタム列を追加したい、ということでしょうか。

回答
投稿日時: 23/06/09 11:15:37
投稿者: んなっと

XXXコード each not Text.EndsWith(_, "コード")
→XXXコード は *コード のようなワイルドカードの意味ですね。
 
let
    ソース = Excel.CurrentWorkbook(){[Name="テーブル1"]}[Content],
    変更された型 = Table.TransformColumnTypes(ソース,{{"1コード", ...}}))
in
    変更された型
 
を以下のような形に変更
 
let
    ソース = Excel.CurrentWorkbook(){[Name="テーブル1"]}[Content],
    変更された型 = Table.TransformColumnTypes(ソース,{{"1コード", ...}})),
    Sel = List.Select(Table.ColumnNames(変更された型), each not Text.EndsWith(_,"コード")),
    Add = Table.AddColumn(変更された型, "加算", each List.Sum(Record.ToList(Record.SelectFields(_,Sel))))
in
    Add

 

投稿日時: 23/06/09 11:17:27
投稿者: tarima

skさん、ありがとうございます。"コード"という列があればOKでした。
 
"コード"列以外というのは、each not Text.EndsWith(_, "コード")で、
 
●●コード、XXコードと、コード列は複数あります。質問の仕方が適切ではありませんでした。ごめんなさい。
この条件を入れるには、どうしたらよいのか教えていただけますでしょうか。

回答
投稿日時: 23/06/09 11:19:29
投稿者: sk

引用:
コード列以外List=List.Select(Table.ColumnNames(前ステップ),
                      each not Text.EndsWith(_, "コード")),

上記のステップで取得したフィールド名のリストの
いずれかの要素の値と名前が一致する全てのフィールドを除外したい、
ということであれば、下記赤字の箇所を コード列以外List に
置き換えればよろしいでしょう。
 
引用:
合計 = Table.AddColumn(前ステップ, "コード列以外の全ての列の値の合計", each List.Sum(Record.ToList(Record.RemoveFields(_,{"コード"}))))

投稿日時: 23/06/09 11:26:21
投稿者: tarima

skさんにお返事を書いている間に、んなっとさんから回答いただきました。
 
んなっとさん、希望どおりです。いつもありがとうございます。また勉強になりました。
 
今、skさんからも回答を頂きました。ありがとうございます。