[Excel] Create, Export and Import ODC file

Trong môi trường làm việc với dữ liệu ngày nay, việc kết nối và chia sẻ nguồn dữ liệu một cách linh hoạt và hiệu quả là nhu cầu thiết yếu. File ODC (Office Data Connection) đóng vai trò quan trọng trong việc lưu giữ và tái sử dụng cấu hình kết nối dữ liệu trong Excel, giúp người dùng dễ dàng quản lý và làm việc với các nguồn dữ liệu bên ngoài như SQL Server, Access hay OLAP. Tuy nhiên, khi chuyển sang làm việc với Power BI – một công cụ phân tích dữ liệu mạnh mẽ – việc sử dụng và liên kết file ODC gặp nhiều hạn chế và đòi hỏi những thao tác đúng kỹ thuật để đảm bảo tính chính xác và hiệu quả.

Bài viết này cung cấp hướng dẫn chi tiết và cập nhật về cách tạo, xuất, nhập file ODC trong Excel, đồng thời giải thích các bước chuyển đổi kết nối dữ liệu giữa Excel và Power BI, giúp bạn tận dụng tối đa các công cụ này trong công việc phân tích và báo cáo dữ liệu.

1. What ODC is

ODC (Office Data Connection) là tệp XML lưu trữ thông tin kết nối tới nguồn dữ liệu ngoài trong Excel (ví dụ: SQL Server, Access, OLAP, v.v.). File ODC giúp tái sử dụng, chia sẻ cấu hình kết nối mà không cần cấu hình lại nhiều lần. ODC không lưu toàn bộ logic Power Query/M code mà chỉ lưu thông tin kết nối nguồn dữ liệu.

Các file ODC được lưu trữ mặc định tại thư mục: \Documents\My Data Sources


2. Export ODC

Cách ➊
Bước 1: Mở Queries and Connections pane ➜ Right-click vào query cần xuất ➜ Export Connect File để xuất query đó. Sau đó chọn thư mục cần lưu

Cách
Tại tab Data ➜ chọn Properties để mở hộp thoại Query Properties ➜ chuyển sang tab Definition và chọn Export Connection File

Lưu ý: Chỉ các query dạng “Connection Only” hoặc có kết quả load vào sheet/bảng mới xuất được ODC. Nếu query phức tạp (có nhiều bước biến đổi với Power Query), file ODC chỉ lưu metadata kết nối chứ không lưu toàn bộ script chuyển đổi (M code).

3. Import ODC into Excel/Power BI

3.1. Import to Excel

Tại tab Data ➜ chọn Existing Connections để mở hộp thoại Exsiting Connections ➜ chuyển sang tab Connections và chọn Browse for More ➜ chọn file và đưa kết nối vào file Excel

3.2. Import to Power BI

Cho đến thời điểm mình viết bài này thì Power BI vẫn chưa hỗ trợ Get data từ file odc. Một số cách thay thế các bạn có thể áp dụng, nhưng vẫn không tốn nhiều thời gian đâu nhé.

3.2.1. Advanced Editor in Power Query Editor

Cách thực hiện đúng khi chuyển đổi dữ liệu từ Excel Power Query sang Power BI:

Bước 1:
Mở cửa sổ Adcanved Editor trong Power Query của Excel

Sao chép M code trong hộp thoại Advanced Editor

Bước 2:
Tại tab Home, sử dụng Transform data để mở cửa sổ Power Query Edtior

Bước 3:
Tại cửa sổ Power Query Editor, tạo một query trống bằng tính năng: New Source ➜ Blank Query

Bước 4:
Chọn Advanced Editor để mở cửa sổ Advanced Editor

Paste đoạn code copy từ Advanced Editor từ Power Query Editor trong Excel vào Advanced Editor trong Power Query Editor của Power BI ➜ chọn Done để tiến hành load và transform dữ liệu

Kiểm tra lại thông tin nguồn dữ liệu (authentication, path, quyền truy cập) vì ODC không truyền đầy đủ sang Power BI qua M code.

3.2.2 Import Power Query, Power Pivot, Power View to Power BI

Bước 1:
Tab FileImportPower Query, Power Pivot, Power View

Chọn Excel file có chứa truy vấn hoặc model muốn chuyển sang Power BI. Chỉ dữ liệu đã lưu trong Power Query hoặc Data Model mới nhập được, còn kết nối ODC độc lập không được nhận diện trực tiếp ➜ Power BI cảnh báo:
“Chúng tôi không làm việc trực tiếp với Excel, chúng tôi chỉ trích xuất dữ liệu để bạn có thể làm việc với chúng trong Power BI. Một file Power BI mới sẽ được tạo ra cho bạn, file này sẽ chứa dữ liệu bạn cần. Hành động này có thể mất vài phút”.
Nghĩa là, Power BI chỉ kết nối với dữ liệu bạn làm trong Power Query Editor chứ không lấy nội dung bên ngoài các sheets.

Nếu bạn đang mở kết nối này bên Excel, hãy lưu lại là tắt nó đi (tắt cả file Excel) để Power BI có thể sap chép dữ liệu

Quá trình sao chép dữ liệu sẽ diễn ra ngay sao khi bạn Start

Thông báo cho biết đã hoàn tất kết nối dữ liệu với query bên file Excel ➜ Close để bắt đầu công việc ➜ Dữ liệu sẽ đưa trực tiếp vào danh sách các Fields để bạn có thể kéo thả và trực quan hoá dữ liệu mà không cần phải transform và load lại từ đầu.

Chúc các bạn thành công!

Leave a comment