私は Microsoft Query を初めて使用するので、用語が標準的でない可能性があります。
ダッシュボードとして機能する Excel ドキュメントを設定しています。ドキュメントは、複数のユーザー間で共有フォルダーに配置されます。
Excel でシートを作成しました。このシートには、Excel ドキュメントのパスを読み取るセルがあります。
Microsoft Query を使用して、にあるパスを使用して"Sheet1(A1)"
、このディレクトリ内のすべてのファイルを検索し、それらを結合するとします。
クエリを実行すると、これを行うように設定できます。ただし、このディレクトリ内のファイルを結合しようとすると問題が発生します。私のローカル マシンでは動作しますが、ユーザーが資格情報を使用して別のマシンで試行すると、入力を見つけるために使用されるパスが自分のパスにハードコードされます。
"Sheet1(A1)"
値をクエリ/変換に持ち込んで、パスを動的に保つにはどうすればよいですか?
以下は、私のワークフローの簡単な概要です。
インポートの最初の部分の「ソース」は読み取ります。「パス」は、Sheet1(A1) にある名前付きセルを参照します。
= Folder.Files(Excel.CurrentWorkbook(){[Name="path"]}[Content]{0}[Column1])
ファイル名の特定の用語 (複数あります) のみをフィルタリングして、ソースを間引きます。
= Table.SelectRows(Source, each Text.StartsWith([Name], "AS") or Text.StartsWith([Name], "As"))
ここからハード コーディングが始まります。次に、フィルター処理されたファイルを取得し、展開してシートを 1 つに結合します。
= Table.AddColumn(#"Filtered Rows", "Transform File from Query1 (2)", each #"Transform File from Query1 (2)"([Content]))
これは、パスがハード コードされている場所であり、セル A1 の値を使用したいと考えています。
= #"Filtered Rows"{[#"Folder Path"="**C:\Users\User\Path\**",Name="As_Test.xlsx"]}[Content]
私が言ったように、クエリのソースは機能しますが、その動的テキストを実行することはできません。または、少なくともそれを実行するためのクエリ構文に精通していません。