Làm chủ các tệp XML: Cấu trúc, Trường hợp sử dụng và Ưu điểm chính

Một tệp XML lưu trữ dữ liệu có cấu trúc dưới dạng các thẻ lồng nhau, dễ đọc đối với con người thay vì các hàng và cột. Microsoft mô tả định dạng này là "một công nghệ được thiết kế để quản lý và chia sẻ dữ liệu có cấu trúc trong một tệp văn bản dễ đọc đối với con người." Hướng dẫn này sẽ trình bày cách các tệp này được xây dựng, chúng đến từ đâu, cách các bảng tính xử lý chúng và cách tìm ra câu trả lời từ chúng.
Tệp XML là gì
Đây là một tệp văn bản thuần túy chứa cả dữ liệu và tên của các đối tượng mà nó mô tả. Một tệp xuất phân tách bằng dấu phẩy cung cấp cho bạn các giá trị và dựa vào hàng tiêu đề để hiểu ý nghĩa. Một tệp được gắn thẻ mang ý nghĩa nội dòng, ngay cạnh mỗi giá trị.
Thiết kế đó dẫn đến một hệ quả đáng để tìm hiểu trước tiên. Định dạng này có tính phân cấp, vì vậy một bản ghi có thể chứa các bản ghi khác, sâu nhiều cấp. Một bảng tính thì có dạng phẳng, và khoảng cách giữa hai dạng cấu trúc này chính là nơi phát sinh hầu hết các khó khăn trong thực tế.
Phần tổng quan của Microsoft đã tóm tắt mục đích trong một câu: định dạng này "giúp đơn giản hóa đáng kể việc định nghĩa, truyền tải, xác thực và diễn giải dữ liệu giữa các cơ sở dữ liệu, ứng dụng và tổ chức."
Cấu trúc hoạt động như thế nào
Các phần tử và sự lồng nhau
Mỗi giá trị nằm bên trong một phần tử có tên, và các phần tử có thể chứa các phần tử khác. Một hóa đơn có thể chứa một khối thông tin khách hàng, một danh sách các mục hàng và một khối tổng số, mỗi khối đều có các phần tử con riêng.
Việc lồng nhau chính là điểm mấu chốt. Nó ghi lại các mối quan hệ mà một bảng phẳng chỉ có thể biểu thị bằng cách lặp lại các giá trị trên các hàng.
Các thẻ tùy chỉnh
Tên thẻ không bị cố định bởi định dạng. Như phần tổng quan chính thức đã nêu, "các nhà thiết kế ứng dụng có thể tạo các thẻ, cấu trúc dữ liệu và lược đồ tùy chỉnh của riêng họ."
Đây là lý do tại sao hai tệp từ hai nhà cung cấp khác nhau có thể cùng mô tả một hóa đơn nhưng hầu như không dùng chung tên trường nào. Bất kỳ phân tích nào cũng phải bắt đầu bằng việc đọc hiểu ý nghĩa thực sự của các thẻ trước mắt bạn.
Lược đồ và xác thực
Một tệp lược đồ riêng biệt sẽ xác định các quy tắc. Microsoft mô tả trực tiếp sự kết hợp này. Các tệp dữ liệu "chứa các thẻ tùy chỉnh và dữ liệu có cấu trúc." Các tệp lược đồ "chứa các thẻ lược đồ áp đặt các quy tắc, chẳng hạn như kiểu dữ liệu và xác thực."
Các lược đồ sử dụng phần mở rộng .xsd. Tiêu chuẩn này cũng định nghĩa các tệp chuyển đổi với phần mở rộng .xslt, được mô tả là các tệp "được sử dụng để áp dụng các kiểu và chuyển đổi dữ liệu XML thành các định dạng trình bày khác nhau."
Các tệp này được dùng để làm gì
Bạn hiếm khi chủ động chọn định dạng này. Nó thường tự tìm đến bạn, xuất phát từ một hệ thống đã vận hành nhiều năm.
- Tài chính và ngân hàng. Các định dạng sao kê và thông điệp thanh toán thường được gắn thẻ thay vì phân tách bằng ký tự.
- Hóa đơn điện tử. Nhiều quy định bắt buộc về hóa đơn điện tử của các quốc gia chỉ định một tài liệu được gắn thẻ làm chứng từ pháp lý.
- Xuất dữ liệu ERP và nhân sự. Các hệ thống doanh nghiệp lâu đời thường xuất dữ liệu ở định dạng này theo mặc định.
- Nguồn cấp dữ liệu sản phẩm và nội dung. Các nguồn cấp danh mục bán lẻ và định dạng cung cấp nội dung đều dựa trên thẻ.
- Cấu hình và tài liệu Office. Các định dạng tệp Office hiện đại là các tập hợp được nén của các phần được gắn thẻ.
Mô hình chung của cả năm trường hợp trên đều giống nhau. Tệp này là một sản phẩm trung gian được tạo ra cho một máy khác đọc, chứ không phải là một tệp làm việc được tạo ra cho một nhà phân tích.
So sánh với các định dạng phẳng
| Tệp được gắn thẻ (.xml) | CSV | Parquet | |
|---|---|---|---|
| Hình dạng | Lồng nhau, nhiều cấp | Hàng và cột phẳng | Phẳng, hướng cột |
| Tên trường | Đi kèm nội dòng với từng giá trị | Chỉ có hàng tiêu đề | Được lưu trữ trong siêu dữ liệu của tệp |
| Xác thực | Tệp lược đồ tùy chọn áp đặt các kiểu dữ liệu | Không tích hợp sẵn | Các kiểu dữ liệu được lưu giữ trong lược đồ |
| Có thể đọc được trong trình soạn thảo văn bản | Có, mặc dù dài dòng | Có | Không |
| Kích thước điển hình cho cùng một dữ liệu | Lớn nhất | Trung bình | Nhỏ nhất |
| Nguồn thông thường | Các hệ thống doanh nghiệp và tiêu chuẩn trao đổi | Xuất dữ liệu và báo cáo | Nền tảng dữ liệu |
Nếu bạn thường xuyên làm việc với các định dạng này, các bài viết giải thích đi kèm của chúng tôi về tệp TSV và tệp Parquet sẽ đề cập đến khía cạnh phẳng của bảng đó.
Cách Excel xử lý định dạng này
Đây là nơi hầu hết các nhà phân tích tiếp cận định dạng này, và tài liệu chính thức mô tả cực kỳ rõ ràng về những gì sẽ xảy ra.
Đường dẫn nhập dữ liệu không nằm trên thanh ribbon chính. Hướng dẫn nhập của Microsoft là "Nhấp vào Developer > Import." Trang này cũng hướng dẫn người đọc các bước để hiển thị tab đó, vì nó bị ẩn theo mặc định.
Quy trình làm việc cơ bản, theo cách nói của Microsoft, gồm "năm giai đoạn." Bạn thêm một tệp lược đồ vào một workbook, sau đó ánh xạ các phần tử của nó vào các ô hoặc bảng. Bạn nhập tệp dữ liệu và liên kết các phần tử với các ô đã ánh xạ đó. Từ đó, bạn làm việc trong Excel và xuất dữ liệu đã sửa đổi ra ngoài.
Có hai hành vi quan trọng hơn cả.
Excel sẽ tự đoán lược đồ nếu bạn không cung cấp. Nếu bạn nhập dữ liệu mà không thêm lược đồ trước, "Excel sẽ cố gắng suy luận lược đồ cho bạn." Dự đoán đó "dựa trên các thẻ được định nghĩa trong tệp dữ liệu XML."
Dự đoán này sau đó sẽ được lưu cùng với workbook. Trang này cũng lưu ý rằng "bạn không thể xuất lược đồ suy luận của Excel thành một tệp dữ liệu lược đồ XML riêng biệt (.xsd)."
Cấu trúc lồng nhau sẽ bị làm phẳng khi đưa vào. Microsoft mô tả kết quả của việc mở ở chế độ chỉ đọc. Đó là "một bảng hai chiều với các hàng và cột hiển thị các thẻ XML dưới dạng tiêu đề cột." Phần tử gốc "được sử dụng giống như một tiêu đề."
Việc làm phẳng đó chính xác là những gì bạn muốn để phân tích và cũng chính xác là nơi ý nghĩa bị mất đi. Một cấu trúc phân cấp ba cấp trở thành các cột, và mối quan hệ giữa cha và con chỉ còn tồn tại trong cách đặt tên cho các thẻ.
Các ưu điểm chính
Dữ liệu tự giải thích. Tên trường đi kèm với các giá trị, vì vậy một tệp dù bị tách rời khỏi tài liệu hướng dẫn của nó vẫn có thể diễn giải được.
Xác thực là một phần của hệ sinh thái. Một lược đồ có thể áp đặt các kiểu dữ liệu và các trường bắt buộc trước khi dữ liệu đến tay bạn, điều mà không một tệp xuất phân tách thuần túy nào làm được.
Nó vượt qua ranh giới tổ chức. Như phần tổng quan chính thức lưu ý, định dạng này "tuân theo các hướng dẫn tiêu chuẩn của ngành và có thể được xử lý bởi nhiều cơ sở dữ liệu và ứng dụng khác nhau."
Tính phân cấp được bảo toàn. Một hóa đơn với mười hai mục hàng vẫn là một hóa đơn, thay vì mười hai hàng lặp lại các giá trị tiêu đề.
Các hạn chế đáng lưu ý
Sự dài dòng. Việc lặp lại tên thẻ xung quanh mỗi giá trị làm cho các tệp có kích thước lớn so với cùng một dữ liệu ở định dạng phẳng.
Tên thẻ không được tiêu chuẩn hóa giữa các nhà cung cấp. Các thẻ tùy chỉnh là một tính năng của định dạng này, và cái giá phải trả là mỗi nguồn dữ liệu mới đều cần phải được diễn giải lại.
Các bảng tính cần cấu trúc phân cấp được làm phẳng. Bất kỳ bảng xoay (pivot), biểu đồ hoặc công thức nào cũng đều yêu cầu một cấu trúc hình chữ nhật, vì vậy hình dạng dữ liệu phải thay đổi trước khi bắt đầu phân tích.
Việc nhập dữ liệu có thể thất bại khi xác thực. Microsoft lưu ý rằng "Excel sẽ hiển thị hộp thoại XML Import Error khi không thể xác thực dữ liệu theo XML Map." Điều đó buộc bạn phải quay lại kiểm tra lược đồ trước khi có thể bắt đầu.
Tìm ra câu trả lời mà không phải vật lộn với cấu trúc dữ liệu
Câu hỏi thực tế hiếm khi là "làm thế nào để tôi mở tệp này." Mà là "làm thế nào để tôi vẽ được biểu đồ từ nó trước chiều nay."
Con đường hiệu quả chính là con đường mà Excel đã gợi ý sẵn. Làm phẳng cấu trúc phân cấp thành một hình chữ nhật, quyết định cấp độ nào của cấu trúc phân cấp sẽ là một hàng, và phân tích từ đó.
Powerdrill Bloom chấp nhận tải lên các tệp Excel, CSV, PDF và tài liệu, vì vậy tệp nguồn được gắn thẻ nên được chuyển đổi thành CSV hoặc một workbook trước. Việc tự mở ở chế độ chỉ đọc của Excel sẽ tạo ra chính xác hình chữ nhật đó, và bất kỳ bước chuyển đổi nào trong công cụ dữ liệu của bạn cũng vậy.
Khi dữ liệu đã phẳng, việc phân tích sẽ trở nên bình thường. Trang trợ lý AI cho CSV mô tả con đường đó. Trang bảng giá tóm tắt kết quả: đặt câu hỏi trên toàn bộ dữ liệu của bạn và "nhận câu trả lời có cơ sở kèm theo biểu đồ, bảng và tệp xuất." Nếu bạn muốn có biểu đồ cụ thể, bài hướng dẫn từng bước của chúng tôi về cách chuyển đổi tệp CSV thành biểu đồ sẽ trình bày chi tiết từ đầu đến cuối.
Có một quyết định cần cân nhắc kỹ lưỡng trước khi bạn chuyển đổi. Hãy chọn độ chi tiết của hàng một cách có chủ đích. Một hàng cho mỗi mục hàng và một hàng cho mỗi hóa đơn sẽ trả lời cho các câu hỏi khác nhau.
Kết luận
Định dạng này dài dòng, tự mô tả và có tính phân cấp, và ba đặc tính đó giải thích cho mọi thứ khác khi làm việc với nó. Nó rất tuyệt vời để di chuyển dữ liệu giữa các tổ chức nhưng lại khá bất tiện khi phân tích dữ liệu bên trong một tổ chức.
Hãy coi việc chuyển đổi là một quyết định thay vì một công việc tẻ nhạt. Chọn cấp độ sẽ trở thành một hàng, và giữ nguyên tên thẻ làm tiêu đề cột. Sau đó, công việc cũng giống như bất kỳ phân tích bảng tính nào khác.
Bạn đang có sẵn một trong những tệp này trong thư mục ngay lúc này? Hãy dùng thử Powerdrill Bloom trên tệp xuất đã được làm phẳng và xem biểu đồ trước khi bạn đầu tư xây dựng một quy trình xử lý dữ liệu.
Câu hỏi thường gặp
Tệp XML được dùng để làm gì?
Nó được sử dụng để di chuyển dữ liệu có cấu trúc giữa các hệ thống và tổ chức. Các nguồn phổ biến bao gồm thông điệp ngân hàng, hóa đơn điện tử, tệp xuất ERP và nhân sự, nguồn cấp dữ liệu sản phẩm bán lẻ và các phần nội bộ của tài liệu Office.
Sự khác biệt giữa XML và CSV?
Một bên có tính phân cấp và mang tên trường nội dòng với từng giá trị. Bên còn lại có dạng phẳng và dựa vào một hàng tiêu đề duy nhất. Định dạng được gắn thẻ cũng có thể được xác thực dựa trên một tệp lược đồ, điều mà tệp xuất phân tách bằng ký tự không thể làm được.
Làm cách nào để mở tệp XML trong Excel?
Con đường được tài liệu của Microsoft hướng dẫn là Developer > Import, và tab Developer bị ẩn theo mặc định. Bạn cũng có thể mở tệp ở chế độ chỉ đọc, chế độ này sẽ tạo ra một bảng hai chiều sử dụng các thẻ làm tiêu đề cột.
Tôi có cần tệp lược đồ để sử dụng dữ liệu không?
Không. Tài liệu của Microsoft nêu rõ rằng Excel sẽ cố gắng suy luận một lược đồ từ các thẻ khi không có lược đồ nào được cung cấp. Lược đồ suy luận này được lưu giữ cùng với workbook và không thể xuất thành một tệp .xsd riêng biệt.
XSLT là gì?
Microsoft mô tả nó là một tiêu chuẩn chuyển đổi được định nghĩa cùng với định dạng dữ liệu. Nó sử dụng các tệp .xslt "để áp dụng các kiểu và chuyển đổi dữ liệu XML thành các định dạng trình bày khác nhau."