Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!To celebrate FabCon Vienna, we are offering 50% off select exams. Ends October 3rd. Request your discount now.
Hi ,
i can not find information how to publish data without datasource.
The workflow is:
1. Upload report in *.pbix using POST rest api:
https://learn.microsoft.com/en-us/rest/api/power-bi/imports/post-import
2. Update parameters
3. Refresh report.
I am concern that I will publish report with data already and if something will crash during updating parameters or refreshing report - it will be available for user.
I am using entirely Customer Tenant and connection strings are pointing directly into Customer database.
So if I will upload all data or my company data into their tenant - somebody not invited can look at data.
My idea is to not upload any data. Just upload only schema and tables without any rows.
How to do this?
Best,
Jacek
Solved! Go to Solution.
Yes, you can use parameters to indicate if all rows should be read or 0 rows should be read. You cannot not read, because power query needs the meta data.
Hi @jaryszek ,
Thanks for reaching out to the Microsoft fabric community forum.
As you have mentioned, your workflow involves obtaining the report from the REST API, updating parameters, and refreshing reports, which sounds like a solid plan. @lbendlin has already suggested an idea related to parameters, and your concern is with the customer user. The Power BI workspace is entirely on the Customer Tenant, it allows the customer to access their workspace and download reports as needed. Therefore, you want to publish the report without data.
Based on your need to upload reports without exposing sensitive data, here are some approaches you can consider:
When embedding reports, you can use the Power BI Embedded API to generate embed tokens that initially do not allow data access. Once the report is ready, you can update the token to grant access to the real data.
For detailed information, please refer to the following documentation for a better understanding:
https://learn.microsoft.com/en-us/power-bi/developer/embedded/embed-tokens?tabs=embed-for-customers
Row-Level Security (RLS) can be configured to restrict data access based on user roles. You can set an RLS filter that hides data initially and later adjust it to allow data visibility once the configuration is finalized.
Kindly, refer the below documentation for detail information:
https://learn.microsoft.com/en-us/power-bi/guidance/rls-guidance
I hope my suggestions give you good ideas, if you need any further assistance, feel free to reach out.
If this post helps, then please give us Kudos and consider Accept it as a solution to help the other members find it more quickly.
Thank you.
Sounds good. What have you tried and where are you stuck? You can also connect to a SQL data source and say "Select top 0 * from table" so that the meta data is filled but the data is missing.
@lbendlin I tried these steps. And they are working, but my concern is that I will publish something with data and after that I will update parameters and the process can be broken - it means that published, initial data will be available for customer which I do not want to!
So following your thinking. Maybe i should have parameter like "No Data" and if this is chosen on local version - it should remove all rows within power query and keep only table headers.
Can you please confirm that it can be a potential solution?
Best Wishes,
Jacek
Yes, you can use parameters to indicate if all rows should be read or 0 rows should be read. You cannot not read, because power query needs the meta data.
Thanks. What is fragile here that if user will download report before i will update parameters he could change parameter manually (because power bi user belongs to Customer Tenant) and see all data if conection string was there.
Best,
Jacek
Thanks. What is fragile here that if user will download report before i will update parameters he could change parameter manually (because power bi user belongs to Customer Tenant) and see all data if conection string was there.
Best,
Jacek
Hi @jaryszek ,
If you have premium workspace s.Use deployment pipeline and provide access to only prod workspace and don't provide access to dev/test workspace.
I hope it will be helpful.
Thanks,
Sai Teja
Thanks.
the issue is that data, customer user, power bi workspace - eveything is on Customer Tenant.
And my company external app will connect via service principal into their workspace and generate embedd token in order to render report in my app.
So i can not have a lot of choice - Customer can go, see his workspace and and download reports as he wants to. So I want to publish report without data.
Best,
Jacek