Power BI Desktop 中的“从示例中添加列”
适用范围:Power BI Desktop Power BI 服务
借助 Power Query 编辑器中的“从示例中添加列”,通过为新列提供一个或多个示例值,可以将新列添加到数据模型。 可以通过所选内容创建新列示例,或基于表中的所有现有列提供输入。
在以下情况下,使用“从示例中添加列”快速轻松地创建新列:
- 你知道自己想要在新列中获得的数据,但不确定需要哪种转换或一系列转换。
- 你已知道自己需要执行的转换,但不确定在 UI 中选择什么内容来执行这些转换。
- 你知道在“M”语言中使用“自定义列”表达式所需的转换,但其中一个或多个表达式在 UI 中不可用。
从示例中添加列十分简单。 接下来的部分演示这是多么简单。
从示例中添加新列
若要从维基百科获取示例数据,请从 Power BI Desktop 功能区的“主页”选项卡中选择“获取数据”>“Web”。
- 将以下 URL 粘贴到显示的对话框中,然后选择“确定”:
https://wikipedia.org/wiki/List_of_states_and_territories_of_the_United_States
在“导航器”对话框中,选择“美国的州”表,然后选择“转换数据”。 该表将在 Power Query 编辑器中打开。
从功能区的“开始”选项卡中选择“转换数据”。 数据会在 Power Query 编辑器中打开。
- 示例数据在 Power Query 编辑器中打开后,在功能区上选择“添加列”选项卡,然后选择“示例中的列”。 选择“示例中的列”图标以从所有现有列创建列,或选择下拉箭头以选择“从所有列”或“从所选内容”。 对于本演练,请使用“从所有列”。
“从示例中添加列”窗格
如果选择“添加列”>“从示例”,则“从示例中添加列”窗格会在表的顶部打开。 新的“列 1”会出现在现有列右侧。 可能需要滚动才能查看所有这些列。 在“列 1”的空白单元格中输入示例值时,Power BI 会创建规则和转换以匹配示例,并使用它们填充列的其余部分。
请注意,“示例中的列”列还会在“查询设置”窗格中显示为“应用的步骤”。 和以往一样,Power Query 编辑器会记录转换步骤,并依序向查询应用这些步骤。
在新列中键入示例时,Power BI 会根据创建的转换显示列的其余部分的预览。 例如,如果在第一行中键入“Alabama”,则它对应于表中第一列的“Alabama”值。 按 Enter 后,Power BI 会基于第一列的值填充新列的其余部分,并将该列命名为“Name & postal abbreviation[12] - Copy”。
现在,请跳到新列的“Massachusetts[E]”行,然后删除字符串的“[E]”部分。 Power BI 可检测更改,并使用该示例创建转换。 Power BI 在“从示例中添加列”窗格中描述转换,并将列重命名为“分隔符之前的文本”。
如果继续提供示例,Power Query 编辑器会将其添加到转换中。 如果感到满意,请选择“确定”提交更改。
可以通过双击列标题或右键单击列标题并选择“重命名”来重命名新列。
观看此视频以了解实际操作的“从示例中添加列”(使用示例数据源):
支持的转换的列表
使用“从示例中添加列”时,有很多转换可用。 下面的列表显示受支持的转换:
常规
- 条件列
引用
- 引用特定列,包括修整、清理和大小写转换
文本转换
- 合并(支持合并文本字符串和整个列值)
- 替换
- Length
- 提取
- 第一个字符
- 最后一个字符
- 范围
- 分隔符前的文本
- 分隔符后的文本
- 分隔符之间的文本
- 长度
- 删除字符
- 保留字符
注意
对于所有文本转换,都要考虑是否需要进行修整、清理或对列值应用大小写转换。
日期转换
- 天
- 每周的某一日
- 周几名称
- 每年的某一日
- 月
- 月份名称
- 每年的某一季度
- 每月的某一周
- 每年的某一周
- 年份
- 年限
- 年份开始值
- 年份结束值
- 月份开始值
- 月份结束值
- 季度开始值
- 一个月的某些日
- 季度结束值
- 星期开始值
- 星期结束值
- 每月的某一日
- 一天开始值
- 一天结束值
时间转换
- Hour
- Minute
- Second
- 本地时间
注意
对于所有“日期”和“时间”转换,都要考虑是否可能需要将列值转换成“日期”或“时间”或“日期和时间” 。
数字转换
- 绝对值
- 反余弦
- 反正弦
- 反正切
- 转换为数字
- 余弦
- 多维数据集
- 除
- 求幂
- 阶乘
- 整除
- 为偶数
- 为奇数
- 自然对数
- 以 10 为底数的对数
- 取模
- 乘
- 向下舍入
- 向上舍入
- 符号
- 正弦
- 平方根
- 平方
- 减
- 求和
- 正切
- Bucket/范围