在从示例中添加列时,可以快速轻松地创建满足您需求的新列。 此过程适用于以下情况:
- 你知道新列中所需的数据,但不确定哪些转换或转换集合可以达到目标。
- 你已经知道需要哪些转换,但不确定在 UI 中选择哪些转换来使它们发生。
- 你了解通过 M 语言使用自定义列的表达式所需的所有转换,但其中一个或多个转换在 UI 中不可用。
“示例中的列”命令位于“常规”组中的“添加列”选项卡上。
从示例添加新列
在此示例中,从下图所示的表开始。
本示例中的目标是创建两个新列:
- 范围:以离散增量为 5,000 的 每月收入 列创建箱。
- 全名:将 姓氏 和 名字 列连接到单个列。
从所选列中提取示例的列
创建新列时拥有的选项之一是选择计算中使用的列。 在此示例中,将从“每月收入”列中的值创建 Range 列。
若要执行此任务,请选择 “每月收入” 列,选择 “从示例生成列” 命令,然后选择 “从选择中”。
预览窗格显示一个新的可编辑列,可在其中输入示例。 对于第一个示例,所选列中的值为 19500。 因此,在新列中,输入文本 15000 到 20000,即该值所在的区间。
当 Power Query 找到匹配的转换时,它会将转换结果填充到剩余的行中。 您还可以在表预览的上方看到用于转换的 M 公式文本。
选择 “确定”后,新列将成为查询的一部分。 还会将一个新步骤添加到您的查询中。
示例中的列,来自所有列
下一个目标是使用名字和姓氏列中的值创建全名列。
若要执行此任务,请选择从示例中提取列命令,然后选择从所有列。
接下来,输入第一个全名示例:Enders, Maria。
选择 “确定”后,新列现在是查询的一部分。 还会在查询中添加一个新步骤。 选择并按住(或右键单击) 合并 列名称,然后选择“ 重命名 ”并将列的名称更改为 “全名”。
最后一步是删除 “名字”、“ 姓氏”和 “每月收入 ”列。 最后一个表现在包含 “范围” 和 “全名” 列,其中包含所有您在前面的步骤中生成的数据。
提示和注意事项
在提供示例时,Power Query 为所选列提供了一个实用的列表,包括可用字段、值和建议的转换。 可以通过选择新列的任何单元格开始输入值或选择键盘上的 F2 来查看此列表。 还可以使用鼠标,然后双击新列中的其中一个单元格。
请务必注意,基于示例的列的功能仅对数据预览的前 100 行有效。 可以在从示例提取列步骤之前应用其他步骤,以创建自己的数据示例。 创建 示例列中的列 后,可以删除前面的步骤:新创建的列不会受到影响。
支持的转换列表
使用 示例中的列时,虽然可进行多种转换,不过并非所有转换都可用。 以下列表显示了支持的转换。
常规
- 条件列
引用
- 对特定列的引用,包括去除空格、清理和大小写转换
文本转换
- 合并(支持文本字符串和整个列值的组合)
- 将
- 长度
- 提取
- 第一个字符
- 最后几个字符
- 范围
- 分隔符前的文本
- 分隔符后面的文本
- 分隔符之间的文本
- 长度
- 删除字符
- 保留字符
注释
所有文本转换都考虑到了修剪、清理或对列值进行大小写转换的潜在需求。
日期转换
- 星期
- 星期几
- 星期名称
- 一年中的一天
- 月份
- 月份名称
- 年度季度
- 月周
- 一年中的第几周
- 年份
- 年龄
- 年初
- 年底
- 月开始时间
- 月底
- 季度开始
- 月份中的天数
- 季度末
- 一周开始
- 周末结束
- 每月的某一天
- 一天的开始
- 一天的结束
时间转换
- 小时
- Minute
- 秒
- 切换至本地时间
注释
所有日期和时间转换都考虑到了将列值转换为 Date、Time 或 DateTime 的潜在需求。
数字转换
- 绝对值
- Arccosine
- 反正弦
- 反正切
- 转换为数字
- 余弦
- 立方体
- 除法
- Exponent
- 阶乘
- 整数除法
- 是偶数
- 是奇数
- Ln
- Base-10 对数
- 取模
- 乘法
- 向下舍入
- 向上舍入
- 签名
- 正弦
- 平方根
- 正方形
- 减法
- 总和
- 正切
- 分桶/范围