我在 Azure SQL 数据库中创建了存储过程,并尝试将它们用于直接查询模式的 BI 报告。但是得到像这样的错误
"Microsoft SQL: Incorrect syntax near the keyword 'EXEC'.
')' 附近的语法不正确。
另一个问题是
如何将连接字符串设置为全局,以便我可以在多个报告中使用相同的连接字符串?
请帮我解决问题
我在 Azure SQL 数据库中创建了存储过程,并尝试将它们用于直接查询模式的 BI 报告。但是得到像这样的错误
"Microsoft SQL: Incorrect syntax near the keyword 'EXEC'.
')' 附近的语法不正确。
另一个问题是
如何将连接字符串设置为全局,以便我可以在多个报告中使用相同的连接字符串?
请帮我解决问题
我假设您使用的是 Power BI Desktop。当它构造 DirectQuery SQL 查询时,它会执行以下操作:
Select column1
From (
YourQuery
) as t1
所以它失败了,因为你不能放入EXEC
SELECT 查询的 from 子句。
您的选择:
停止使用 DirectQuery。在缓存模式下使用存储过程将起作用,因为它只是在刷新期间运行您的查询而没有任何更改。为什么这对你不起作用?
从存储过程中取出查询并将其内联到 PBI Desktop 中。然后它应该与 DirectQuery 一起使用,只要它是单个语句简单的选择。
关于在另一份报告中重用连接(我假设您也意味着重用具有计算、关系等的模型)。在 PBI 桌面选项下打开这个新的预览功能,您可以连接到 Power BI 服务中已发布的数据集(模型/数据/连接)。