HƯỚNG DẪN KẾT NỐI POWER BI VỚI SUPABASE DATABASE QUA REST API & API KEYS

HƯỚNG DẪN KẾT NỐI POWER BI VỚI SUPABASE DATABASE QUA REST API & API KEYS

HƯỚNG DẪN KẾT NỐI POWER BI VỚI SUPABASE DATABASE QUA REST API & API KEYS

Giới thiệu

Trong thời đại phân tích dữ liệu hiện nay, việc kết nối một hệ thống cơ sở dữ liệu linh hoạt như Supabase với công cụ phân tích mạnh mẽ như Power BI là nhu cầu phổ biến của doanh nghiệp và các nhóm dữ liệu.

Với bản Free, Supabase không cấp quyền truy cập PostgreSQL trực tiếp, vì vậy kết nối Power BI bắt buộc thông qua REST API. Bài viết này cung cấp hướng dẫn chi tiết để bạn kết nối Power BI với Supabase một cách bảo mật, hiệu quả và tối ưu.

Supabase là gì?

Supabase là một nền tảng Backend-as-a-Service (BaaS) mã nguồn mở được xây dựng dựa trên PostgreSQL, hướng đến việc cung cấp một hạ tầng backend hiện đại, đơn giản, mạnh mẽ và dễ mở rộng. 

Với Supabase: Bạn chỉ cần tạo một dự án trên Supabase và định nghĩa các bảng (projects, tasks, users) thông qua giao diện quản trị trực quan hoặc bằng SQL. Sau đó:

  • Supabase tự động tạo API RESTful cho tất cả các bảng

  • Bạn có thể thiết lập quyền truy cập bằng Row Level Security

  • Kích hoạt hệ thống xác thực chỉ với vài cú nhấp chuột

  • Sử dụng Storage để lưu trữ tệp đính kèm

  • Kích hoạt tính năng Realtime để cập nhật dữ liệu theo thời gian thực

Supabase không chỉ giúp bạn tiết kiệm đáng kể thời gian ban đầu mà còn giảm thiểu công sức bảo trì lâu dài, vì bạn không cần phải quản lý cơ sở hạ tầng backend phức tạp mà lại còn có thể tự self host được.

Hướng dẫn kết nối Power BI với Supabase REST API

Bước 1: Nạp dữ liệu

Cách 1: Nạp dữ liệu bằng cách import file trực tiếp ngay trong giao diện

Bước 1.1: Vào Database → Table editor

Chọn bảng bạn muốn nạp dữ liệu. Nếu chưa có bảng → nhấn Create table và tạo cấu trúc cột.

 

Bước 1.2: Lựa chọn Import data from CSV 

Bước 1.3: Tải lên file CSV trong phần Upload file CSV hoặc copy một bảng tính từ Google Sheets or Excel rồi dán vào phần Paste text sau đó ấn Save

 

Cách 2: Dùng SQL Editor để nạp dữ liệu

Sử dụng SQL để trực tiếp tạo bảng và thêm dữ liệu

Ngoài ra sẽ còn các cách để tải dữ liệu lên Supabase như sử dụng API của Supabase hoặc sử dụng Supabase Storage nhưng bài viết này hướng đến các kết nối Power BI với Supabase nên sẽ không đi sâu vào phần này.

 

Bước 2: Lấy API URL và anon key

Với API URL, vào Project Settings → Data API → Project URL

Project URL sẽ có dạng https://xxxxx.supabase.co

 

Với anon key, Project Settings → API Keys → Legacy anon, service_role API keys → anon public

 

Bước 3: Mở Power BI → Get Data → Web → Advanced

Thêm URL vào URL part ở dạng https://xxxx.supabase.co/rest/v1/[ten_bang]?select=*

Nhấn vào dấu 3 chấm ở bên phải dòng URL part thứ 2 và chọn Delete

Nhấn vào Add header và nhập theo bảng sau:

 

Header

Value

apikey

YOUR_PUBLISHABLE_KEY

Authorization

Bearer YOUR_PUBLISHABLE_KEY

 

Kết quả sau khi nhập các thông tin sẽ như hình dưới đây:

 

 

Nếu sau khi thêm bảng nhưng không thấy data của bảng có thể do Power BI nhận mảng rỗng [] vì RLS (Row Level Security) đang bật. Khi này cần chạy câu lệnh

ALTER TABLE ecommerce DISABLE ROW LEVEL SECURITY;  #Tắt RLS

 

#hoặc

CREATE POLICY "Allow public read"

ON ecommerce

FOR SELECT

TO public

USING (true);

 

ALTER TABLE ecommerce ENABLE ROW LEVEL SECURITY; #Tạo Policy cho Select