我使用SQL存储过程作为电源查询中的源。存储过程有两个参数,两个日期。我在PQ中使用以下内容作为来源:
EXEC [BASE].[dbo].[my_procedure] '2020-04-01','2020-04-09'
在Excel工作表中,我定义了带有两个参数的参数单元格。用户输入日期作为参数值(例如DateFrom,DateTo)。我还编写了一个excel宏,用于刷新用户传递的参数(在Excel中给定单元格中键入的日期)的连接。宏的关键部分如下所示:
With ActiveWorkbook.Connections("My_connection").OLEDBConnection
.CommandText = Array( _
"EXEC [BASE].[dbo].[my_procedure] '" & Sheets("Data").Range("DateFrom").Value & "', '" & Sheets("Data").Range("DateTo").Value & "'")
End With
问题在于日期未作为参数传递给Power Query。当我使用宏刷新数据时,即使更改了Excel中给定单元格中的日期,也没有任何变化。 当我在PQ中打开数据源时,日期仍然相同,如下所示:
EXEC [BASE].[dbo].[my_procedure] '2020-04-01','2020-04-09'
需要说的是,当我不使用PQ运行宏(只是简单的连接sql-excel,使用参数查询),一切正常,就可以运行。
问题是:如何将存储过程的参数传递给Power Query?