Supabase 与 PowerBI 仪表板
发布: (2025年12月11日 GMT+8 22:54)
3 min read
原文: Dev.to
Source: Dev.to
实时销售与库存仪表盘
一个全栈商业智能演示,集成 Supabase(PostgreSQL)作为云后端,Microsoft Power BI 作为前端数据可视化。该项目演示了如何实时跟踪销售收入并监控库存水平。
项目概览
- 后端: Supabase(PostgreSQL),托管在 AWS。
- 前端: Microsoft Power BI Desktop。
- 目标: 使用云数据可视化销售趋势、类别表现以及低库存警报。
技术栈
- Supabase – 开源的 Firebase 替代方案(PostgreSQL 数据库)。
- Power BI Desktop – 数据可视化工具。
设置说明
第 1 部分:Supabase 设置(后端)
- 在 Supabase 上创建一个新项目。
- 在左侧侧栏进入 SQL Editor。
- 运行以下 SQL 脚本以创建模式并填充示例数据:
-- 1. Create Tables
CREATE TABLE public.products (
id SERIAL PRIMARY KEY,
name TEXT NOT NULL,
category TEXT NOT NULL,
unit_price DECIMAL(10, 2) NOT NULL,
stock_quantity INT NOT NULL,
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
);
CREATE TABLE public.orders (
id SERIAL PRIMARY KEY,
product_id INT REFERENCES public.products(id),
quantity INT NOT NULL,
total_amount DECIMAL(10, 2) NOT NULL,
order_date DATE NOT NULL DEFAULT CURRENT_DATE
);
-- 2. Insert Dummy Data
INSERT INTO public.products (name, category, unit_price, stock_quantity)
VALUES
('Wireless Mouse', 'Electronics', 25.50, 150),
('Mechanical Keyboard', 'Electronics', 85.00, 40),
('Gaming Monitor', 'Electronics', 300.00, 15),
('Ergonomic Chair', 'Furniture', 150.00, 10),
('Desk Lamp', 'Furniture', 45.00, 80),
('USB‑C Cable', 'Accessories', 12.00, 200);
INSERT INTO public.orders (product_id, quantity, total_amount, order_date)
VALUES
(1, 2, 51.00, CURRENT_DATE - INTERVAL '3 days'),
(2, 1, 85.00, CURRENT_DATE - INTERVAL '3 days'),
(1, 1, 25.50, CURRENT_DATE - INTERVAL '2 days'),
(3, 1, 300.00, CURRENT_DATE - INTERVAL '2 days'),
(5, 4, 180.00, CURRENT_DATE - INTERVAL '1 day'),
(4, 1, 150.00, CURRENT_DATE),
(6, 10, 120.00, CURRENT_DATE);
第 2 部分:Power BI 连接(前端)
-
在 Supabase 中启用连接池:
- 前往 Project Settings → Database。
- 打开 Use connection pooling 并将 Mode 设置为 Session。
- 复制 Pooler Host(例如
aws-0-us-east-1.pooler.supabase.com)以及数据库用户。
-
在 Power BI 中连接:
- 获取数据 → PostgreSQL 数据库
- 服务器: 粘贴 Pooler Host URL。
- 数据库:
postgres。 - 数据连接模式:
Import。 - 身份验证: 数据库(用户名/密码)。
仪表盘可视化
- KPI 卡片: 总销售收入(
total_amount的求和)。 - 饼图: 按类别的销售分布(电子产品 vs. 家具)。
- 表格: 低库存警报(
stock_quantity< 20 的商品)。

初始仪表盘视图。

数据库模式图。
故障排除
“The remote certificate is invalid”
Supabase 使用 SSL,Power BI 可能默认拒绝该证书。
解决办法:
文件 → 选项和设置 → 数据源设置 → 选择数据源 → 编辑权限 → 取消勾选 Encrypt connections。
“Host not found”
确保使用的是 Pooler URL(端口 5432 或 6543),该地址在 Supabase 数据库设置中,而不是直接的连接字符串。