我可以預先編輯「表達文件」。 但把「部分文件」將導致錯誤。在Excel中使用強力查詢在哪裏寫「section-document」?
根據PDFPower Query for Excel Formula Language Specification, Aug 2015
,Page 15, 2.1 Documents
文檔或者由恰好一個表達或組織成段的 定義的基團。
當我把「部分定義」像下面,在「高級編輯器」,該錯誤信息是「無效的表達式」:
section SectionA;
A = 1;
這是很顯然的是,高級編輯期待「expression-文件「,而不是」部分文件「。 (這兩個術語來自PDF第107頁,12.2.1文檔,「表達式文檔」僅僅是一個「表達式」,12.2.3.1表達式)
我覺得PQ中的「Section」像「Module」一樣組織代碼。我想用它。
但是,我發現沒有辦法編寫「section-document」。 (page 98, 11.Sections
的規格)
一個工作輪是創建一個稱爲MyFunSet的「查詢」,它返回許多函數的記錄。
Query-Name: MyFunSet has following "expression" in Adv Editor
[ FunA =() => ...,
FunB = (x) => ...
]
當在其他「查詢」中使用此MyFunSet
將如下所示。我已經測試過它的工作原理。
let a = MyFunSet[FunA]()
, b = MyFunSet[FunB](1)
in 1
或
let FunA = MyFunSet[FunA]
, FunB = MyFunSet[FunB]
, a = FunA()
, b = FunB(1)
in 1
這項工作,一個圓是確定的,但不是很好。
結果#1(#settions) PDF第100頁,PQ表達#sections
將返回段的記錄。創建值爲#sections的新查詢,返回的記錄具有名稱爲'Section1'的一個字段,值是Excel工作簿中所有查詢的記錄。例如, 的工作簿具有
Query1 = ...
Query2 = ...
Query3 = #sections
QUERY3將返回這樣的記錄:
[ Section1 = [Query1 = ..., Query2 = ..., Query3 = ...] ]
根據這一點,我解釋說整個Excel工作簿中只允許一個部分,名爲「SECTION1」
查找#2(部分存取表達)PDF頁110,
12.2.3.13 Section-access expression
section-access-expression: identifier ! identifier
查找#3(文獻)PDF頁107,
12.2.1 Documents
document:
section-document
expression-document
「高級編輯器」 只接受表達文檔,而不是部分文檔
查找#4(導出PQ如*的.odc)
在Excel 356,每個loaded
PQ是工作簿連接,並且可以導出爲*的.odc
- 找到
loaded
查詢表中的單元格, - 轉到菜單「數據」,單擊「連接屬性..」,
- 在頁面標籤,「Definiton」,單擊「導出連接文件」,
- a * .odc已創建。
- 檢查的標籤* .odc文件
以下是找到
<Formula><![CDATA[let
Query3 = #sections,
in
Query3]]></Formula>
這4個結果讓我感受到一個工作簿將始終創建名爲「SECTION1」只有一個「節」 。如果工作簿可以「引用」一個或多個其他工作簿,則允許使用多個部分。這些附帶2個問題:
- 如何引用?
- 如何將總是「Section1」的節名重命名爲其他名稱?
我想知道如何在Excel Power Query中使用 - 「section」。
發生了什麼錯誤 – SMW
表達式無效。 –