Power BI Desktop 中的“从示例中添加列”

适用范围: Power BI Desktop Power BI 服务

借助 Power Query 编辑器中的“从示例中添加列”,通过为新列提供一个或多个示例值,可以将新列添加到数据模型。 可以通过所选内容创建新列示例,或基于表中的所有现有列提供输入。

Screenshot of Power Query Editor, showing how to add a column from examples in Power BI Desktop.

在以下情况下,使用“从示例中添加列”快速轻松地创建新列:

  • 你知道自己想要在新列中获得的数据,但不确定需要哪种转换或一系列转换。
  • 你已知道自己需要执行的转换,但不确定在 UI 中选择什么内容来执行这些转换。
  • 你知道在“M”语言中使用“自定义列”表达式所需的转换,但其中一个或多个表达式在 UI 中不可用。

从示例中添加列十分简单。 接下来的部分演示这是多么简单。

从示例中添加新列

若要从维基百科获取示例数据,请从 Power BI Desktop 功能区的“主页”选项卡中选择“获取数据”>“Web”。

Screenshot of Power BI Desktop, highlighting the Web selection under the Get Data dropdown menu.

  1. 将以下 URL 粘贴到显示的对话框中,然后选择“确定”:

https://wikipedia.org/wiki/List_of_states_and_territories_of_the_United_States

  1. 在“导航器”对话框中,选择“美国的州”表,然后选择“转换数据”。 该表将在 Power Query 编辑器中打开。

  2. 从功能区的“开始”选项卡中选择“转换数据”。 数据会在 Power Query 编辑器中打开。

Screenshot of Power BI Desktop, highlighting the Transform data selection.

  1. 示例数据在 Power Query 编辑器中打开后,在功能区上选择“添加列”选项卡,然后选择“示例中的列”。 选择“示例中的列”图标以从所有现有列创建列,或选择下拉箭头以选择“从所有列”或“从所选内容”。 对于本演练,请使用“从所有列”。

Screenshot of Power Query Editor, highlighting Add Column, Column From Examples, and From All Columns.

“从示例中添加列”窗格

如果选择“添加列”>“从示例”,则“从示例中添加列”窗格会在表的顶部打开。 新的“列 1”会出现在现有列右侧。 可能需要滚动才能查看所有这些列。 在“列 1”的空白单元格中输入示例值时,Power BI 会创建规则和转换以匹配示例,并使用它们填充列的其余部分。

请注意,“示例中的列”列还会在“查询设置”窗格中显示为“应用的步骤”。 和以往一样,Power Query 编辑器会记录转换步骤,并依序向查询应用这些步骤。

Screenshot of Add Column From Examples window, highlighting a new, empty column.

在新列中键入示例时,Power BI 会根据创建的转换显示列的其余部分的预览。 例如,如果在第一行中键入“Alabama”,则它对应于表中第一列的“Alabama”值。 按 Enter 后,Power BI 会基于第一列的值填充新列的其余部分,并将该列命名为“Name & postal abbreviation[12] - Copy”

现在,请跳到新列的“Massachusetts[E]”行,然后删除字符串的“[E]”部分。 Power BI 可检测更改,并使用该示例创建转换。 Power BI 在“从示例中添加列”窗格中描述转换,并将列重命名为“分隔符之前的文本”。

Screenshot of Add Column From Examples window, highlighting Massachusetts in the Text Before Delimiter column.

如果继续提供示例,Power Query 编辑器会将其添加到转换中。 如果感到满意,请选择“确定”提交更改。

可以通过双击列标题或右键单击列标题并选择“重命名”来重命名新列。

观看此视频以了解实际操作的“从示例中添加列”(使用示例数据源):

Power BI Desktop:从示例中添加列

支持的转换的列表

使用“从示例中添加列”时,有很多转换可用。 下面的列表显示受支持的转换:

常规

  • 条件列

引用

  • 引用特定列,包括修整、清理和大小写转换

文本转换

  • 合并(支持合并文本字符串和整个列值)
  • 替换
  • Length
  • 提取
    • 第一个字符
    • 最后一个字符
    • 范围
    • 分隔符前的文本
    • 分隔符后的文本
    • 分隔符之间的文本
    • 长度
    • 删除字符
    • 保留字符

注意

对于所有文本转换,都要考虑是否需要进行修整、清理或对列值应用大小写转换。

日期转换

  • 每周的某一日
  • 周几名称
  • 每年的某一日
  • 月份名称
  • 每年的某一季度
  • 每月的某一周
  • 每年的某一周
  • 年份
  • 年限
  • 年份开始值
  • 年份结束值
  • 月份开始值
  • 月份结束值
  • 季度开始值
  • 一个月的某些日
  • 季度结束值
  • 星期开始值
  • 星期结束值
  • 每月的某一日
  • 一天开始值
  • 一天结束值

时间转换

  • Hour
  • Minute
  • Second
  • 本地时间

注意

对于所有“日期”和“时间”转换,都要考虑是否可能需要将列值转换成“日期”或“时间”或“日期和时间” 。

数字转换

  • 绝对值
  • 反余弦
  • 反正弦
  • 反正切
  • 转换为数字
  • 余弦
  • 多维数据集
  • 求幂
  • 阶乘
  • 整除
  • 为偶数
  • 为奇数
  • 自然对数
  • 以 10 为底数的对数
  • 取模
  • 向下舍入
  • 向上舍入
  • 符号
  • 正弦
  • 平方根
  • 平方
  • 求和
  • 正切
  • Bucket/范围