我一直在使用 Power Query 將兩個 Excel 電子表格連接在一起。其中一個作業簿位于根檔案夾中,而另一個位于位于根檔案夾中的檔案夾中。我注意到鏈接作業簿的源檔案路徑是絕對形式。如果這些檔案四處移動,它們會這樣做,它將始終嘗試參考原始源檔案。如何在 M 腳本中使用相對源參考來避免此問題?我在下面包含了 M 腳本。相同的檔案被復制到新的銷售年度,我希望連接只查看相對位置而不是絕對位置。
任何幫助表示贊賞。
let
Source = Excel.Workbook(File.Contents("X:\Sales-2021\Source\Tallys.xlsx"), null, true),
#"Tally_Sheet" = Source{[Item="Tally",Kind="Sheet"]}[Data],
#"Promoted Headers" = Table.PromoteHeaders(#"Tally_Sheet", [PromoteAllScalars=true]),
#"Filter rows to FROM and TO dates" = Table.SelectRows(#"Promoted Headers", each [Date] >= from_date and [Date] <= to_date)
in
#"Filter rows to FROM and TO dates"
uj5u.com熱心網友回復:
更多的細節將是有用的。
例如,如果您知道根檔案夾的路徑和檔案名和/或路徑的一部分,您可以使用檔案夾連接器來獲取該檔案:
例如:
let
root = "C:\Users\ron\Documents",
subFolder="2020",
fileName = "Profit and Loss",
Source = Folder.Files(root),
#"Filtered Rows" = Table.SelectRows(Source, each
Text.Contains([Folder Path], subFolder)
and Text.Contains([Name], fileName))
in
#"Filtered Rows"
將回傳所有包含“Profit and Loss”的檔案
"C:\Users\ron\Documents*\2020*"
您可以根據需要構建變數。
例如,如果您知道子檔案夾將始終包含當前年份,則可以使用:
subFolder= Number.ToText(Date.Year(DateTime.LocalNow())),
鑒于您所寫的內容,您可以使用,例如:
root = "X:\",
subFolder= "Sales-" & Number.ToText(Date.Year(DateTime.LocalNow())),
fileName = "Tallys",
獲得正確的檔案路徑/名稱后,您可以將其輸入到作業查詢中,而不是絕對路徑。
如果您無法對足夠的檔案名/路徑進行硬編碼以使其唯一,您可以通過使用主作業簿中的引數或命名范圍將其提供給查詢,但如果可以,那么這可能只是一個問題在 PQ 中搜索檔案夾連接器回傳的資料。
uj5u.com熱心網友回復:
為單元格指定一個范圍名稱,例如Excel 中的位置,并將您的相對檔案路徑直接或使用公式放在該范圍內。下面的示例公式
然后在 powerquery 中,在 home ... 高級編輯器 ... 添加一個參考該范圍名稱的公式,類似于:
Loc = Excel.CurrentWorkbook(){[Name="location"]}[Content]{0}[Column1],
更改硬編碼檔案路徑以合并您的檔案路徑變數,然后附加檔案名,類似于:
Source = Excel.Workbook(File.Contents(Loc&"Tallys.xlsx"), null, true),
在位置范圍內,您可以使用
=LEFT(CELL("filename"),FIND("@",SUBSTITUTE(LEFT(CELL("filename"),FIND("\[",CELL("filename"))-1),"\","@",LEN(LEFT(CELL("filename"),FIND("\[",CELL("filename"))-1))-LEN(SUBSTITUTE(LEFT(CELL("filename"),FIND("\[",CELL("filename"))-1),"\","")))))
從
\\Corporate\enterprise\CK\MARKETING PLANS\FY-22\Daily Meeting\[linked.xlsx]Weekly
到
\\Corporate\enterprise\CK\MARKETING PLANS\FY-22\
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/329802.html
上一篇:有沒有辦法匯出存盤在.xlsm檔案中的自定義功能區?
下一篇:對CORS預檢的400次回應
