【问题标题】:How to use SQL Server stored procedures in Microsoft PowerBI?如何在 Microsoft PowerBI 中使用 SQL Server 存储过程?
【发布时间】:2016-10-02 01:09:53
【问题描述】:

我想从我的 SQL Server 表中生成报告。

我已经创建了一些存储过程,我想用它们来生成报告。

我还没有找到方法。

仅通过重写查询。

谢谢:)

【问题讨论】:

标签: sql sql-server stored-procedures business-intelligence powerbi


【解决方案1】:

在 Power BI 中执行你的 SP-->

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

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

3.您只会看到您在 SP 中传递的参数的数据。

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

注意:这适用于“导入查询”选项。

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

【讨论】:

  • 这个答案仍在展示如何使用存储过程——它粘贴在运行存储过程的“执行”语句中,而不是存储存储过程的内容。
  • 这不能将动态变量传递给过程,但至少这个答案是迄今为止在网上找到的最好的答案
【解决方案2】:

您可以使用 openquery。以下语法适用于 Power BI Desktop 中的导入数据和直接查询方法。

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

【讨论】:

  • 嘿 niraj,我在使用 OPENQUERY 执行时不断收到错误消息。 “Microsoft SQL:此版本的 SQL Server 不支持‘OPENQUERY’行集提供程序。”
  • 你使用的是哪个版本的sql server
  • 现在是 2021 年,Azure SQL Server 仍然不支持它。有任何想法吗?我收到与@AsafSavich 相同的错误
  • 我在尝试 DirectQuery Azure SQL 时也收到此错误,“Microsoft SQL:此版本的 SQL Server 不支持‘OPENQUERY’行集提供程序。”
【解决方案3】:

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

EXEC [dbo].[usp_NameOfYourStoredProcedure]

【讨论】:

【解决方案4】:

首先,我认为最好指出 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/

【讨论】:

  • 我只想指出,在 SQL 中编辑大型存储过程比尝试修改 Power BI 对查询所做的操作要容易得多,这看起来非常荒谬。
【解决方案5】:

“嗨,

  1. 在 Excel 工作簿中,打开“Power Query”选项卡。
  2. 然后选择“From Database”下拉按钮并选择“From SQL Server Database”
  3. 填写服务器和数据库文本框并单击确定
  4. 在导航器窗口中,双击所需的表
  5. 在查询编辑器窗口中,单击要显示的列。
  6. 点击关闭并选择“加载”按钮
  7. 连接到存储过程。
  8. 创建另一个电源窗口并填写服务器和数据库文本框。
  9. 在 SQL 语句文本框中,输入“EXECUTE  Procedure_Name”
  10. 单击关闭并加载按钮 "

【讨论】:

猜你喜欢
  • 2019-05-04
  • 1970-01-01
  • 1970-01-01
  • 2011-03-12
  • 2023-02-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多