Power BI
Microsoft Power BI 可以从 ClickHouse Cloud 或自托管部署中查询数据,或将数据加载到内存中。
可以使用多种 Power BI 产品形态来可视化数据:
- Power BI Desktop:用于创建仪表板和可视化的 Windows 桌面应用程序
- Power BI Service:在 Azure 中以 SaaS 形式提供,用于托管在 Power BI Desktop 中创建的仪表板
Power BI 要求先在 Desktop 版本中创建仪表板,然后将其发布到 Power BI Service。
本教程将指导完成以下步骤:
- 安装 ClickHouse ODBC 驱动
- 在 Power BI Desktop 中安装 ClickHouse Power BI Connector
- 从 ClickHouse 查询数据并在 Power BI Desktop 中进行可视化
- 为 Power BI Service 设置本地数据网关
先决条件
安装 Power BI
本教程假定您已在 Windows 机器上安装了 Microsoft Power BI Desktop。您可以在此处下载并安装 Power BI Desktop。
我们建议将 Power BI 更新到最新版本。ClickHouse Connector 从版本 2.137.751.0 起默认可用。
准备 ClickHouse 连接信息
连接到 ClickHouse 实例时,您需要以下信息:
- Hostname - ClickHouse 主机名
- Username - 用户名(用户凭证)
- Password - 该用户的密码
- Database - 要连接的实例上的数据库名称
Power BI 桌面版
要在 Power BI Desktop 中开始查询数据,你需要完成以下步骤:
- 安装 ClickHouse ODBC 驱动程序
- 找到 ClickHouse 连接器
- 连接到 ClickHouse
- 查询并可视化数据
安装 ODBC 驱动程序
下载最新的 ClickHouse ODBC 发布版本。
运行提供的 .msi 安装程序,并按照向导提示完成安装。

Debug symbols 为可选项,并非必需
验证 ODBC 驱动程序
驱动程序安装完成后,你可以通过以下方式验证安装是否成功:
在开始菜单中搜索 ODBC,并选择 “ODBC Data Sources (64-bit)”。

确认列表中已显示 ClickHouse 驱动程序。

查找 ClickHouse 连接器
在 Power BI Desktop 版本 2.137.751.0 中提供
在 Power BI Desktop 启动界面上,单击 “Get Data”。

搜索 “ClickHouse”。

连接到 ClickHouse
选择该连接器,并输入 ClickHouse 实例的连接信息:
- Host(必填)- 实例的域名/地址,请确保不要添加任何前缀或后缀。
- Port(必填)- 实例端口。
- Database - 数据库名称。
- Options - 任意 ODBC 选项,如 ClickHouse ODBC GitHub 页面 中所列。
- Data Connectivity mode - DirectQuery

我们建议选择 DirectQuery,以便直接在 ClickHouse 上执行查询。
如果你的使用场景数据量较小,可以选择导入模式(import mode),所有数据都会加载到 Power BI 中。
- 指定用户名和密码

查询和可视化数据
最后,你应该可以在 Navigator 视图中看到数据库和表。选择所需的表并单击 “Load”, 即可从 ClickHouse 导入数据。

导入完成后,你的 ClickHouse 数据将在 Power BI 中像平常一样可供访问和使用。
Power BI 服务
若要使用 Microsoft Power BI 服务,您需要创建一个本地数据网关。
关于如何配置自定义连接器的更多信息,请参阅 Microsoft 关于在本地数据网关中使用自定义数据连接器的文档。
ODBC 驱动程序(仅导入)
我们推荐使用采用 DirectQuery 的 ClickHouse Connector。
在本地数据网关实例上安装ODBC 驱动程序,并按照上文所述进行验证。
创建新的用户 DSN
当驱动程序安装完成后,就可以创建一个 ODBC 数据源。在开始菜单中搜索 ODBC,并选择 "ODBC Data Sources (64-bit)"。

我们需要在这里新增一个用户 DSN。点击左侧的 "Add" 按钮。

选择 ODBC 驱动程序的 Unicode 版本。

填写连接信息。

如果你使用的是启用 SSL 的部署(例如 ClickHouse Cloud 或自管实例),则需要在 SSLMode 字段中填写 require。
Host一项中必须始终省略协议(即不包含http://或https://)。Timeout是一个以秒为单位的整数。默认值:30 秒。
将数据导入 Power BI
如果你尚未安装 Power BI,下载并安装 Power BI Desktop。
在 Power BI Desktop 启动界面,点击 "Get Data"。

选择 "Other" -> "ODBC"。

从列表中选择之前创建的数据源。
如果你在创建数据源时没有指定凭据,系统会提示你输入用户名和密码。
最后,你应该可以在 Navigator 视图中看到数据库和表。选择需要的表并点击 "Load",即可从 ClickHouse 导入数据。

导入完成后,你的 ClickHouse 数据就可以像往常一样在 Power BI 中进行访问了。
已知限制
UInt64
像 UInt64 或更大的无符号整数类型不会自动加载到数据集中,因为 Power BI 支持的最大整数类型为 Int64。
为确保正确导入数据,在导航器中点击“Load”按钮之前,请先点击“Transform Data”。
在此示例中,pageviews 表中有一个 UInt64 列,默认被识别为“Binary”。
“Transform Data”会打开 Power Query 编辑器,我们可以在其中重新设置该列的类型,例如将其设置为 Text。

完成后,点击左上角的“Close & Apply”,然后继续加载数据。