使用本机数据库查询从数据库导入数据

Power Query 使你可以灵活地从它支持的各种数据库导入数据。 它可以运行本机数据库查询,从而节省使用 Power Query 接口生成查询所需的时间。 此功能特别适用于使用已存在的复杂查询,并且你可能不想或知道如何使用 Power Query 接口重新生成。

注释

本机数据库查询的一个意图是非副作用。 但是,Power Query 不保证查询不会影响数据库。 如果运行其他用户编写的本机数据库查询,系统会提示确保知道将使用凭据进行评估的查询。 有关详细信息,请转到 本机数据库查询安全性

使用 Power Query,可以在连接到数据库时,在 “高级”选项 下的文本框中指定本机数据库查询。 在以下示例中,使用在 SQL 语句 文本框中输入的本机数据库查询从 SQL Server 数据库导入数据。 此过程与 Power Query 支持的本机数据库查询的所有其他数据库中类似。

  1. 使用 Power Query 连接到 SQL Server 数据库。 在连接器选择中选择 SQL Server 数据库 选项。

  2. SQL Server 数据库 弹出窗口中:

    1. 指定要使用本机数据库查询从中导入数据的 服务器数据库

    2. “高级选项”下,选择 “SQL 语句 ”字段并粘贴或输入本机数据库查询,然后选择“ 确定”。

      SQL Server 数据库对话框的屏幕截图,其中包含本机数据库查询。

  3. 如果第一次连接到此服务器,则会显示一个提示,提示选择用于连接到数据库的身份验证模式。 选择适当的身份验证模式,并继续。

    注释

    如果无权访问数据源(服务器和数据库),则会显示请求访问服务器和数据库的提示(如果在数据源的 Power BI 中指定了访问请求信息)。

  4. 如果建立连接,则会在 Power Query 编辑器中返回结果数据。

    根据需要调整数据,然后选择 “应用并关闭 ”以保存更改并导入数据。

支持本机数据库查询的连接器

以下 Power Query 连接器支持本机数据库查询。

Connector 本机数据库查询的类型
Amazon Redshift SQL 语句
Azure Analysis Services 数据库 MDX 或 DAX 查询
Azure Database for PostgreSQL SQL 语句
Azure Cosmos DB SQL 语句
Azure Synapse Analytics SQL 语句
Azure SQL 数据库 SQL 语句
DataWorld.Dataset dwSQL
Dataverse SQL 语句
Essbase MDX 语句
FHIR FHIR 搜索
谷歌BigQuery SQL 语句
IBM Db2 数据库 SQL 语句
IBM Informix 数据库 (Beta) SQL 语句
MySQL 数据库 SQL 语句
ODBC SQL 语句
OLE DB SQL 语句
Oracle 数据库 SQL 语句
PostgreSQL SQL 语句
SAP HANA 数据库 SQL 语句
Snowflake SQL 语句
SQL Server Analysis Services 数据库 MDX 或 DAX 查询
SQL Server 数据库 SQL 语句
TIBCO(R) 数据虚拟化(Beta 版) SQL 语句
维纳 (Beta) 模型查询 (MQL)

限制和问题

在使用本机数据库查询之前,应注意可能发生的限制和问题。

数据定义语言 (DDL)作

Power Query 不支持 对数据源执行数据定义语言(DDL)作。 例如,此类作的示例包括“DROP TABLE”、“CREATE TABLE”和“ALTER TABLE”。 尝试使用此类命令可能会导致多次失败和错误。

查询折叠

使用本机数据库查询时的查询折叠仅限于某些 Power Query 连接器。 有关详细信息,请转到 本机查询的查询折叠

本机数据库查询安全性

有时,当你尝试使用其他用户创建的查询或通过高级编辑器或编辑栏(实质上是显示本机查询输入框的连接器对话框之外的任何其他路径)时,可能会收到一条消息,指出:

本机数据库查询消息的屏幕截图。

如果出现此消息,请选择“ 编辑权限”。 此选择将打开 “本机数据库查询 ”对话框。 你有机会运行本机数据库查询或取消查询。

用于批准运行本机查询的本机数据库查询对话框的屏幕截图。

默认情况下,如果在连接器对话框外部运行本机数据库查询,则每次运行其他查询文本时都会提示你。 此提示可确保要执行的查询文本得到你批准。

注释

在 get 数据作中插入的本机数据库查询不会询问是否要运行查询。 他们只是运行。

如果在 Power BI Desktop 或 Excel 中运行本机数据库查询,则可以关闭本机数据库查询安全消息。 若要关闭安全消息,请:

  1. 如果使用 Power BI Desktop,请在“ 文件 ”选项卡下选择 “选项”和“设置 > 选项”。

    如果使用 Excel,请在 “数据 ”选项卡下选择“ 获取数据 > 查询选项”。

  2. “全局 设置”下,选择“ 安全性”。

  3. 清除 要求用户批准新的本机数据库查询

  4. 选择“确定”

还可以撤销以前在 Power BI Desktop 或 Excel 中为给定数据源批准的任何本机数据库查询的批准。 撤销审批:

  1. 如果使用 Power BI Desktop,请在“ 文件 ”选项卡下选择 “选项”和“设置 > 数据源设置”。

    如果使用 Excel,请在“ 数据 ”选项卡下选择“ 获取数据源 > 设置”。

  2. “数据源设置 ”对话框中,选择“ 全局权限”。 然后选择包含要撤销其审批的本机数据库查询的数据源。

  3. 选择 “编辑权限”。

  4. “编辑权限 ”对话框中的 “本机数据库查询”下,选择“ 撤销审批”。

    “编辑权限”对话框的屏幕截图,其中强调撤销审批。