在 Power Query 中,可以通过不同的方法拆分列。 在这种情况下,可以选择的列可以按位置拆分。
按位置查找拆分列 > 的位置
可以在三个位置找到“按位置拆分列>”选项:
“开始”选项卡 - 在转换组内的“拆分列”下拉菜单下。
“转换”选项卡 - 在“文本列”组中的“拆分列”下拉菜单下。
右键单击列 - 在 “拆分列” 选项内。
按位置将列拆分为多个列
该示例的初始表将是下图中显示的表格,仅包含 Column1 一列。
此列包含三个值:
- 帐户名 - 前六个字符
- 日期 - 在接下来的八个字符中,格式为 yyyymmdd
- 单位 - 其余字符
在此示例中,你想要将此列拆分为从上面列表中的值构成的三列。 若要进行此拆分,请选择该列,然后选择按位置拆分列的选项。 在 “按位置拆分列”中,应用以下配置:
-
位置:0,6,14
- 位置从零开始,逗号分隔,其中位置零是字符串的开头。
注释
此作首先开始从位置 0 到位置 6 创建列,然后从位置 7 到位置 14 创建列。 如果当前数据预览内容中有长度为 16 个字符或更多字符的值,则会出现另一列。
该操作的结果将生成一个包含三列的表。
注释
Power Query 根据指定的位置数量将列拆分为多个列。 新列的名称包含与原始列相同的名称,后缀为一个点,后接一个以1为基数的编号,表示该列的分段。 在前面的示例中,名为 Column1 的列拆分为名为 Column1.1、Column1.2 和 Column1.3 的三列。
现在可以更改列的名称,并按如下所示定义每个列的数据类型:
| 原始列名称 | 新建列名称 | 数据类型 |
|---|---|---|
| Column1.1 | 帐户名 | 文本 |
| 栏1.2 | 日期 | 日期 |
| Column1.3 | 单位 | 整数 |
最终表将如下图所示。
按位置将列拆分为行
此示例的初始表将类似于下图中的表,其中包含“ 组 ”和“ 帐户”列。
“帐户”列只能在同一单元格中保存两个值。 每个值具有相同的长度(以字符为单位),总共有六个字符。 在此示例中,你想要拆分这些值,以便每个帐户值各占一行。 为此,请选择 “帐户 ”列,然后选择按位置拆分列的选项。 在 “按位置拆分列”中,应用以下配置:
- 位置:0、6
- 拆分为:行
注释
此作将首先开始创建从位置 0 到位置 6 的列。 如果当前数据预览内容中有长度为 8 或更多字符的值,则会出现另一列。
该操作的结果将为你提供一个具有相同列数的表,但行数会多出很多,因为单元格中的值现在都有自己的单独单元格。