1

サブフォルダーのあるフォルダーから多くのテキストファイルをインポートしましたが、これまでのところすべて正常に動作しています。私のフォルダーには、さまざまな期間の多くのフォルダーに同じテキスト ファイルがあります。たとえば、次のようになります。

AllData\201501\Revenues.txt
AllData\201502\Revenues.txt
AllData\201502\Revenues.txt
.....

収益を準備しているクエリ内の「201501」のようなパスからのパーツが必要です。第三者から生成された .txt ファイルに日付を書き込むことができません。

テキスト ファイルの行で FullPath を結合するにはどうすればよいですか? その後のカットは簡単です。

4

1 に答える 1

2

(以下の機能のいずれかがまだ Power Query のパブリック リリースに含まれていない場合は申し訳ありませんが、これは今日の Power BI Designer で機能します!)

フォルダから私に与えます: フォルダ

ファイル テキストを取得する Text.FromBinary名前の列を使用して、カスタム ステップを追加します。TextFromBinary

次に、 と を除くすべての列を削除しFolder PathますTextコラム

そこから、フォルダ パス列を区切り記号で分割します。\ スプリット

そして、日付を含むパス列のみを保持します: 削除2

次に、2 つのテキスト列をカスタム でマージ:すれば完了です。

マージ

これを実行して、上記で使用したデータをセットアップします。

cd c:\
mkdir alldata
cd alldata
mkdir 201501
mkdir 201502
mkdir 201503
echo Made $100 > 201501\Revenues.txt
echo Made $200 > 201502\Revenues.txt
echo Made $300 > 201503\Revenues.txt

この変換の完全な M ソース コード:

let
    Source = Folder.Files("c:\AllData"),
    #"Added Custom" = Table.AddColumn(Source, "Text", each Text.FromBinary([Content])),
    #"Removed Other Columns" = Table.SelectColumns(#"Added Custom",{"Folder Path", "Text"}),
    #"Split Column by Delimiter" = Table.SplitColumn(#"Removed Other Columns","Folder Path",Splitter.SplitTextByDelimiter("\"),{"Folder Path.1", "Folder Path.2", "Folder Path.3", "Folder Path.4"}),
    #"Changed Type" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"Folder Path.1", type text}, {"Folder Path.2", type text}}),
    #"Removed Other Columns1" = Table.SelectColumns(#"Changed Type",{"Folder Path.3", "Text"}),
    #"Merged Columns" = Table.CombineColumns(#"Removed Other Columns1",{"Folder Path.3", "Text"},Combiner.CombineTextByDelimiter(": ", QuoteStyle.None),"Revenues")
in
    #"Merged Columns"
于 2015-04-30T01:04:36.507 に答える