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