Excel 数据快速回传 Sql server 数据库

使用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

相关推荐

power query 回写SQL server

在工作的时候经常会存在用excel 处理数据后需要进行回写数据库,经常复用。由于使用推广竞价,涉及的数据会比较 ...

power query 速度过慢

Excel 作为使用最频繁、应用最广泛、用户最庞大的数据处理工具,经常会出现powerquery数据一直在刷新 ...