使用power bi 数据,但是经常导入文件夹数据,但是导入excel 或者csv 数据速度过慢,因此一直想要有简单的方法将csv或excel 快速导入mysql 或者sql数据库,这篇文章使用sql server 可编程性 power query 数据快速回传,速度快
准备
本操作需要使用下列工具
1.存储过程,powerquery ,如果没有数据库经验,可以使用Navicat 此类工具操作处理数据库
下载安装 sql
https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads
直接下载Express 版本 即可。
存储实现代码
Create PROCEDURE InsertData
@json as nvarchar(max)
AS
BEGIN
insert into SalesTable([Name],[Region],[Product],[Date],[Sales])
select distinct * from openjson(@json)
with(
[Name] nchar(20),
[Region] nchar(10),
[Product] nchar(10),
[Date] date,
[Sales] float
)
END
PQ 使用代码
let
json=Text.FromBinary(Json.FromValue(Data)),
源 = Value.NativeQuery(
Sql.Database(".","DB"),
"InsertData @json",
[json=json]
)
in
源
操作步骤
新建数据库
使用 Navicat 创建数据库,数据库的设计字段一定要使用英文
创建存储过程
PQ 回传数据
问题
解决列重复上传
end 之前新增 唯一id列
Create PROCEDURE InsertData
@json as nvarchar(max)
AS
BEGIN
insert into SalesTable([Name],[Region],[Product],[Date],[Sales])
select distinct * from openjson(@json)
with(
[Name] nchar(20),
[Region] nchar(10),
[Product] nchar(10),
[Date] date,
[Sales] float
) as st2 where st2. id not in(select id from sousuocidiyu)
END