私はあなたが生成するために欲しいものはかなりわからないんだけど、私はどのような作品の一般的な例を与えることができ、そして、あなたの例には、エラーを打つかもしれないなぜカップルが推測します?
私のマッシュアップは次のように起動すると言う:
let
Source = Folder.Files("c:\code\css430\Final_Project\.idea")
in
Source
そして、私はXMLとして、各セルをロードします。まず、私はちょうど1つのバイナリのセルをクリックし、UXの自動生成 - 何を参照してくださいよ:
let
Source = Folder.Files("c:\code\css430\Final_Project\.idea"),
#"c:\code\css430\Final_Project\ idea\_misc xml" = Source{[#"Folder Path"="c:\code\css430\Final_Project\.idea\",Name="misc.xml"]}[Content],
#"Imported XML" = Xml.Tables(#"c:\code\css430\Final_Project\ idea\_misc xml",null,1252),
#"Changed Type" = Table.TransformColumnTypes(#"Imported XML",{{"Attribute:version", Int64.Type}})
in
#"Changed Type"
興味深いビットはXml.Tables
が[Content]
列に呼び出されたことです。私は、新しいステップを削除し、ちょうどXml.Tables([Content])
のためのカスタム列を追加します:
let
Source = Folder.Files("c:\code\css430\Final_Project\.idea"),
#"Added Custom" = Table.AddColumn(Source, "Xml", each Xml.Tables([Content]))
in
#"Added Custom"
あなただけXml.Tables
を呼び出すよりも多くの変換を行いたい場合は、一つのセルをクリックした後に複数のステップを追加し、コードをコピーステップを削除し、すべての変換をTable.AddColumn
関数に入れます。
ハードコーディングされたファイルパスではなく、FilePath
引数をリファクタリングしてから、そのすべてが機能している場合にのみ、リファクタリングしてください。あなたの例では間違っているかもしれない
いくつかの点:このような
コード:
(FilePath, FileName) =>
let
Source = Folder.Files(FilePath),
Query1 = (FileName) => ...
あなたはそれぞれがあるFileName
という名前のパラメータを持つ二つの関数を宣言ていることを意味後で混乱するようになるだろう。どのパラメータが使用されるかを定義するルールがありますが、異なる名前を付けるのが最善です。
Binary.Combine
の上にXml.Tables
を呼び出すと、ほとんど常に問題が発生します。 2つのXMLファイルのテキストをコピー・ペーストすると、新しいXMLファイルには追加されません。それはフォーマットエラーになるでしょう。まず、XMLを常にM個の表に変換してから組み合わせてください(例:Table.Combine
)。バイナリ結合は、プレーンテキストとCSVバイナリを組み合わせるのに有効ですが、実際にはそれらのタイプのみです。それはSource
テーブルの上に何かのためにQuery1
機能を使用するように
コードSource[Query1]
に見えますが、それは実際に(エラーが発生します)テーブルの"Query1"
列を見つけることを意味します。テーブルに変換関数を適用する場合は、Table.AddColumn
が好きかもしれません。おそらくTable.TransformColumns
私はXMLファイルをよく持っています.1つのxmlファイルからデータを抽出する4つの関数をまとめています。私は今、4つの関数を取って、フォルダ内のすべてのxmlファイルを処理するためのフォルダクエリを作成しようとしています。 – sayth