Hi @Andrew Ryan , maybe you can try something like this?
let tables = materialize(database('your-database').list_tables());
tables
| project TableName = tostring(name)
| join kind=leftouter (
tables
| mv-expand schema=extract_all(@"\[(\w+)\]", tostring(schema))
| project TableName = tostring(name), ColumnName = tostring(schema)
) on TableName
| summarize ColumnCount = count(ColumnName) by TableName
This retrieves a list of all tables in your database, then joins it with a list of all columns in each table. Then it summarizes the results to count the number of columns in each table.
If this doesn't work or is a little too convoluted, then I do believe that a logic app is a good way to go.
Please let me know if you have any questions and I can help you further.
If this answer helps you please mark "Accept Answer" so other users can reference it.
Thank you,
James