Forum Discussion
Dataset creation in DirectQuery mode and the Snowflake data source
- 9 years ago
That scenario can be the only approach, to implement "no human interaction", you could schedule your C# script to run in a certain interval. When adding rows, do note the API limitation.
I have no idea on any ETA, just keep one eye on the developer blog.
The dataset creation API is also very limited. You can only to add rows to the dataset created via REST API, no update/delete, no direct query connection set. That is to say, you maintain the dataset totally via REST API. One scenario would be like , read the data from snowflake in C# via the snowflake API, add the rows to the dataset via Power BI REST API. Meanwhile, you can only generate visuals in Power BI Service against the dataset, there's no various operations as in Power BI Desktop, such as data type converison, measure creation, re-model the dataset etc.
And, Power BI Embedded doesn't support any DirectQuery in data source other than Azure SQL DB/Azure SQL DW.
Usually, a promising approach would be like, connect to the snowflake in direct query mode, and then publish the report to Power BI service, set up a gateway and configure data source in Power BI Service. Then embed the reports to your application via Power BI REST API. However, the snowflake is still in preview and it is not supported in gateway data source. To bypass this limitation, you may consider using ODBC to snowflake, and schedule refresh in Power BI Service, which means, DirectQuery is not avaible. To be frank, I don't expect too much on an preview feature.
"One scenario would be like , read the data from snowflake in C# via the snowflake API, add the rows to the dataset via Power BI REST API"
Thanks. I am doing that for the moment.
Do you know the likelyhood of those additional features of the API and DirectQuery (i.e. are they short term priority and are likely to land in the next 4 months?). Using the desktop feature is ok for prorotyping but I am creating something that needs to deployed and manage a dimensional model without human interaction.
- Eric_Zhang9 years agoMicrosoft Employee
That scenario can be the only approach, to implement "no human interaction", you could schedule your C# script to run in a certain interval. When adding rows, do note the API limitation.
I have no idea on any ETA, just keep one eye on the developer blog.