什麼是 Python 中的自我:真實世界的例子
什麼是 Python 中的自我:真實世界的例子
本教程將討論Power Query 編輯器中的變量和表達式。您將看到並了解到每個let表達式都有兩個部分:一個let 和 in 子句,以及一個以逗號分隔的變量名或步驟標識符列表。您還將看到這些內容如何幫助在 Power Query 編輯器中創建數據報告。
目錄
理解 Let 表達式和 M 語言
Let表達式允許您將一系列表達式串在一起成為一個更複雜的表達式。然後變量用於存儲任何類型的值,如數字、文本、日期或結構數據類型,如記錄、列表或表格。
大多數查詢返回一個表,該表可用作暫存查詢,或可加載到數據模型。查詢名稱旁邊的圖標顯示查詢返回的值類型。
查詢編輯器中的每個查詢都是一個M表達式。當該查詢運行時,將對錶達式求值,然後返回一個值。該值由 in 子句中的任何內容確定 。in 子句可以引用變量列表中的任何變量,也可以不引用任何變量。它甚至可以引用另一個查詢或包含一個表達式。
要添加新查詢,請右鍵單擊屏幕左側“查詢”窗格中的空白區域。然後,單擊新建查詢並選擇空白查詢。
單擊“查詢”部分中的“高級編輯器”,打開“高級編輯器”窗口。
您會注意到新查詢不是空白的。
它以let子句開頭,後跟單個變量源。該變量分配了一個文字,即表示空文本字符串的雙引號。它還具有in子句,後跟源變量名稱。
如果查看查詢窗格,您會在查詢名稱前看到一個 ABC 圖標,它告訴您查詢返回一個文本值。
使用簡單的變量和表達式
對於此示例,通過輸入A作為變量並使用等號為變量分配值或表達式,在高級編輯器窗口中創建一個簡單的語法。
要創建或添加新變量,請在第一個變量的末尾放置一個逗號,然後按 Enter。在下一行,您可以輸入一個新變量。
除了賦值和表達式之外,您還可以在變量列表中賦值變量。
如果您輸入了最後一個變量,則不需要在末尾加上逗號。只需按 Enter 並輸入 in 子句。對於此示例,在 in 子句後輸入C以返回C的值。
如果按Done,您將獲得數值 6,這是公式欄中表達式的結果。
結果是一個數值,因為查詢名稱旁邊的圖標被替換為 123 圖標,表示數字數據類型。
命名變量和步驟標識符
如果您的變量名包含空格,則需要用雙引號將它們括起來,並在其前面加上井號或井號。雙引號保留用於文本值。
要區分井號或井號,請在屏幕右側的應用步驟窗格中重命名步驟。右鍵單擊B,選擇重命名,然後將其命名為var B。
之後,返回高級編輯器窗口。您會看到 Power Query在所有使用或引用它的地方自動將B重命名為var B。
這僅在您重命名應用步驟窗格中的步驟時可用。如果您在“高級編輯器”窗口中重命名一個步驟,您還必須手動更新引用該變量的所有位置。高級編輯器窗口中沒有查找和替換選項。
現在,對於此示例,不要忘記將變量名稱改回B並單擊完成。
在 LuckyTemplates Desktop 中重新創建變量和表達式
Advanced Editor 窗口中的代碼結構類似於您在 DAX 中編寫代碼的方式。
嘗試比較兩者。轉到“主頁”選項卡並選擇“關閉並應用”。進入 LuckyTemplates 桌面後,轉到“主頁”選項卡並選擇“輸入數據”以創建度量。
在“創建表”彈出窗口中單擊“加載”。
然後,右鍵單擊 Fields 窗格中的 Table 並選擇New measure。
在公式欄中,從M語言重新創建相同的代碼。要啟動變量索引,您必須使用VAR語句。之後,您可以編寫變量及其值。在 DAX 中,您需要使用RETURN語句來訪問任何變量。所以,在最後一個變量後面輸入RETURN,輸入C,返回其表達式的結果。
接下來,添加一個卡片可視化並選擇您創建的度量。然後您將看到與M結果相同的數值。
如果更改公式欄中變量的順序,卡中將出現錯誤。
在處理 DAX 變量時,順序很重要。您不能調用尚未聲明的變量。
但是,如果您更改M代碼中的順序,您仍然會得到結果。
該表達式指出,為了計算 C,必須知道變量 A 和 B 的值。這是一個依賴排序的例子。
M引擎將遵循表達式提供的依賴順序,但它可以按照它選擇的任何順序自由執行所有剩餘的計算。
了解 M 查詢和代碼
所有M查詢看起來都像程序代碼,因為您正在使用用戶界面為您生成代碼。它看起來總是順序的,因為每個轉換步驟都建立在上一步返回的值之上。
對M引擎重要的主要事情是可以從 in 子句中追溯的依賴鏈。查詢引擎將從末尾向後計算查詢,而不是從頭向前計算。
為什麼引擎會那樣做?首先,當查詢被評估時,它會回顧並嘗試消除任何不必要的東西。未使用的值不會被評估但會被忽略。這是一個稱為Lazy Evaluation的過程。
其次,它會嘗試查看您正在執行的所有轉換,並將盡可能多的工作推回源系統。這個過程稱為查詢折疊。這兩個過程在提高查詢性能方面都發揮著關鍵作用。
最後要記住的是,大多數情況下,您可以在 Applied Steps 窗格中看到所有變量名稱或步驟標識符。當M代碼寫錯時,表達式將顯示為單個組合步驟,如下所示:
您可以通過重新排序步驟輕鬆解決該問題。將變量C放回變量B的底部,然後單擊完成。然後,您會看到步驟名稱再次出現在“應用的步驟”窗格中。
結論
使用變量和重要函數的 DAX 查詢
LuckyTemplates 公式語法、註釋和變量
在 LuckyTemplates 中使用變量——詳細示例
變量和表達式是 Power Query 編輯器中需要理解的一些最重要的內容。兩者都負責在您的報告中生成數據和信息。他們收集不同的數據以獲得和產生結果。
梅麗莎
什麼是 Python 中的自我:真實世界的例子
您將學習如何在 R 中保存和加載 .rds 文件中的對象。本博客還將介紹如何將對像從 R 導入 LuckyTemplates。
在此 DAX 編碼語言教程中,了解如何使用 GENERATE 函數以及如何動態更改度量標題。
本教程將介紹如何使用多線程動態可視化技術從報告中的動態數據可視化中創建見解。
在本文中,我將貫穿過濾器上下文。篩選上下文是任何 LuckyTemplates 用戶最初應該了解的主要主題之一。
我想展示 LuckyTemplates Apps 在線服務如何幫助管理從各種來源生成的不同報告和見解。
了解如何在 LuckyTemplates 中使用度量分支和組合 DAX 公式等技術計算利潤率變化。
本教程將討論數據緩存物化的想法,以及它們如何影響 DAX 在提供結果時的性能。
如果直到現在你還在使用 Excel,那麼現在是開始使用 LuckyTemplates 來滿足你的業務報告需求的最佳時機。
什麼是 LuckyTemplates 網關?所有你必須知道的