快速技巧,Power BI Desktop,查询参数,第4部分,将Power Query参数值传递到SQL 服务器存储过程

我过去写过3篇关于查询参数的博文。

这是快速提示形式的第四篇。这是场景。我的一位客户要求从SQL 服务器的存储过程中获取数据。她需要将值从“查询参数”传递回SQL 服务器,并在Power BI中获得结果。

解决方案有点简单。我在中创建了一个简单的存储过程 AdventureWorksDW2019 如下:

CREATE PROCEDURE SP_Sales_by_Date 
	@date 在t
AS
BEGIN
	SET NOCOUNT ON;
	SELECT *
	FROM [dbo].[FactInternetSales]
	WHERE OrderDateKey >= @date
END
GO

在Power BI Desktop中,从SQL 服务器获取数据,然后:

  • 输入 服务器 名称
  • 输入 数据库 名称
  • 选择 数据连接模式
  • 展开 高级选项
  • 输入一个 SQL语句 调用存储过程,如下所示:
执行 SP_Sales_by_Date @date = 20140101
  • 点击确定
使用Power BI Desktop中的SQL语句从SQL 服务器获取数据
  • 请点击 转换资料
在Power BI Desktop中转换数据

现在我们需要创建一个查询参数。在我的示例中,我创建了一个 日期键 小数 数据类型:

在Power BI Desktop中创建新的查询参数
继续阅读 “快速技巧,Power BI Desktop,查询参数,第4部分,将Power Query参数值传递到SQL 服务器存储过程”

功率查询和SQL 服务器存储过程

今天,我想解释一下如何将参数传递给SQL 服务器存储过程。我本人正在寻找一种将参数从Power Query传递到SQL 服务器存储过程的方法。我花了很多时间在互联网上搜索一篇不错的文章,该文章解释了如何将参数从Power Query传递到存储的proc并在Excel中显示结果。但是,正如我所料,我找不到太多有关此方面的信息。因此,我决定进行一些处理,您可以在本文中阅读结果。为了简化解决方案,我将在AdventureWorks 2012数据库中使用uspGetBillOfMaterials存储过程。该存储过程接受一个整数作为ProductID,接受一个日期作为CheckDate。因此,我们需要将两个参数传递给uspGetBillOfMaterials  to get the results.

如果我们使用以下命令在SSMS中执行存储的proc

执行 [dbo].[uspGetBillOfMaterials] 727, ‘2009-01-02’

,我们将得到以下结果:

图片

现在,让我们在Power Query上做一些工作。因此,打开Microsoft 电子表格并转到“电源查询”选项卡,然后选择“ SQL服务器数据库”。

图片

现在,键入服务器,数据库和SQL语句,然后单击确定。

继续阅读 “Power Query和SQL 服务器存储过程”