Pass Parameters to SQL Queries

wsnyder

Board Regular
Joined
Sep 23, 2018
Messages
226
Office Version
  1. 365
Platform
  1. Windows
Hi all,
I am trying to pass parameters to a SQL Query

I found this article by Chirs Webb

I have parameters in Power Query from a Parameter Table on my worksheet. Both parameters show as a calendar icon in Power Query

I set up a Test Database on SQL Server and entered 3 dates and sales amount
1/31/2023, 200
2/1/2023, 100
2/28/2023, 300

I then edited Chris's code based on my database and parameters, but nothing was returned - no data, errors, or messages.
Any thoughts on what I'm doing wrong?

Power Query:
let
    Source = Sql.Database("localhost", "Yeti"),
    Test = Value.NativeQuery(
            Source,
            "SELECT * FROM sales
            WHERE salesdate >= @start
            AND
            salesdate <= @stop",
            [start=Begin_Date , stop=End_Date])
in
    Test

Thanks,
-w
 

Excel Facts

Copy a format multiple times
Select a formatted range. Double-click the Format Painter (left side of Home tab). You can paste formatting multiple times. Esc to stop
I finally resolved.

I created the ODBC Connection to Google Big Query and configured it per Admin. I added a simple SQL Statement to the ODBC Query in PQ.
I had already created a parameter table and I brought in Begin_Date as a date parameter in Power Query.
I opened the advanced editor and edited the SQL String as this:

Power Query:
Source = Odbc.Query("dsn=GoogleBigQuery", "#standardSQL#(lf)#(lf)select *#(lf)#(lf)from `server.database.table`#(lf)#(lf)where date between '" & Date.ToText(Begin_Date,"YYYY-MM-DD") & "' and '" & Date.ToText( Date.EndOfMonth(Begin_Date),"YYYY-MM-DD") & "'"),

Where Begin_Date is the name of the date parameter coming from my parameter table.
 
Upvote 0
Solution

Forum statistics

Threads
1,226,504
Messages
6,191,426
Members
453,657
Latest member
DukeJester

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top