[Power Query] 数据行列的增删、填充与替换

数据的行列操作,主要是行和列的增加、删除、移动、填充和替换,保留符合要求的数据,便于后续进行数据建模以及数据可视化

1.数据行操作

Power Query中的数据行操作主要包括【保留行】和【删除行】,两者的操作思路类似但操作结果相反

保留行
 保留列

在实际工作中,【删除行】操作的使用较为频繁,具体操作含义如下所示

操作含义
删除最前面几行删除表中的前N行
删除最后几行删除表中的后N行
删除间隔行删除表中从特定行开始固定间隔的行
删除重复项删除当前选定列中包含重复值的行
删除空行从表中删除所有空行
删除错误删除当前选定列中包含错误(error)的行

练习案例1

数据源(部分截图)

 各国GDP数据

问题:删除表中不需要的行,并将删除后的表格首行提升为列标题;同时从表中删除"2019"年的空行 

实现步骤如下所示

步骤1:导入数据后,单击【转换数据】进入Power Query,删除前2行数据

执行【主页】|【删除行】|【删除最前面几行】命令

步骤2:在弹出的对话框中,输入要删除的行数2

步骤3:因源数据中标题行并未放置在数据表的第一行,因此会出现第一行不是标题的情况

执行【主页】|【将第一行用作标题】命令

呈现结果如下所示

步骤4:删除2019年列中的空行,选中"2019"年的列,单击筛选箭头,选择【删除空】命令或者去掉勾选"null",即可删除字段"2019"列值为空的数据行

练习案例2

数据源

 客户订单销售表

问题:删除重复的客户名称,并保留客户的最大订单销售额

实现步骤如下所示

步骤1:导入数据后,单击【转换数据】进入Power Query,单击"客户名称"、"销售额"字段后的倒三角按钮,将"客户名称"字段升序排列,将"销售额"字段降序排列

步骤2:选中"客户名称"列,选择【主页】|【删除行】|【删除重复项】命令,即可得到每个客户的最大销售额数据

最终呈现结果如下所示

2.数据列操作

数据列操作,主要是选择列和删除列

选择单列可以通过鼠标直接选中

选择多列可以按住<Ctrl>键,再用鼠标选择

如果要移动某列的位置,可以直接用鼠标选中该列,将其拖动到理想位置即可

删除列可以删除选中的列或删除选中列以外的列

3.数据填充

原始表格经常会有合并单元格,数据导入到Power BI Desktop后,就会出现大量的null的情况,不利于后续的数据建模分析,此时可以通过数据的自动向下填充功能解决上述问题

练习案例

数据源(部分截图)

 存在合并单元格情况

问题:由于"店铺"列为合并单元格,在导入数据后,出现了大量空白行,需要对上述加以优化处理

操作步骤如下所示

步骤1:导入数据后,单击【转换数据】进入Power Query编辑查询界面

合并单元格而存在null

步骤2:需要将null自动填充为上一行文本,鼠标选中字段"店铺"列,选择菜单栏【转换】|【填充】|【向下】命令,即可将null自动填充为上一行文本

 向下填充

最终结果如下所示

4.数据替换

利用Power Query中的替换功能,可以高效快速地批量修改特定的值

练习案例

数据源(部分截图)

 替换前的数据

问题:将"销售单编号"列中的"-"改为"/"

操作步骤如下所示

步骤1:选中字段"销售单编号"列,鼠标右击,在弹出的快捷菜单中选择【替换值】命令,或者在菜单栏选择【转换】|【替换值】命令

方法1
 方法2

步骤2:打开"替换值"对话框,在"要查找的值"文本框中输入"-",在"替换为"文本框中输入"/"

步骤3:单击【确定】按钮,"销售单编号"列中的"-"全部替换为了"/",结果如下所示

替换后的结果
### ThinkPHP 6.0 连接 PostgreSQL 数据库教程 在 ThinkPHP 6.0 中连接到 PostgreSQL 数据库涉及编辑配置文件并提供必要的连接参数。具体操作如下: #### 编辑数据库配置文件 找到项目的 `config/database.php` 文件,在此文件中定义 PostgreSQL 相关的连接选项。以下是具体的配置实例[^1]。 ```php return [ // 设置默认使用的数据库连接 'default' => 'pgsql', // 定义多个数据库连接,这里只展示 pgsql 的部分 'connections' => [ 'pgsql' => [ // 数据库类型 'type' => env('database.type', 'pgsql'), // 主机地址 'hostname' => env('database.hostname', 'your_host'), // 数据库名 'database' => env('database.database', 'your_database_name'), // 用户名 'username' => env('database.username', 'your_username'), // 密码 'password' => env('database.password', 'your_password'), // 端口,默认为5432 'hostport' => env('database.hostport', '5432'), // 字符集 'charset' => env('database.charset', 'utf8') ], ] ]; ``` 这段代码展示了如何指定一个名为 `'pgsql'` 的连接,并设置了相应的属性来指向特定的 PostgreSQL 实例。注意使用了环境变量作为默认值,这有助于提高安全性并方便不同环境下部署时修改配置。 当存在主从服务器的情况下,如果两个服务器上的某些参数不一致,则需要分别为它们设定独立的部分;反之则只需共享同一组设置即可[^2]。 完成以上更改之后保存文件重启应用程序使新配置生效。此时应该能够成功建立同 PostgreSQL 数据库之间的通信链路。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值