Truy vấn SQL trong Excel

Bạn đã bao giờ làm việc với dữ liệu trong Excel và tự nghĩ. “Điều này sẽ dễ thực hiện hơn rất nhiều với SQL”?

Với công cụ mà tôi sắp giới thiệu cho bạn, bạn thực sự có thể sử dụng SQL trong Excel. Nó tiện lợi, mạnh mẽ và thậm chí còn đi kèm với intellisense

Cái nhìn đầu tiên

Công cụ tôi đang đề cập đến có tên là QueryStorm. Hãy để tôi cho bạn thấy nó trông như thế nào…

Gọn gàng, phải không?

Công cụ SQL của QueryStorm hoạt động với các bảng Excel như thể chúng là các bảng cơ sở dữ liệu

Lưu ý rằng QueryStorm hoạt động với bảng Excel chứ không phải trang tính. Điều này là do các trang tính có thể có các ô, nút, hình ảnh và các đối tượng khác được hợp nhất không thuộc cơ sở dữ liệu

Truy vấn SQL trong Excel
Chọn phạm vi ô chứa dữ liệu và nhấn Ctrl+T để chuyển đổi nó thành bảng

bảng truy vấn

Để bắt đầu truy vấn một bảng Excel, chỉ cần nhấp vào nút SQL trong dải băng Excel

Truy vấn SQL trong Excel
Bắt đầu một tập lệnh SQL mới

Điều này sẽ mở ra một tập lệnh SQL mới trong QueryStorm IDE mà bạn có thể sử dụng để bắt đầu truy vấn các bảng Excel của mình

Truy vấn SQL trong Excel
Truy vấn bảng Excel bằng SQL

Về cơ bản, QueryStorm sử dụng công cụ cơ sở dữ liệu SQLite. Vì SQLite là một công cụ cơ sở dữ liệu SQL chính thức, nên tất cả các tính năng mà bạn mong đợi từ cơ sở dữ liệu SQL đều có sẵn trong QueryStorm. Điều này bao gồm các phép nối, nhóm, tổng hợp và thậm chí cả các chức năng cửa sổ

Đang cập nhật bảng

QueryStorm không sao chép dữ liệu của bạn vào cơ sở dữ liệu SQLite. Thay vào đó, nó hiển thị trực tiếp các bảng Excel cho công cụ SQLite thông qua lớp bộ điều hợp tùy chỉnh

Điều này có nghĩa là khi bạn sử dụng câu lệnh CHÈN/CẬP NHẬT/XÓA để sửa đổi dữ liệu trong bảng, các thay đổi sẽ hiển thị ngay lập tức trong Excel

Điều này giúp bạn dễ dàng dọn dẹp và xử lý dữ liệu sổ làm việc tại chỗ mà không cần phải nhập dữ liệu vào cơ sở dữ liệu và xuất lại vào Excel

Người dùng quen thuộc hơn với tab Dữ liệu trong ruy-băng Excel chắc chắn có thể sử dụng Power Query để thực hiện các thao tác như nối và hợp nhất bảng cũng như xóa dữ liệu nhưng sử dụng SQL theo cách này thường thuận tiện hơn và mạnh mẽ hơn nhiều

IDE

Khả năng chạy các truy vấn SQL là tuyệt vời, nhưng để chức năng này thực sự hữu ích, trải nghiệm chỉnh sửa mã phải thuận tiện và dễ chịu cho người dùng

Đây là nơi trình chỉnh sửa mã của QueryStorm tỏa sáng với các tính năng nâng cao như

  • hoàn thành mã
  • đánh dấu cú pháp
  • làm nổi bật lỗi
  • khớp khung
  • đoạn mã
  • định dạng mã
  • sao mở rộng
Truy vấn SQL trong Excel
Đoạn mã, đánh dấu cú pháp, hoàn thành mã, đánh dấu lỗi
Truy vấn SQL trong Excel
Định hướng cột
Truy vấn SQL trong Excel
Mở rộng dấu sao

Các tính năng này mang lại trải nghiệm tuyệt vời cho người dùng, nhưng chúng cũng giúp ích cho những người dùng Excel không có kỹ thuật quan tâm đến việc học SQL. Khả năng làm việc với dữ liệu cả từ giao diện người dùng Excel cũng như từ mã, cùng với các tính năng IDE như hoàn thành mã làm cho QueryStorm trở thành một công cụ tuyệt vời để dạy và học SQL

Còn hiệu suất thì sao?

Hiệu suất bị ảnh hưởng bởi số lượng dữ liệu được trả về và khối lượng công việc mà truy vấn SQL đang thực hiện. Hãy cùng xem xét cả hai khía cạnh…

Thông lượng dữ liệu

Như một ví dụ về thông lượng dữ liệu, trên máy tính xách tay một năm tuổi của tôi (i7, 11850h), một truy vấn chọn đơn giản trả về 100 nghìn hàng và 10 cột mất khoảng 0. 6 giây để thực hiện. Điều này đủ nhanh để bạn hiếm khi phải lo lắng về nó

Truy vấn SQL trong Excel

Khi xử lý các tập dữ liệu lớn, một điều quan trọng cần cân nhắc là phiên bản Excel đã cài đặt là 32 bit hay 64 bit. Phiên bản 32-bit của Excel có giới hạn cứng là ~3GB bộ nhớ khả dụng, có thể hoạt động với các bộ dữ liệu lớn. Bạn nên sử dụng phiên bản Excel 64 bit để tránh các loại sự cố này

Tự động lập chỉ mục các cột

Ngay cả khi kết quả không lớn, một truy vấn SQL vẫn có thể mất nhiều thời gian để thực thi trong trường hợp nó đang thực hiện nhiều công việc. Ví dụ: nối hai bảng lớn thông thường sẽ là một thao tác mất nhiều thời gian vì đối với mỗi hàng trong bảng A, chúng tôi cần quét toàn bộ bảng B để tìm các hàng phù hợp

Tuy nhiên, để thực hiện nhanh các loại truy vấn này, tất cả các cột đều được lập chỉ mục tự động. Điều này làm cho việc nối bảng (và lọc bảng nói chung) cực kỳ nhanh

Vẫn có thể viết một truy vấn sẽ hoạt động kém (e. g. tham gia các bảng lớn bằng cách khớp một phần các chuỗi sẽ ngăn việc sử dụng chỉ mục) nhưng các trường hợp khi bạn cần thực hiện điều này là khá hiếm

Hàm Query() trong Excel

Cho đến nay, tôi đã thảo luận về khía cạnh IDE của QueryStorm. Nhưng bạn cũng có thể sử dụng SQL trong Excel như một hàm thông qua hàm Query() mà bạn có thể lấy từ cửa hàng tiện ích mở rộng QueryStorm

Truy vấn SQL trong Excel

Hàm này hoạt động tương tự như hàm query() trong Google sheet, ngoại trừ nó mạnh hơn ở chỗ bạn có thể làm việc với nhiều bảng và nó hỗ trợ SQL đầy đủ

Đây là một hàm mảng động nên nó yêu cầu Excel 365 để có thể hiển thị kết quả

Kết quả có thể tự động làm mới (tùy chọn), do đó, mỗi khi bạn cập nhật một trong các bảng Excel nguồn, kết quả của hàm sẽ tự động cập nhật

Đây là video hiển thị chức năng đang hoạt động

Sử dụng hàm Query() không yêu cầu giấy phép cho QueryStorm IDE. Nó thậm chí không yêu cầu cài đặt IDE. Tất cả những gì cần thiết là thời gian chạy QueryStorm miễn phí mà bạn sử dụng để cài đặt và chạy Windy. gói truy vấn

Chức năng Truy vấn sử dụng cùng một công cụ SQLite dưới mui xe, vì vậy hiệu suất giống như trong IDE

Kết nối với cơ sở dữ liệu bên ngoài

Ngoài việc sử dụng công cụ SQLite, QueryStorm còn hỗ trợ kết nối với cơ sở dữ liệu SQL bên ngoài bao gồm SQL Server, MySQL, Postgres, Oracle, Access, v.v… Điều này giúp dễ dàng truy vấn và nhập dữ liệu cơ sở dữ liệu từ Excel

Khả năng hiển thị dữ liệu hai chiều

Ngoài cách đọc dữ liệu cơ sở dữ liệu từ Excel, chúng ta cũng có thể làm ngược lại i. e. làm cho dữ liệu Excel hiển thị với cơ sở dữ liệu. Khi kết nối, bạn có thể chọn bảng Excel nào sẽ được kéo vào cơ sở dữ liệu dưới dạng bảng tạm thời. Điều này cho phép bạn truy vấn các bảng Excel cùng với các bảng cơ sở dữ liệu, biến việc nhập và xuất dữ liệu giữa Excel và cơ sở dữ liệu trở thành một nhiệm vụ đơn giản

Hàm cơ sở dữ liệu Excel

Một điều thú vị khác mà bạn có thể làm là sử dụng SQL để viết các hàm Excel tùy chỉnh trả về dữ liệu từ cơ sở dữ liệu

Bạn có thể tự mình sử dụng các chức năng này nhưng bạn cũng có thể xuất bản chúng để cung cấp cho đồng nghiệp và khách hàng của mình

Để cài đặt và sử dụng chúng, họ chỉ cần cài đặt thời gian chạy QueryStorm

định giá

QueryStorm IDE yêu cầu giấy phép sử dụng. Tuy nhiên, phiên bản cộng đồng miễn phí có sẵn cho mục đích sử dụng cá nhân và cho các công ty nhỏ. Các công ty có doanh thu hàng năm trên 1 triệu đô la yêu cầu giấy phép trả phí, tuy nhiên, bản dùng thử miễn phí 14 ngày mở khóa tất cả các tính năng có sẵn để đánh giá ở các công ty lớn hơn. Xem trang giá để biết thêm chi tiết

Tuy nhiên, thời gian chạy QueryStorm hoàn toàn miễn phí. Nó không yêu cầu giấy phép để làm việc. Đó là một trình cài đặt nhỏ 4 MB và sau khi được cài đặt, nó sẽ cho phép người dùng tải xuống và chạy các gói như Windy. Truy vấn chứa hàm Truy vấn (sql)

Phần kết luận

QueryStorm là một phần bổ trợ dành cho Excel cho phép bạn chạy các truy vấn SQL trực tiếp đối với các bảng Excel của mình. Nó đi kèm với một công cụ SQLite có thể hoạt động với các bảng Excel và một IDE giúp chỉnh sửa mã nhanh chóng và thú vị

Nó là một công cụ tuyệt vời để xử lý dữ liệu và dạy/học SQL

Cho dù bạn là nhà phát triển phần mềm, nhà phân tích dữ liệu, nhà khoa học dữ liệu hay người dùng doanh nghiệp, QueryStorm là một công cụ tuyệt vời cần có trong hộp công cụ của bạn. Hãy tiếp tục và dùng thử, nó miễn phí

Tìm kiếm Blog…

Danh mục blog

C# (3) Phát triển (4) Hàm Excel (2) SQL trong Excel (2) SQLite (2) Câu chuyện (1) Chưa được phân loại (1) Trường hợp sử dụng (4) Ứng dụng QueryStorm (3)