Snowflake

总结

项目 说明
发布状态 正式版
产品 Power BI(语义模型)
Power BI(数据流)
Fabric(数据流 Gen2)
Power Apps(数据流)
支持的身份验证类型 Snowflake(用户名/密码), Microsoft 帐户 (Microsoft Entra ID)
功能参考文档

注意

由于部署计划和特定于主机的功能,某些功能可能只存在于一个产品中。

支持的功能

  • 导入
  • DirectQuery(Power BI 语义模型)
  • 高级选项
    • 指定要用作角色名称的文本值
    • 关系列
    • 连接超时(秒)
    • 命令超时(秒)
    • 数据库
    • 本机 SQL 语句

从 Power Query Desktop 连接到 Snowflake 数据仓库

要连接到 Snowflake 计算仓库,请执行以下步骤:

  1. 从 Power BI Desktop 的主页功能区中选择获取数据,从左侧的类别中选择数据库,选择 Snowflake,然后选择连接

    “获取数据”对话框的屏幕截图,其中显示了 Snowflake 数据库选择。

  2. 在显示的 Snowflake 窗口中,在服务器中输入 Snowflake 服务器的名称,然后在仓库中输入 Snowflake 计算仓库的名称。

    Snowflake 对话框的屏幕截图,其中显示了选中的“导入”单选按钮。

  3. (可选)在要用于修改连接查询的任何高级选项中输入值,例如要用作角色名称或命令超时的文本值。 详细信息:使用高级选项进行连接

  4. 选择“确定”

  5. 要登录到 Snowflake 计算仓库,请输入用户名和密码,然后选择连接

    Snowflake 凭据提示的屏幕截图,其中显示了“用户名”和“密码”字段。

    注意

    输入特定 Snowflake 服务器的用户名和密码之后,Power BI Desktop 即可在后续连接尝试中使用这些凭据。 可通过文件 > 选项和设置 > 数据源设置来修改这些凭据。 详细信息:更改身份验证方法

    如果要使用 Microsoft 帐户选项,必须在 Snowflake 端配置 Snowflake Microsoft Entra ID 集成。 详细信息:Power BI SSO 到 Snowflake - 入门

  6. 导航器中,选择要在 Power BI Desktop 中导入和使用的一个或多个元素。 然后选择加载以在 Power BI Desktop 中加载表;或选择转换数据以打开 Power Query 编辑器,可在其中筛选和优化要使用的数据集,然后将该优化数据集加载到 Power BI Desktop 中。

    导航器的屏幕截图,其中打开了测试架构数据库,并且选中了 DimProduct 表。

  7. 选择导入以将数据直接导入到 Power BI 中,或选择 DirectQuery,然后选择确定。 详细信息:在 Power BI Desktop 中使用 DirectQuery

    注意

    Microsoft Entra ID 单一登录 (SSO) 仅支持 DirectQuery。

    连接设置的屏幕截图,其中包含导入和 DirectQuery 选择。

从 Power Query Online 连接到 Snowflake 数据库

请执行以下步骤来建立连接:

  1. 在连接器选择中选择 Snowflake 选项。

  2. 在显示的 Snowflake 对话框中,输入服务器和仓库的名称。

    Power Query Online 中的 Snowflake 连接生成器。

  3. 在要使用的高级选项中输入任何值。 如果 UI 中未表示任何高级选项,稍后可以在 Power Query 的高级编辑器中编辑它们。

  4. 输入连接凭据,包括选择或创建新连接、要使用的网关以及用户名和密码。

  5. 选择“下一步”以连接到数据库。

  6. “导航器”中选择所需的数据,然后选择“转换数据”以在 Power Query 编辑器中转换数据。

    在线导航器的屏幕截图,其中打开了测试架构数据库,并且选中了 DimProduct 表。

使用高级选项进行连接

Power Query 提供一组高级选项,可以根据需要将这些选项添加到查询中。

下表列出了可以在 Power Query 中设置的所有高级选项。

高级选项 说明
角色名称 指定报表通过驱动程序使用的角色。 此角色必须可供用户使用,否则不会设置任何角色。
包含关系列 如果选中此框,则会包含可能与其他表存在关系的列。 如果清除此框,则你看不到这些列。
连接超时(秒) 指定在返回错误之前与 Snowflake 服务交互时等待响应的时间。 默认值为 0(无超时)。
命令超时(秒) 指定在返回错误之前等待查询完成的时间。 默认值为 0(无超时)。
数据库 指定仓库中的特定数据库。 此选项仅在 Power Query Desktop 中可用。
SQL 语句 有关信息,请参阅使用本机数据库查询从数据库导入数据。 此选项仅在 Power Query Desktop 中可用。

选择所需的高级选项后,在 Power Query Desktop 中选择确定,或在 Power Query Online 中选择下一步,以连接到 Snowflake 数据库。

故障排除

错误:SQL 编译错误:对象不存在,或者无法执行操作

当系统找不到指定的对象时,会发生此错误。 通常,此错误是由于用户将无效的数据库名称设置为其默认数据库造成的。

确保对属性 DEFAULT_NAMESPACE 使用有效的默认数据库名称:DESC USERusername

更新默认的数据库名称:alter userusername set DEFAULT_NAMESPACE=<database name>.<schema name>。 有关详细信息,请参阅 Snowflake 文档 - https://docs.snowflake.com/en/sql-reference/sql/alter-user

限制和已知问题

数据库名称中的连字符

如果数据库名称中具有连字符,则可能会遇到 ODBC: ERROR[42000] SQL compilation error。 此问题在 2024 年 9 月版本中得到解决。

布尔数据类型的切片器视觉对象

布尔数据类型的切片器视觉对象在 2024 年 6 月版本中没有按预期运行。 这是已知问题。 作为临时解决方案,用户可以通过导航到以下位置来将报表中的布尔数据类型转换为文本:“传输”->“数据类型”->“文本”。 2024 年 10 月版本中将提供修补程序。

其他信息