Search code examples
postgresqlparametersodbcexcel-2013powerquery

Dynamic Variables With PowerQuery


I have a table on my workbook that looks like below

Parameter Value
salestart 01/01/2016
saleend 01/21/2016

And I am trying to query a postgresql database and use the value for salestart and saleend in the where clause. I am just stuck on how to get the syntax perfect to achieve such a result. This is what I have thus far, but I get an error of:

ODBC escape convert error

And this is the actual syntax I am attempting. What must I alter so that this will be a valid statement and return the data I am needing?

let
Parameter = Excel.CurrentWorkbook(){[Name="Parameters"]}[Content],
txtsalestart = Table.TransformColumnTypes(Parameter,{{"salestart", type text}}),
txtsaleend = Table.TransformColumnTypes(Parameter,{{"saleend", type text}}),
Source = Odbc.Query("dsn=123", "Select * from saledb AND CAST(saledate As Date) BETWEEN between '"&#"txtsalestart" & "'" AND '"&#"txtsaleend" & "'#(lf)ORDER BY saleitem ASC")

in Source


Solution

  • The query value is not built correctly: "'" AND '" should be "' AND '"