在 Power BI 中动态创建和执行查询

问题描述 投票:0回答:1

我需要获取 Azure Synapse Serverless SQL 中所有表的行计数。我不能使用存储过程,也不能使用DMV。我有一个查询创建所有完全限定表名的列表以供分析,但我在实际执行查询的下一步中遇到了困难。我认为我无法直接在 SQL Server 中执行此操作,因为我无法运行动态 SQL。

我理想的解决方案是 Power Query 中的一些东西。同样,我设置了一个包含所有名称的列表(和参数)。我只需要某种方法让它从 [TableName] 为每个执行 SELECT Count(*) -- 请帮助我!

我已经对 Dynamic M 查询进行了研究,但我一定遗漏了一些东西。

更多注意事项:这需要是直接查询,仅限原生查询。

我已经尝试了几乎所有可以在 Stack Overflow 或 Synapse 文档中找到的 SQL 方法,但我需要有关强力查询的帮助。 动态 SQL XXX 存储过程XXX 动态管理视图 XXX

sql powerbi powerquery serverless azure-synapse
1个回答
0
投票

这是一种方法(未经测试),您可以将其作为列表中所有表的一个 SQL 来执行。然后您可以将此查询的结果用于您的 SQL 语句。

let
    Source = Table.SelectColumns(SQLTable,{"TableName"}),
    #"Added Custom" = Table.AddColumn(Source, "Custom", each "(SELECT COUNT(*) FROM " & [TableName] & ") AS " & [TableName]),
    #"SQL command" = "SELECT " & Text.Combine(#"Added Custom"[Custom], ", ")
in
    #"SQL command"
© www.soinside.com 2019 - 2024. All rights reserved.