1

我在 Azure SQL 数据库中创建了存储过程,并尝试将它们用于直接查询模式的 BI 报告。但是得到像这样的错误

"Microsoft SQL: Incorrect syntax near the keyword 'EXEC'.')' 附近的语法不正确。

另一个问题是

如何将连接字符串设置为全局,以便我可以在多个报告中使用相同的连接字符串?

请帮我解决问题

4

1 回答 1

4

我假设您使用的是 Power BI Desktop。当它构造 DirectQuery SQL 查询时,它会执行以下操作:

Select column1
From (
 YourQuery
) as t1

所以它失败了,因为你不能放入EXECSELECT 查询的 from 子句。

您的选择:

  1. 停止使用 DirectQuery。在缓存模式下使用存储过程将起作用,因为它只是在刷新期间运行您的查询而没有任何更改。为什么这对你不起作用?

  2. 从存储过程中取出查询并将其内联到 PBI Desktop 中。然后它应该与 DirectQuery 一起使用,只要它是单个语句简单的选择。

关于在另一份报告中重用连接(我假设您也意味着重用具有计算、关系等的模型)。在 PBI 桌面选项下打开这个新的预览功能,您可以连接到 Power BI 服务中已发布的数据集(模型/数据/连接)。

于 2017-04-06T12:23:30.533 回答