Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
Hi folks,
I am learning PowerBI and the experience has been great lately. I am thinking about one of the possible ways to fulfil my use case. I want to publish a template app on the Microsoft AppSource. Now, the app will have a sample dataset shipped with it. In all the general use cases of other apps, I see that the data in the shipped dataset is usually refreshed through native connector mechanism, i.e., through M Query. Now, is there a way that after installing the template app from the app source, user pushes the data to that data set through rest API?
Currently, when I loaded a pbix file in PowerBI service, and I was not able to retrieve the data set supplied in pbix file through rest API.
Hi @Teddyb ,
Are you saying that it is not possible to create template apps out of workspaces that have ONLY push datasets created through the API?
I, for example, have created a new workspace with datasets, tables and the data therein only through the REST API. Now that I want to create an app out of it, it asks me to complete all the fields with as asterix on it
and then takes me to the Authentication tab.
And there I only see a spinning wheel that says Loading indefinitely.
This makes it hard to zero in on the real issue. Is this a bug on the service?
Note that I have not used PBIX file for anything here- its all built up online. All datasets were created out of the API. And none of the tables have any data source associated with it.
Any ideas whats wrong?
Dataset and content was created using this code,
// create dataset and table
Dataset shippedProductsDataSet = await this.GetDataSet(client, "ShippedProducts");
if (shippedProductsDataSet == default(Dataset))
{
var createDataSet = new CreateDatasetRequest(
"ShippedProducts",
new List<Table>
{
new Table(
"Product",
new List<Column>
{
new Column("Id", "string"),
new Column("Name", "string")
}));
shippedProductsDataSet = client.Datasets.PostDatasetInGroup(PBIWorkSpaceId, createDataSet);
}
shippedProductsDataSet = client.Datasets.PostDatasetInGroup(PBIWorkSpaceId, createDataSet);
// Create sample data
var tables = client.Datasets.GetTablesInGroup(PBIWorkSpaceId, shippedProductsDataSet.Id);
if (!tables.Value.Any(t => t.Name == "Product" && t.Rows != null && t.Rows.Count > 0))
{
var productPostRowsRequest = new PostRowsRequest(
new List<object>
{
new {Id = 1, Name = "A"},
new {Id = 2, Name = "B"},
new {Id = 3, Name = "C"}
});
client.Datasets.PostRowsInGroup(PBIWorkSpaceId, shippedProductsDataSet.Id, "Product", productPostRowsRequest);
}
Hi,
Sorry for the late reply, indeed template apps are a great way to create deployable solution and publish on AppSource but they rely on Connectors extensibility story.
If you own the datasource you can apply to certify your connector which will allow the template app use the certified connector.
Maybe the datasource you are trying to connect with support OData?
Hi @cte_crest,
I'd like to suggest you use 'power bi service' connect to get data from power bi service, it linked with your power bi account and you can access existing datasets.
If you mean get data from the root URL of power bi datasets, I'd like to suggest you take a look at azure blob storage API. (AFAIK, power bi host its dataset on azure blob storage data source)
Regards,
Xiaoxin Sheng
Thanks for your reply. Actually, I want to push data to the dataset on template apps.
So, let me try to put it in a concise way, about the steps I performed:
So, do you think this could be solved? Or am I using it all wrong?
HI @cte_crest,
Please double-check on Push datasets REST API limitations, it only allows on push dataset and not works on common datasets that publish form pbix file. Push Datasets
Regards,
Xiaoxin Sheng
Thanks for your information. It makes sense.
I think I was going for an incorrect use case.
I just had another concern. From https://docs.microsoft.com/en-us/power-bi/developer/automation/api-rest-api-limitations?redirectedfr..., it seems that the maximum rows allowed in a table for Push Dataset are 5 Million. Is there any reason for it? Is there any way to increase the capacity? At least for premium capacity?
Hi @cte_crest,
I check the official document but not found they mentioned high level license can improve the limitations of rest api. Maybe you can submit an idea for this requirement.
Regards,
Xiaoxin Sheng
I am sorry, but I was not able to understand what do you mean by "high level license can improve the limitations of rest api"?
Does any license exist which may help with relaxation of this limit?
Hi @cte_crest,
>>I am sorry, but I was not able to understand what do you mean by "high level license can improve the limitations of rest api"?
Full feature version power bi pro and its upgrade version premium(split by their capacity).
Power BI service features by license type
>>Does any license exist which may help with relaxation of this limit?
Unfortunately, these licenses didn't increase the limit range of rest API usage.
Regards,
Xiaoxin Sheng
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
12 | |
2 | |
2 | |
1 | |
1 |