I'm trying to pass the value of a parameter to my dynamic query statement so that I can limit the dataset on the source db (dealing with extremely large data).
I tried the following... but it doesn't transfer the value of parameter StartDate to variable p_start_date. How can I get the parameter value passed so I can use it in my dynamic query?
p_start_date = fnGetParameter("StartDate"),
Source = SapHana.Database("server",
[Query="select ""VBAK"".""VBELN"", ""VBAK"".""AUART"" #(lf)from ""VBAK"" #(lf)where ""VBAK"".""ERDAT"" > '& p_start_date &'"])
Please see this blog post for more information.
Thanks & Regards,
Thanks @ankitpatira ! I tried that but got an error:
Source = SapHana.Database("server",
[Query="select ""VBAK"".""VBELN"", ""VBAK"".""AUART""
where ""VBAK"".""ERDAT"" > """& Start & """
It shows the following query:
select "VBAK"."VBELN", "VBAK"."AUART"
where "VBAK"."ERDAT" > "20160101"
but the hana system needs the date without the quotes as it's throwing the following error message:
DataSource.Error: ODBC: ERROR [S1000] [SAP AG][LIBODBCHDB DLL][HDBODBC] General error;260 invalid column name: 20160101: line 3 col 24 (at pos 200)
Any ideas? Thanks!
I think I got the syntax, but now I get the following error:
"Mixing DirectQuery and imported data is not supported."
Does that mean a parameter cannot be used for user input and passed to a dynamic query?
Or does anyone know how to get around this?
Parameter is supported under Direct Query. Check:
This error “Mixing DirectQuery and imported data is not supported." Might be caused by the Parameter status, please right click the parameter, and uncheck the Enable Load option (If checked, after click close and apply, Power BI desktop would generate the error "Mixing DirectQuery and imported data is not supported."):
In addition, please take a notice of the data type of the data source and the parameter, make sure the type matches.
Please reply back if you need any further assistance on this.
Sorry for the delay - I was on business travel and wasn't able to check this... back now...
Looked at the link and I think I see the issue/disconnect now... I was looking for a query parameter that the user could enter and I could pass to the select statement to limit the rows returned (vs a slicer and filtering on it since the dataset is millions of records). However, using the link to query params and templates provided above, it looks like this is only possible using Desktop BI vs published reports that users are using.
If I misunderstood and there is a way to do this where the users can enter the parameter value from the report, would love to hear!
Thanks all for your feedback!!
Currently I don't think this could be done under Report level with users.
Query Parameter is available ehn query the data, not after the query. If we would like to filter the report, we could add the slicer Visual. Which user could be able to select in Reports:
Here is an example using a HANA database , with working syntax
enjoy. Note you must use the internal SAP hana column names , the column displayed in PBI are "labels" and may have spaces in them or be completely different to the actual sap columns
let xx = "0000610127", sel = "select ""ColumnName"" from ""ZXXX.XXX::TABLE"" where ""ColumnName"" = '" & xx & "' ", Source = SapHana.Database("Server:12345", [Query=sel]) in Source
Check out a full recap of the month!
Check out the winners of the recent 'Can You Solve These?' community challenge!
Join us for an in-depth look at the new Power BI features and capabilities at the free Microsoft Business Applications Launch Event.