Microsoft is giving away 50,000 FREE Microsoft Certification exam vouchers!
Enter the sweepstakes now!Prepping for a Fabric certification exam? Join us for a live prep session with exam experts to learn how to pass the exam. Register now.
I've set up dynamic content inside of a Refresh Semantic Model activity inside of a data pipeline. So far I've dynamically set the Workspace Id and the Semantic Model but I've previously left the table line blank. The pipeline would refresh properly until now and the only way it seems to run even with static Workspace Id and Semantic Model values is if I specify the tables.
For the static values I can wait for the drop down menu to load and select all but when I use dynamic content in Workspace and Semantic Model ID, the table names won't load and I can only input dynamic content. How do I write in the tables through dynamic content. I've tried the following based off the JSON file:
How do I dynamically write in multiple tables for the dynamic content? Is there a way to specify select all when I write in dynamic content?
Solved! Go to Solution.
Hi @BriefStop,
When using the dynamic expression builder in the Refresh Semantic Model activity, simply pasting a JSON object like [{"table": "TableName"}] won’t work directly, you’ll need to wrap it using the @json() function, as the expression builder expects a string that it can parse at runtime.
If you are entering static table names via expression, paste this directly in the dynamic expression field:
@json('[{"table": "TableName1"}, {"table": "TableName2"}]'). This wraps your valid JSON in a string and parses it correctly at runtime.
If you are passing table names dynamically using a variable like TableList = Table1,Table2 use this expression: @json(concat('[', replace(variables('TableList'), ',', '},{"table": "'), '{"table": "'), ']')). This takes a comma-separated string like Table1,Table2 and converts it into a valid array.
Now where to paste It? In the "Tables" input field, switch to dynamic content then click “Add dynamic content” and go to the Expression tab. Paste the full expression (@json(...)) into the editor. Now click OK to save.
If I misunderstand your needs or you still have problems on it, please feel free to let us know.
Best Regards,
Hammad.
Community Support Team
If this post helps then please mark it as a solution, so that other members find it more quickly.
Thank you.
Hi @BriefStop,
Thanks for reaching out to the Microsoft fabric community forum.
It looks like you are facing issue when using dynamic content for Workspace ID and Semantic Model ID, the table dropdown does not load, and selecting all tables manually is not possible.
When using static values for Workspace ID and Semantic Model ID, Microsoft Fabric automatically retrieves table names. However, when using dynamic values, the system does not pre-load tables, requiring you to manually define them in a specific format. To dynamically specify tables, use the correct JSON format:
[
{"table": "TableName1"},
{"table": "TableName2"},
{"table": "TableName3"}
]
Or If your table names are stored in a variable (e.g., TableList containing Table1,Table2,Table3), you can convert it into JSON using the following expression:
@json(concat('[', replace(variables('TableList'), ',', '},{"table": "'), '{"table": "'), ']')).
But make sure "TableList" is a comma-separated string of table names.
Currently, there is no direct "Select All" option when using dynamic content. Instead, you can use a lookup activity to fetch all table names or store them in a variable (TableList) or format them using the above JSON expression.
If I misunderstand your needs or you still have problems on it, please feel free to let us know.
Best Regards,
Hammad.
Community Support Team
If this post helps then please mark it as a solution, so that other members find it more quickly.
Thank you.
Thank you Hammad, can you show me how you enter it into the dynamic expression builder? When I try something similar([{"table": "TableName"}]) I am still not able to pass in the table names
Hi @BriefStop,
When using the dynamic expression builder in the Refresh Semantic Model activity, simply pasting a JSON object like [{"table": "TableName"}] won’t work directly, you’ll need to wrap it using the @json() function, as the expression builder expects a string that it can parse at runtime.
If you are entering static table names via expression, paste this directly in the dynamic expression field:
@json('[{"table": "TableName1"}, {"table": "TableName2"}]'). This wraps your valid JSON in a string and parses it correctly at runtime.
If you are passing table names dynamically using a variable like TableList = Table1,Table2 use this expression: @json(concat('[', replace(variables('TableList'), ',', '},{"table": "'), '{"table": "'), ']')). This takes a comma-separated string like Table1,Table2 and converts it into a valid array.
Now where to paste It? In the "Tables" input field, switch to dynamic content then click “Add dynamic content” and go to the Expression tab. Paste the full expression (@json(...)) into the editor. Now click OK to save.
If I misunderstand your needs or you still have problems on it, please feel free to let us know.
Best Regards,
Hammad.
Community Support Team
If this post helps then please mark it as a solution, so that other members find it more quickly.
Thank you.
Explore and share Fabric Notebooks to boost Power BI insights in the new community notebooks gallery.