Power Query 數據類型和連接器

Power Query 數據類型和連接器

本教程將討論Power Query數據類型和連接器。您將了解什麼是數據類型並了解它們如何相互兼容。您還將了解 Power Query M語言中的運算符。這些將幫助您了解您的查詢如何生成結果和答案。

目錄

Power Query 中的數據類型

M語言有一小部分內置類型,可以分為兩大類:原始類型結構類型

您在數據報告中看到的最常見的原始類型如下:

Power Query 數據類型和連接器

Any是對所有值進行分類的類型。這意味著每個值都是any 的子類型。您還會在圖像的第三行看到時間日期等複雜類型。

另一方面,這些是最常見的結構類型

Power Query 數據類型和連接器

也可以歸屬於一個類型。

Power Query 數據類型和連接器

歸屬類型不是應用在基元類型之上的格式,因為 Power Query 中沒有格式化之類的東西。格式化是您只能在從 Power Query 接收數據的應用程序(如 Excel 或 LuckyTemplates)中執行的操作。

您需要了解數據類型和格式之間的區別,因為它們指的不是同一事物。格式控制數字的顯示方式而不影響基礎值,而數據類型更改值的精度以與所描述的類型一致。

M引擎在運行時不進行任何類型檢查。因此,如果列是數字類型並且您告訴引擎它是文本類型,它不會給您問題。但是,如果您在需要數字類型的函數中調用該列,事情就會開始失敗。那是因為M中沒有自動類型轉換。

Power Query 數據類型的兼容性

數據類型之間也存在類型兼容性。值的類型及其與另一種值類型的兼容性之間存在差異。

兼容性檢查在可為空的原始類型級別執行。當且僅當符合第一種類型的所有值也符合第二種類型時,M才與另一種M類型兼容。如果不是這種情況,則會引發類型不匹配錯誤。

為了更好地說明這一點,下面是數據類型轉換矩陣的概述。

Power Query 數據類型和連接器

表達式和運算符

綠色和紅色圓圈可以說明一切。另一方面,藍色圓圈表示轉換會將值添加到原始值,而橙色圓圈表示它會截斷原始值。

Power Query M形式語言包含一組可在表達式中使用的運算符。運算符應用於操作數以形成表達式。運算符的含義可能因操作數值類型而異。

以下是一些示例表達式:

Power Query 數據類型和連接器

在第一個表達式中,數字 1 和 2 是操作數,加號或加號是運算符。此表達式生成數值 3。但是,您可以在第二個和第三個表達式中看到,不支持將文本值添加到數值或添加兩個文本值。

這是 Excel、DAX 和M之間的明顯區別之一。Excel 和DAX 公式會執行自動類型轉換,而M引擎不會。如果您使用與號 ( & ) 而不是加號,則這兩個值將合併。

符號 ( & ) 是一個運算符,它將導致兩個文本字符串的連接,如上圖中的第四個表達式。它還說明了運算符的含義如何根據操作數值類型而變化。這是因為它還允許列表的組合和記錄的合併。

您可能會遇到類型不匹配錯誤。因此,當您的數據出現問題時,這意味著您沒有正確聲明數據類型。當您修改或編寫M代碼時,這些錯誤也會彈出很多。


Power Query 自定義列中的 M 代碼 | LuckyTemplates
Power Query編輯器:暫存查詢

結論

使用 Power Query 創建數據報告最重要的準備工作是了解事物的工作原理。這將幫助您正確編寫M代碼並設置正確的數據類型,以便在 LuckyTemplates 中構建正確的數據生成報告。掌握基礎知識將為您帶來巨大優勢並提高您的數據開發技能。

梅麗莎


什麼是 Python 中的自我:真實世界的例子

什麼是 Python 中的自我:真實世界的例子

什麼是 Python 中的自我:真實世界的例子

如何在 R 中保存和加載 RDS 文件

如何在 R 中保存和加載 RDS 文件

您將學習如何在 R 中保存和加載 .rds 文件中的對象。本博客還將介紹如何將對像從 R 導入 LuckyTemplates。

回顧前 N 個工作日——DAX 編碼語言解決方案

回顧前 N 個工作日——DAX 編碼語言解決方案

在此 DAX 編碼語言教程中,了解如何使用 GENERATE 函數以及如何動態更改度量標題。

在 LuckyTemplates 中使用多線程動態視覺技術展示見解

在 LuckyTemplates 中使用多線程動態視覺技術展示見解

本教程將介紹如何使用多線程動態可視化技術從報告中的動態數據可視化中創建見解。

LuckyTemplates 篩選上下文簡介

LuckyTemplates 篩選上下文簡介

在本文中,我將貫穿過濾器上下文。篩選上下文是任何 LuckyTemplates 用戶最初應該了解的主要主題之一。

使用 LuckyTemplates 在線服務中的應用程序的最佳技巧

使用 LuckyTemplates 在線服務中的應用程序的最佳技巧

我想展示 LuckyTemplates Apps 在線服務如何幫助管理從各種來源生成的不同報告和見解。

隨著時間的推移分析利潤率變化——使用 LuckyTemplates 和 DAX 進行分析

隨著時間的推移分析利潤率變化——使用 LuckyTemplates 和 DAX 進行分析

了解如何在 LuckyTemplates 中使用度量分支和組合 DAX 公式等技術計算利潤率變化。

DAX Studio 中數據緩存的物化想法

DAX Studio 中數據緩存的物化想法

本教程將討論數據緩存物化的想法,以及它們如何影響 DAX 在提供結果時的性能。

使用 LuckyTemplates 進行業務報告

使用 LuckyTemplates 進行業務報告

如果直到現在你還在使用 Excel,那麼現在是開始使用 LuckyTemplates 來滿足你的業務報告需求的最佳時機。

什麼是 LuckyTemplates 網關?所有你必須知道的

什麼是 LuckyTemplates 網關?所有你必須知道的

什麼是 LuckyTemplates 網關?所有你必須知道的