[[20231003171943]] 『パワークエリ パス変動 エラー』(ちょこ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『パワークエリ パス変動 エラー』(ちょこ)

パワークエリのパス変動が上手くできません
作成方法は↓を参考にしてます

 https://akmemo.info/powerquery-relative-path/

私のPCではエラーなく成功したと思ったのですが
他のPCから開くと

 フォルダーが見つかりません C:\...

とエラーがでます
エラーのアドレスは私のPCとなってます

TBフォルダから一括して結合しています
そのテーブルの詳細エディターは↓(省略あり)
ファイルのパスは問題ないです

 let
    ファイルパス = Excel.CurrentWorkbook(){[Name="パス"]}[Content]{0}[ファイルパス],
    ソース = Folder.Files(ファイルパス & "TB"),
    #"フィルター選択された非表示の File1" = Table.SelectRows(ソース, each [Attributes]?[Hidden]? <> true),
    カスタム関数の呼び出し1 = Table.AddColumn(#"フィルター選択された非表示の File1", "ファイルの変換", each ファイルの変換([Content])),
    #"名前が変更された列 1" = Table.RenameColumns(カスタム関数の呼び出し1, {"Name", "Source.Name"}),
    削除された他の列1 = Table.SelectColumns(#"名前が変更された列 1", {"Source.Name", "ファイルの変換"}),
    展開されたテーブル列1 = Table.ExpandTableColumn(削除された他の列1, "ファイルの変換", Table.ColumnNames(ファイルの変換(#"サンプル ファイル"))),
    変更された型 = Table.TransformColumnTypes(展開されたテーブル列1,{{"コード", type text}}),
    #"名前が変更された列 " = Table.RenameColumns(変更された型,{{"Source.Name", "ファイル名"}}),
    区切り記号による列の分割 = Table.SplitColumn(#"名前が変更された列 ", "ファイル名", Splitter.SplitTextByDelimiter("_", QuoteStyle.Csv), {"ファイル名.1", "ファイル名.2", "ファイル名.3"}),
    変更された型1 = Table.TransformColumnTypes(区切り記号による列の分割,{{"ファイル名.1", type text}, {"ファイル名.2", type text}, {"ファイル名.3", type text}}),

< 使用 Excel:Microsoft365、使用 OS:Windows10 >


 >他のPCから開くと

 他のPCに、TBという名前のフォルダはありますか
(マナ) 2023/10/03(火) 17:57:10

 >ファイルのパスは問題ないです

 エラーが出るステップは、どこですか

 ソース 
 カスタム関数の呼び出し1 
(マナ) 2023/10/03(火) 18:11:42

 ここですかね

 >展開されたテーブル列1 = Table.ExpandTableColumn(削除された他の列1, "ファイルの変換", Table.ColumnNames(ファイルの変換(#"サンプル ファイル")))
(マナ) 2023/10/03(火) 18:41:44

 1)たぶん、これでエラーはでなくなります。

 > Table.ColumnNames(ファイルの変換(#"サンプル ファイル"))
       ↓
 Table.ColumnNames(削除された他の列1{0}[ファイルの変換])

 2)もしくは、ヘルパークエリの中の、サンプルファイルのソースを修正する

 3)もしくは、「展開されたテーブル列1 」のステップを手動でやりなおす。
(マナ) 2023/10/03(火) 19:55:57

 ↑は3)が一番カンタンですが、元テーブルの列名が変わるとエラーになります。
(マナ) 2023/10/03(火) 20:05:25

TBフォルダは同じものをコピペしてるので
他のPCにもあります

更新でエラーが出たのでどこか確認してなかったです
エラーの出るステップ確認してみます
(ちょこ) 2023/10/03(火) 20:16:42


2)もしくは、ヘルパークエリの中の、サンプルファイルのソースを修正する
こちらを試してみました

エラーが出ます
Formula.Firewall: クエリ 'サンプル ファイル' (ステップ 'ナビゲーション1') が、同時に使用できないプライバシー レベルの複数のデータ ソースにアクセスしています。このデータの組み合わせを再構築してください。

 let
    ファイルパス = Excel.CurrentWorkbook(){[Name="パス"]}[Content]{0}[ファイルパス],
    ソース = Folder.Files(ファイルパス & "TB"),
    ナビゲーション1 = ソース{0}[Content]
in
    ナビゲーション1

(ちょこ) 2023/10/04(水) 08:57:29


1)Table.ColumnNames(削除された他の列1{0}[ファイルの変換])

はトークンが必要です
と表示され

 展開されたテーブル列1 = Table.ExpandTableColumn(削除された他の列1, "ファイルの変換", Table.ColumnNames(削除された他の列1,{0},[ファイルの変換]),

色々と試してみたけど

トークンが必要ですが消えません

(ちょこ) 2023/10/04(水) 09:24:56


 > 展開されたテーブル列1 = Table.ExpandTableColumn(削除された他の列1, "ファイルの変換", Table.ColumnNames(削除された他の列1,{0},[ファイルの変換]),

カンマが多い。閉じカッコが足りない。

  展開されたテーブル列1 = Table.ExpandTableColumn(削除された他の列1, "ファイルの変換", Table.ColumnNames(削除された他の列1{0}[ファイルの変換])),

(マナ) 2023/10/04(水) 10:46:07


ファイルパスのクエリ「パス」を作成>ドリルダウンして
2)もしくは、ヘルパークエリの中の、サンプルファイルのソースを修正

 ↓

 ソース = Folder.Files(パス & "TB"),

私のPCではエラーは出なくなったけど
他のPCではエラー
 ↓
他のクエリまたはステップを参照しているため、
データソースに直接アクセスできません。
このデータの組み合わせを再構築してください

ちなみに、プライバシーレベルは組織にしてます

(ちょこ) 2023/10/04(水) 10:50:43


 1)同じようにサンプルファイル(2)を修正したら
無効な識別子とエラーが出ます

修正後
 ↓

 削除された他の列1 = Table.SelectColumns(#"名前が変更された列 1", {"Source.Name", "ファイルの変換 (2)"}),
 展開されたテーブル列1 = Table.ExpandTableColumn(削除された他の列1, "ファイルの変換 (2)", Table.ColumnNames(削除された他の列1{0}[ファイルの変換 (2)])),
(ちょこ) 2023/10/04(水) 11:26:09

 > "ファイルの変換 (2)" 
  ↓
  #"ファイルの変換 (2)"

 #を追加

(マナ) 2023/10/04(水) 11:56:27


↑間違いでした

(マナ) 2023/10/04(水) 12:01:21


 こうかな?
 展開されたテーブル列1 = Table.ExpandTableColumn(削除された他の列1, "ファイルの変換 (2)", Table.ColumnNames(削除された他の列1{0}[#"ファイルの変換 (2)"])),
(マナ) 2023/10/04(水) 12:16:20

1)ファイルの変換(2)、構文エラーは出なくなりました

2)稼働の確認
  リボン>すべて更新でエラー

 クエリ'サンプルファイル(2)'(ステップ'ナビゲーション1’)は
 他のクエリまたはステップを参照しているため、データソースに直接アクセス
 できません。このデータの組合せを再構築してください

3)サンプルファイル、サンプルファイル(2)エラー

 Formula.Firewall: クエリ 'サンプル ファイル' (ステップ 'ナビゲーション1') が、
 同時に使用できないプラ イバシー レベルの複数のデータ ソースにアクセスしています。
 このデータの組み合わせを再構築してください。
  ↑
 ソース = Folder.Files(パス & "TB"),
 この変更が原因でしょうか

 let
    ファイルパス = Excel.CurrentWorkbook(){[Name="パス"]}[Content]{0}[ファイルパス],
    ソース = Folder.Files(ファイルパス & "TB"),
    ナビゲーション1 = ソース{0}[Content]
in
    ナビゲーション1
 に戻してプライバシーレベルを常に無視するにした方がよいのでしょうか

サンプルファイルの詳細エディター

 let
    ソース = Folder.Files(パス & "TB"),
    ナビゲーション1 = ソース{0}[Content]
in
    ナビゲーション1

サンプルファイル難しいですね

(ちょこ) 2023/10/04(水) 13:26:06


サンプルファイル、サンプルファイル(2)のソースを
元に戻す

 ソース = Folder.Files(パス & "TB"),
   ↓
 ファイルパス = Excel.CurrentWorkbook(){[Name="パス"]}[Content]{0}[ファイルパス],
 ソース = Folder.Files(ファイルパス & "TB"),

プライバシーレベルを常に無視
2)、3)のエラーは出なくなりました

でもこれで大丈夫なのでしょうか
サーバー内で利用予定です
サーバーのセキュリティは高いけど、できれば職場で稼働できるとうれしいかも

(ちょこ) 2023/10/04(水) 13:42:12


 >    ファイルパス = Excel.CurrentWorkbook(){[Name="パス"]}[Content]{0}[ファイルパス],
 >    ソース = Folder.Files(ファイルパス & "TB"),

 ↑のサンプルファイル(2)の編集は不要。
 ヘルパークエリは一番最初の状態で。

 つまり、変更するのは↓だけ。
 Table.ColumnNames(削除された他の列1{0}[#"ファイルの変換 (2)"])

 これだと、どうなりますか。

(マナ) 2023/10/04(水) 13:57:26


 >プライバシーレベルを常に無視
  
https://memo.furyutei.com/entry/20220119/1642519146

 ヘルパークエリを使わない場合は、

 列の追加/カスタム列 で
 =Excel.Workbook(File.Contents([Folder Path] & [Name]),true)

 let
    ファイルパス = Excel.CurrentWorkbook(){[Name="パス"]}[Content]{0}[ファイルパス],
    ソース = Folder.Files(ファイルパス & "TB"),
    追加されたカスタム = Table.AddColumn(ソース, "カス タム", each Excel.Workbook(File.Contents([Folder Path] & [Name]),true)),
    削除された他の列 = Table.SelectColumns(追加されたカスタム,{"Name", "カス タム"}),
    #"展開された カスタム" = Table.ExpandTableColumn(削除された他の列, "カス タム", {"Data"}, {"Data"})
 in
    #"展開された カスタム"
(マナ) 2023/10/04(水) 14:11:16

(マナ) 2023/10/04(水) 13:57:26だと

プライバシーレベルを聞いてきて→組織を選択→エラー

 クエリ 'サンプル ファイル' (ステップ 'ナビゲーション1') は他のクエリまたはステップを参照しているため、
データソースに直接アクセスできません。
このデータの組み合わせを再構築してください

(ちょこ) 2023/10/04(水) 14:46:40


さらに追加で(マナ) 2023/10/04(水) 14:11:16だと

エラー

 Expression.Error: テーブルの列 'Name' が見つかりませんでした。
詳細:
    Name

やっぱり常に無視はやめたいですね

(ちょこ) 2023/10/04(水) 15:00:55


 > Expression.Error: テーブルの列 'Name' が見つかりませんでした。

 どのステップでエラー?
(マナ) 2023/10/04(水) 15:22:17

色々とやってみたらエラーが出なくなりました
4台のPCで試してみたけどプライバシーレベル「組織」なら
時間はかかるけど問題なしです

ブックは「組織」、その次は「パブリック」はエラーでした

 クエリ 'サンプル ファイル' (ステップ 'ナビゲーション1') は他のクエリまたはステップを参照しているため、
データソースに直接アクセスできません。
このデータの組み合わせを再構築してください

これで様子を見ようと思います
(マナ) 2023/10/04(水) 14:11:16このコードのおかげだと思います
ありがとうございます

(ちょこ) 2023/10/04(水) 15:57:10


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.