Forum Discussion
Refresh Semantic Model - Table Dynamic Content
- Anonymous1 year ago
Hi Anonymous,
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 TeamIf this post helps then please mark it as a solution, so that other members find it more quickly.
Thank you.
Hi Anonymous,
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.
- Anonymous1 year agoNot applicable
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
- Anonymous1 year agoNot applicable
Hi Anonymous,
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 TeamIf this post helps then please mark it as a solution, so that other members find it more quickly.
Thank you.