[PowerBI] Store Procedure With User Parameter

PowerBI提供函示和參數可執行store procedure

如何在PowerBI上動態傳入某store procedure參數呢?這篇自己紀錄一下

這支store procedure有兩個input parameter

declare @sdate datetime='2007-11-15 00:00:00.000',@edate datetime ='2008-01-15 00:00:00.000'
exec dbo.usp_getTransactionHistory @sdate,@edate

建立參數

點選編輯查詢

點選新增參數

新增兩個參數,並選擇相關正確內容

點選新增SQL Server source

使用進階選項,輸入相關TSQL

沒有任何錯誤即可預覽相關資料

進階編輯查詢

使用動態參數取代如下

let
    Source = Sql.Database("RICONB\SQL2K17", "AdventureWorks2012_Data", [Query="exec dbo.usp_getTransactionHistory '"& Date.ToText(sdate,"yyyy-MM-dd hh:mm:ss") & "','" & Date.ToText(edate,"yyyy-MM-dd hh:mm:ss")&"'"])
in
    Source

編輯權限

接下來用stack chart呈現資料

目前只有2007-12~2018-01資料

修改參數

修改sdate為2007/08/15

套用變更

可以看到多了2007-09和10資料

 

 

參考

Data types in Power BI Desktop

DateTime.FromText

Power BI Desktop Query Parameters, Part 1

Execute SQL Server Stored Procedure With User Parameter In Power BI

Deep Dive into Query Parameters and Power BI Templates

Using Parameters in Power BI

Power BI Introduction: Working with Parameters in Power BI Desktop —Part 4