You can translate the question and the replies:

Connecting Denodo views with parameters to Power BI.

I've been working with a few Denodo views and am looking to bring the final view into Power BI. However, I need to somehow define the required parameters as I'm connecting the view or else Power BI will return an error. I would like to connect these denodo parameters with parameters from Power BI so the user can easily change them. It seems this can be done in Power Query Advanced Editor, but I'm unsure of the syntax. Does anyone have experience connecting Denodo views with parameters to PowerBI? Below is an example of the M code I am trying to add to: let Source = Odbc.DataSource("Driver={DenodoODBC Unicode(x64)};server=server1.com;port=0000;database=test1", [HierarchicalNavigation=true]), test1Database = Source{[Name="vdbkmeqa1",Kind="Database"]}[Data], test1Schema = test1Database{[Name="test1",Kind="Schema"]}[Data], reportView = test1Schema{[Name="report",Kind="View"]}[Data] in reportview
user
22-07-2019 16:48:43 -0400
code

3 Answers

Hi, I was able to successfully pass the parameter value to PowerBI tool using the following steps, * Create a parameter in PowerBI tool, say ‘p1’ and specify a current value. In the Virtual DataPort Administration Tool, I have defined the view parameter as ‘p2’. * In the Power Query Editor of Power BI tool, I would right click on the parameterized view and choose ‘Advanced Editor’ from the context menu and assign the view parameter ‘p1’ as ‘p2’ using the table function [Table.SelectRows](https://docs.microsoft.com/en-us/powerquery-m/table-selectrows) as below: *let … … custom = Table.SelectRows(<ViewName>, each [p1] = p2) in custom* You could also refer to this [link](https://community.denodo.com/answers/question/details?questionId=9060g0000000BkrAAE&title=Required+Parms+in+Power+BI+Denodo+Custom+Connector) which answers the similar issue. Hope this helps!
Denodo Team
23-07-2019 06:58:01 -0400
code
Hi, we tried this solution but the p2 value (date_periode) is not recognized. We did something like this let Source = Denodo.Contents("DenodoODBC_fcdq64", null), Database1 = Source{[Name="portail",Kind="Database"]}[Data], Schema1 = Database1{[Name="team_schema",Kind="Schema"]}[Data], view1 = Schema1{[Name="viewname",Kind="View"]}[Data], output = Table.SelectRows(view1, each [p1] = date_periode) in output Could you help us with that ? We really need to query view with parameters. Our view have the parameter called "date_periode" Thanks, David
user
29-07-2021 17:03:26 -0400
Hi all, Working through what mentioned above. The missing piece here is that the KIND="Table" not "View" By default if you are creating off a view in Denodo you will see that the KIND="View" You can't apply a Table function to a view. So the solution is to edit this and convert this to "Table" let Source = Denodo.Contents("SERVER=dap-test.had.sa.gov.au;PORT=9996;DATABASE=dap_cae01", null, [Timeout=#duration(0,0,4,0)]), dap_cae01_Database = Source{[Name="dap_cae01",Kind="Database"]}[Data], dap_cae01_Schema = dap_cae01_Database{[Name="dap_cae01",Kind="Schema"]}[Data], rpt_times_out_everytime_parameter_Table = dap_cae01_Schema{[Name="rpt_times_out_everytime_parameter",Kind="Table"]}[Data], rpt_my_output = Table.SelectRows(rpt_times_out_everytime_parameter_Table, each [whereclause] = pWhereClause ) in rpt_my_output In this view I'm creating a generic where clause I want to be able to change at runtime to force a time out for testing just incase you are wondering about the context. Hope this helps. Nick
user
16-06-2023 19:56:02 -0400
You must sign in to add an answer. If you do not have an account, you can register here