Power Query M 公式语言的快速导览

本快速教程介绍如何创建 Power Query M 公式语言查询。

注意

M 是区分大小写的语言。

使用 Power Query 编辑器创建查询

要创建高级查询,请使用 Power Query 高级编辑器。 混合查询由 let 表达式封装的变量、表达式和值组成。 变量可以通过使用 # 标识符来包含空格(名称在引号中),例如 #"Variable name"

let 表达式遵循此结构:

let
   Variablename = expression,
   #"Variable name" = expression2
in
   Variablename

要在高级编辑器中创建 M 查询,请按照以下基本过程操作:

  1. 创建一系列以 let 语句开头的查询公式步骤。 每个步骤都由步骤变量名称定义。 M 变量可以通过使用 # 字符(如 #"Step Name")来包含空格。 公式步骤可以是自定义公式。 请注意,Power Query 公式语言区分大小写。

  2. 每个查询公式步骤都以前一个步骤为基础,通过变量名引用一个步骤。

  3. 使用 in 语句输出查询公式步骤。 通常,将最后一个查询步骤用作 in 最终数据集结果。

若要了解有关表达式和值的详细信息,请转到表达式、值和 let 表达式

简单的 Power Query M 公式步骤

假设你在 Power Query 编辑器中创建了以下转换,以将产品名称转换为适当的大小写(在本例中转换为全部首字母大写)。

Screenshot of the Power Query editor showing the results of converting the Item column entries to initial capitalization.

首先,准备如下所示的表:

OrderID CustomerID Item Price
1 1 fishing rod 100
2 1 1 lb. worms 5
3 2 fishing net 25

然后,你希望将“项”列中每个单词的首字母设为大写,以生成下表:

OrderID CustomerID Item Price
1 1 Fishing Rod 100
2 1 1 磅 蠕虫 5
3 2 Fishing Net 25

在 Power Query 高级编辑器中,将原始表投影到结果表中的 M 公式步骤如下所示:

Screenshot of the Power Query advanced editor with all of the M formula steps to produce the table and capitalize initial letters.

下面是可以粘贴到 Power Query 高级编辑器中的代码:

let Orders = Table.FromRecords({
    [OrderID = 1, CustomerID = 1, Item = "fishing rod", Price = 100.0],
    [OrderID = 2, CustomerID = 1, Item = "1 lb. worms", Price = 5.0],
    [OrderID = 3, CustomerID = 2, Item = "fishing net", Price = 25.0]}),
    #"Capitalized Each Word" = Table.TransformColumns(Orders, {"Item", Text.Proper})
in
    #"Capitalized Each Word"

我们来回顾一下每个公式步骤。

  1. 订单 - 使用订单数据创建一个表。

  2. #“每个单词首字母大写”:要将每个单词的首字母设为大写,请使用 Table.TransformColumns

  3. 在 #“每个单词首字母大写”中:输出将每个单词首字母设为大写的表。