如何在Microsoft PowerBI中使用SQL Server存储过程?

Asa*_*ich 13 sql sql-server stored-procedures business-intelligence powerbi

我想从我的SQL Server表生成报告.

我有一些已经制作的存储过程,我想用它来生成报告.

我还没有找到办法.

只有重写查询.

谢谢 :)

小智 13

在Power BI中执行SP - >

1.在SQL Server中右键单击您的SP并选择执行.执行代码并打开一个新的查询窗口,负责执行.复制该查询.

2.在Power BI查询编辑器中,选择新建源 - > SQL Server.在给出服务器和数据库之后,在同一窗口中单击"高级选项",将查询粘贴到打开的"SQL语句"中.选中"使用完整层次结构导航",然后单击"确定".

3.您将看到仅在SP中传递的参数的数据.

  1. 在应用这些更改时,您将在Power BI Desktop中看到此数据集,您可以从中创建报告.

注意:这适用于"导入查询"选项.

希望这对你有用,就像它对我一样,干杯!

  • 这无法将动态变量传递给过程,但至少这个答案是迄今为止在网络上找到的最好的答案 (2认同)

Nir*_*raj 11

您可以使用openquery.以下语法将与Power BI Desktop中的导入数据和直接查询方法一起使用.

SELECT *
FROM OPENQUERY ([server name],
'EXEC dbname.dbo.spname @parametername = ''R1''');
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述


Cai*_*ete 5

展开Advanced options对话框中的Get Data -> SQL Server,然后编写 SQL 语句来执行存储过程,例如:

EXEC [dbo].[usp_NameOfYourStoredProcedure]
Run Code Online (Sandbox Code Playgroud)

在 Power BI 中执行存储过程

  • 应用更改时出现以下错误: /!\“查询名称”Microsoft SQL:关键字“EXEC”附近的语法不正确。')' 附近的语法不正确。有办法解决这个问题吗? (3认同)

Pau*_*rew 2

首先,我认为最好指出 Power BI 不是 Reporting Services,它希望获得现有的表数据或视图,然后在创建仪表板之前在其自己的环境中对其进行建模。

如果您可以让 Power BI 来完成存储过程的工作。在 Power BI 中定义数据模型后,就可以重复使用它。

Power BI 网站上有一个很棒的介绍课程:

https://powerbi.microsoft.com/en-us/guided-learning/powerbi-learning-2-1-intro-modeling-data/

  • 我只是想指出,与尝试修改 Power BI 对查询所做的操作相比,在 SQL 中编辑大型存储过程要容易得多,这看起来绝对荒谬。 (8认同)