Truy vấn SQL trong công thức Excel

Có lẽ bạn cũng đã từng làm việc trên một bảng tính chỉnh sửa rất chậm, trong đó mỗi lần nhấp chuột đi kèm với 10 giây màn hình của bạn bị đóng băng và bánh xe chết chóc quay tròn

Thông thường, các tệp lớn hoặc sổ làm việc chứa đầy công thức là nguyên nhân. Excel có thể xử lý tới một triệu hàng, nhưng khi bạn đang làm việc với một tập dữ liệu lớn hoặc thực hiện phân tích nhiệm vụ nặng nề—áp dụng công thức cho một loạt ô, liên kết nhiều bảng tính hoặc kết nối với các sổ làm việc khác—nó sẽ chậm lại trước khi bạn nhấn

Excel có một điểm yếu khác có thể dẫn đến sự kém hiệu quả. cấu trúc của nó quá linh hoạt. Điều đó nghe có vẻ hơi phản trực giác—tính linh hoạt là một trong những lý do khiến mọi người yêu thích Excel. Vì mỗi ô là một thực thể riêng nên bạn có nhiều quyền tự do thêm chú thích cuối trang, hợp nhất các ô lại với nhau hoặc vẽ một mẫu hình mũi kim

Tuy nhiên, nếu một ô có thể được thao tác dễ dàng, thì khó có thể tin tưởng vào tính toàn vẹn của toàn bộ bảng tính. Tính linh hoạt của Excel khiến việc thực thi tính nhất quán và chính xác trong các tập dữ liệu lớn gần như không thể. Cho dù bạn có cảnh giác đến đâu, cho dù bạn có lướt qua bảng tính bao nhiêu lần để tìm lỗi chính tả và công thức sai, thì bạn vẫn có thể bỏ sót điều gì đó

Thường có một công cụ tốt hơn cho công việc

Thưởng. Khai thác kiến ​​thức Excel của bạn để học SQL với các mẹo và thủ thuật nhanh này. Tải xuống sổ làm việc miễn phí của chúng tôi để tìm hiểu cách dịch các hàm chuyển sang Excel sang SQL

Lợi ích của việc chuyển đổi từ Excel sang SQL

Dữ liệu bạn đang làm việc trong Excel phải đến từ một nơi nào đó. Đó là một nơi nào đó là một cơ sở dữ liệu. Ngay cả khi bạn lấy dữ liệu từ thứ gì đó không mang tính kỹ thuật (nghĩ rằng Google Analytics, Stripe hoặc Salesforce), đằng sau hậu trường, bạn đang truy vấn cơ sở dữ liệu

Chúng tôi đã nhận được bao nhiêu lượt truy cập web trong tháng 1? . Là người sử dụng thành thạo Excel, bạn có thể nghĩ về cách bạn có thể viết những câu hỏi này dưới dạng công thức nếu được trang bị bộ dữ liệu phù hợp

Vậy làm thế nào để bạn truy vấn trực tiếp một cơ sở dữ liệu? . SQL cho cơ sở dữ liệu biết dữ liệu nào bạn muốn xem và thao tác bằng các phép tính

Bằng cách di chuyển một số tính toán ban đầu của bạn sang SQL, bạn có thể giảm lượng dữ liệu bạn xuất. Và với tập dữ liệu nhỏ hơn, bạn sẽ ít gặp phải các sự cố về hiệu suất Excel hơn

Khi bạn cảm thấy thoải mái hơn với SQL, bạn có thể chuyển ngày càng nhiều phân tích của mình sang SQL cho đến khi bạn đạt đến điểm mà Excel trở thành ngoại lệ, không phải quy tắc. Cơ sở dữ liệu SQL có thể xử lý lượng dữ liệu khổng lồ mà không gặp vấn đề về hiệu suất và có cấu trúc có trật tự để bảo vệ tính toàn vẹn của dữ liệu của bạn

Học một ngôn ngữ mới nghe có vẻ khó khăn—cũng như việc sử dụng các công cụ đơn giản có cảm giác kỹ thuật hơn. Nhưng với tư cách là người dùng Excel, bạn đã biết nhiều về SQL hơn bạn tưởng

Bảng tính, đáp ứng cơ sở dữ liệu quan hệ

Cơ sở dữ liệu là tập hợp dữ liệu có tổ chức. Có nhiều loại cơ sở dữ liệu khác nhau, nhưng loại cơ sở dữ liệu cụ thể mà SQL có thể giao tiếp được gọi là cơ sở dữ liệu quan hệ

Giống như sổ làm việc Excel bao gồm các bảng tính, cơ sở dữ liệu quan hệ bao gồm các bảng, như bảng bên dưới

excel-to-sql-2

Bảng có các hàng và cột giống như một bảng tính, nhưng trong một bảng, bạn không thể tương tác với từng ô (hoặc “giá trị” theo thuật ngữ cơ sở dữ liệu) riêng lẻ. Nếu bạn muốn loại trừ quê hương của Ralph Abernathy khỏi hàng trên cùng của bảng trên, bạn không thể xóa nó. Bạn phải loại trừ toàn bộ hàng hoặc toàn bộ cột “quê quán”

Lý do bạn không thể thay đổi các ô một cách nhanh chóng là vì cơ sở dữ liệu có cấu trúc cứng nhắc. Các giá trị trong mỗi hàng được liên kết với nhau dưới dạng một đơn vị. Mỗi cột phải có một tên duy nhất và chỉ có thể chứa một loại dữ liệu cụ thể ('Số nguyên', 'Văn bản', 'Ngày', v.v.)

Cấu trúc linh hoạt của Excel hiện tại nghe có vẻ khá tốt, nhưng hãy đợi đã. Do cấu trúc của cơ sở dữ liệu rất nghiêm ngặt nên việc bảo vệ tính toàn vẹn của dữ liệu sẽ dễ dàng hơn. Nói cách khác, ít có khả năng bạn sẽ gặp phải sự không nhất quán và sai sót. Và điều đó có nghĩa là bạn có thể tin tưởng hơn vào dữ liệu của mình

Từ công thức Excel đến truy vấn SQL

Cách phổ biến nhất để thao tác dữ liệu trong Excel là sử dụng công thức. Một công thức bao gồm một hoặc nhiều hàm cho Excel biết phải làm gì với dữ liệu trong một ô. Ví dụ: bạn có thể cộng các giá trị số với nhau bằng cách sử dụng SUM(A1:A5) hoặc lấy trung bình cộng bằng cách sử dụng AVERAGE(A1:A5)

Tương đương với SQL của một công thức là một truy vấn. Truy vấn để trả về bảng ở trên trông như thế này

SELECT player_name,
       hometown,
       state,
       weight
  FROM benn.college_football_players

SELECT và FROM là hai thành phần cơ bản của bất kỳ truy vấn SQL nào. SELECT chỉ định các cột dữ liệu bạn muốn và FROM cho biết chúng nằm trong bảng nào. Bạn thực sự có thể chọn hiển thị tất cả các cột bằng cách thêm dấu hoa thị (*) sau SELECT, như thế này

SELECT *
  FROM benn.college_football_players

Truy vấn này sẽ hiển thị cho bạn tất cả các cột trong bảng 

SELECT *
  FROM benn.college_football_players
1, vì vậy bạn có thể biết toàn bộ tập dữ liệu trông như thế nào. Khi bạn biết mình cần gì, bạn có thể nhanh chóng cắt các cột để giảm kích thước của tập dữ liệu

Giống như công thức, truy vấn bao gồm các hàm chỉ định thao tác dữ liệu. Truy vấn cũng có thể chứa các mệnh đề, toán tử, biểu thức và một vài thành phần khác, nhưng chúng ta sẽ không đi vào chi tiết ở đây. Điều bạn cần biết là bạn có thể sử dụng SQL để thao tác dữ liệu theo bất kỳ cách nào bạn thực hiện trong Excel

Lấy ví dụ về hàm 

SELECT *
  FROM benn.college_football_players
2. Bạn sử dụng 
SELECT *
  FROM benn.college_football_players
2 để tạo các câu lệnh có điều kiện nhằm lọc dữ liệu hoặc thêm dữ liệu mới dựa trên các quy tắc mà bạn xác định. Đây là giao diện của một hàm 
SELECT *
  FROM benn.college_football_players
4 khi bạn áp dụng nó cho một ô

SELECT *
  FROM benn.college_football_players
5

Bạn có thể đọc nó là 

SELECT *
  FROM benn.college_football_players
6. Phần 
SELECT *
  FROM benn.college_football_players
7, được hiển thị dưới dạng 
SELECT *
  FROM benn.college_football_players
8, là tùy chọn

Tương đương SQL của 

SELECT *
  FROM benn.college_football_players
2 là 
CASE WHEN  THEN 
     ELSE 
     END
0. Chúng có cú pháp rất giống nhau

CASE WHEN  THEN 
     ELSE 
     END

Câu lệnh

CASE WHEN  THEN 
     ELSE 
     END
0 dễ đọc hơn đáng kể so với câu lệnh 
SELECT *
  FROM benn.college_football_players
2 vì truy vấn SQL có nhiều dòng. Cấu trúc này lý tưởng cho câu lệnh 
SELECT *
  FROM benn.college_football_players
2 có nhiều điều kiện. Chẳng hạn, nếu muốn thêm hai danh mục dựa trên dữ liệu hiện có trong Excel, thì bạn phải lồng một câu lệnh IF bên trong một câu lệnh IF khác. Khi bạn thêm nhiều điều kiện, mọi thứ sẽ trở nên tồi tệ nhanh chóng. Nhưng trong SQL, bạn chỉ có thể thêm một điều kiện mới dưới dạng một dòng khác

Trong SQL, hãy thêm nhiều điều kiện bằng cách sử dụng dữ liệu bóng đá của trường đại học ở trên. Chúng tôi sẽ thêm một cột chia các cầu thủ bóng đá thành bốn nhóm cân nặng. Đây là truy vấn

SELECT player_name,
       weight,
       CASE WHEN weight > 250 THEN 'over 250'
            WHEN weight > 200 THEN '201-250'
            WHEN weight > 175 THEN '176-200'
            ELSE '175 or under' END AS weight_group
  FROM benn.college_football_players

Và đây là bảng kết quả trông như thế nào

excel-to-sql-5

Không quá khó phải không?

Bạn có thể đang nghĩ, nhưng còn biểu đồ và đồ thị thì sao?

Tuy nhiên, nếu bạn muốn bỏ qua bước xuất, thì một số chương trình SQL (như Chế độ) cho phép bạn tạo biểu đồ trên kết quả truy vấn của mình. Các biểu đồ này được liên kết trực tiếp với cơ sở dữ liệu của bạn, vì vậy, bất cứ khi nào bạn chạy lại truy vấn, kết quả và hình ảnh trực quan của bạn sẽ tự động làm mới

Chế độ nhúng 5

sổ làm việc miễn phí. Hướng dẫn Bắt đầu Nhanh về SQL của Người dùng Excel

Chúng tôi đã tập hợp một sổ làm việc gồm sáu nhiệm vụ chuyển sang Excel và các đối tác SQL của chúng. Mỗi bài học chứa một bộ dữ liệu ví dụ và hướng dẫn chi tiết. Bạn sẽ học cách thực hiện các hàm Excel sau trong SQL

  • Môn số học

  • SELECT *
      FROM benn.college_football_players
    2

  • lọc

  • CASE WHEN  THEN 
         ELSE 
         END
    6

  • CASE WHEN  THEN 
         ELSE 
         END
    7,
    CASE WHEN  THEN 
         ELSE 
         END
    8 và
    CASE WHEN  THEN 
         ELSE 
         END
    9

  • Tập hợp theo nhóm (bảng tổng hợp)

Tải xuống Hướng dẫn bắt đầu nhanh về SQL dành cho người dùng Excel và bắt đầu học SQL ngay hôm nay

Các bước tiếp theo để học SQL

Khi bạn có kiến ​​thức về SQL, sẽ rất hữu ích nếu bạn biết nên tập trung vào việc học ở đâu và cách điều hướng dữ liệu của công ty bạn

Chọn hướng dẫn hướng đến phân tích dữ liệu

Có rất nhiều tài nguyên SQL, nhưng không phải tất cả chúng đều tập trung vào phân tích dữ liệu. Các kỹ sư và quản trị viên cơ sở dữ liệu sử dụng SQL để tạo, cập nhật và xóa các bảng trong cơ sở dữ liệu. Họ có thể tải lên một bảng hoàn toàn mới hoặc xóa một bảng vĩnh viễn khỏi cơ sở dữ liệu. Đây là những nhiệm vụ rất khác so với cách bạn sẽ sử dụng SQL (ít nhất là cho đến khi bạn yêu thích dữ liệu đến mức bạn chuyển sang nghề phân tích). Đừng sa lầy vào các hướng dẫn SQL được thiết kế để quản lý cơ sở dữ liệu. Tập trung vào các hướng dẫn tập trung vào truy vấn. Dưới đây là một số bài học SQL để bắt đầu

Nếu bạn thấy mình trong các hướng dẫn nói về những thứ như

  • SELECT player_name,
           weight,
           CASE WHEN weight > 250 THEN 'over 250'
                WHEN weight > 200 THEN '201-250'
                WHEN weight > 175 THEN '176-200'
                ELSE '175 or under' END AS weight_group
      FROM benn.college_football_players
    0

  • SELECT player_name,
           weight,
           CASE WHEN weight > 250 THEN 'over 250'
                WHEN weight > 200 THEN '201-250'
                WHEN weight > 175 THEN '176-200'
                ELSE '175 or under' END AS weight_group
      FROM benn.college_football_players
    1

  • SELECT player_name,
           weight,
           CASE WHEN weight > 250 THEN 'over 250'
                WHEN weight > 200 THEN '201-250'
                WHEN weight > 175 THEN '176-200'
                ELSE '175 or under' END AS weight_group
      FROM benn.college_football_players
    2

  • SELECT player_name,
           weight,
           CASE WHEN weight > 250 THEN 'over 250'
                WHEN weight > 200 THEN '201-250'
                WHEN weight > 175 THEN '176-200'
                ELSE '175 or under' END AS weight_group
      FROM benn.college_football_players
    3

bạn đã đi xuống hố thỏ sai

Thực hành với dữ liệu của công ty bạn

Nếu bạn đang phân tích tại nơi làm việc, thực sự không có gì thay thế được việc sử dụng dữ liệu của công ty bạn để học SQL. Bạn có thể khám phá cấu trúc dữ liệu của công ty mình và tìm hiểu các khái niệm kỹ thuật cùng một lúc. Bất cứ thứ gì bạn nhặt được sẽ được áp dụng ngay vào công việc của bạn

Để làm được điều đó, bạn cần hiểu cách tổ chức dữ liệu của công ty mình. Dữ liệu sản phẩm và tiếp thị được lưu trữ ở đâu? . Những người này sẽ có thể trả lời câu hỏi của bạn hoặc chỉ cho bạn tài liệu hữu ích. Có một mối quan hệ cùng có lợi ở đây. nếu bạn đang truy vấn dữ liệu của riêng mình, bạn đang giảm lượng yêu cầu dữ liệu tồn đọng của nhóm phân tích. Điểm bánh hạnh nhân được đảm bảo

Một số khách hàng của Chế độ thậm chí đã thiết lập các buổi đào tạo thường xuyên, trong đó các nhà phân tích dạy SQL cho đồng nghiệp bằng cách sử dụng dữ liệu nội bộ của họ. Phản hồi đã rất tích cực từ cả hai nhóm người. Hãy cho chúng tôi biết nếu bạn đang nghĩ đến việc thiết lập điều này tại công ty của mình. Chúng tôi rất vui được chia sẻ một số bài học

Bạn đang trên con đường của bạn

Champing một chút để bắt đầu?