Don't miss your chance to take the Fabric Data Engineer (DP-700) exam on us!
Learn moreNext up in the FabCon + SQLCon recap series: The roadmap for Microsoft SQL and Maximizing Developer experiences in Fabric. All sessions are available on-demand after the live show. Register now
Hi,
I'm developing a pbix outside of its use environment and I have no permissions to connect to the datasource under my user. So I'm having to email the report to a user with credentials to hit refresh to obtain new data and then they would email it back. This makes it a pain for testing when the data I need isn't there or requires curating.
Is there anyway for a PQ Query to attempt to use one datasource and if credentials aren't available it'll failover to another?
I've tried the following pattern but PQ still requires I provide valid credentials before I can refresh.
try
let
Source = Databricks.Catalogs(...)
in
Source
Otherwise
let
Source = Excel.Workbook(...)
in
Source
Solved! Go to Solution.
Hi @kevinht ,
Thank you for reaching out to Microsoft Fabric Community.
Thank you @Omid_Motamedise @PwerQueryKees for the prompt response.
You are on the right track with try...otherwise, but unfortunately Power Query still tries to validate all data sources at refresh time - even inside a try block - so it will still prompt for Databricks credentials even if it ends up using the Excel fallback.
As a Workaround:
Use a parameter to switch between sources manually:
1.Create a text parameter (e.g., Environment) with values like "Prod" or "Dev".
2.Use conditional logic based on that parameter:
let
Source = if Environment = "Prod" then
Databricks.Catalogs(...)
else
Excel.Workbook(File.Contents("C:\path\to\your\local.xlsx"))
in
Source
This way, Power Query only tries to validate the data source that’s actually used - avoiding credential errors for the unused one.
If this post helps, then please consider Accepting as solution to help the other members find it more quickly, don't forget to give a "Kudos" – I’d truly appreciate it!
Hi @kevinht ,
Thank you for reaching out to Microsoft Fabric Community.
Thank you @Omid_Motamedise @PwerQueryKees for the prompt response.
You are on the right track with try...otherwise, but unfortunately Power Query still tries to validate all data sources at refresh time - even inside a try block - so it will still prompt for Databricks credentials even if it ends up using the Excel fallback.
As a Workaround:
Use a parameter to switch between sources manually:
1.Create a text parameter (e.g., Environment) with values like "Prod" or "Dev".
2.Use conditional logic based on that parameter:
let
Source = if Environment = "Prod" then
Databricks.Catalogs(...)
else
Excel.Workbook(File.Contents("C:\path\to\your\local.xlsx"))
in
Source
This way, Power Query only tries to validate the data source that’s actually used - avoiding credential errors for the unused one.
If this post helps, then please consider Accepting as solution to help the other members find it more quickly, don't forget to give a "Kudos" – I’d truly appreciate it!
Thanks! No idea why I never thought of using the basic control structures. But the extra insight about what gets validate at refresh time is great to add to my understanding.
try the following one
let
Source1 = Databricks.Catalogs(...),
Source2 = Excel.Workbook(...),
Source= if Value.HasError(Source1) then Source2 else Source1
in
Source
Not sure if this will work, but you could try something like this:
let
Source = try
Databricks.Catalogs(...)
Otherwise
Excel.Workbook(...)
in
Source
If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.
A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.
Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.
| User | Count |
|---|---|
| 5 | |
| 4 | |
| 3 | |
| 3 | |
| 2 |
| User | Count |
|---|---|
| 8 | |
| 6 | |
| 6 | |
| 6 | |
| 5 |