Nhúng SQL vào Bảng tính Excel - hộp "Văn bản lệnh"
Trong bảng tính Excel 2016
Dữ liệu => Kết nối => tô sáng Tên kết nối sổ làm việc => Thuộc tính => Định nghĩa
Tôi có hai câu hỏi liên quan:
- Trong hộp văn bản Lệnh , tôi muốn tham chiếu đến một ô trong một trang tính khác cho văn bản câu lệnh Ngôn ngữ truy vấn có cấu trúc (SQL). Làm cách nào để mã hóa tài liệu tham khảo?
- Tôi muốn nhiều câu lệnh SQL chạy liên tiếp. Ký tự phân cách hoặc định dạng khác để nhập nhiều câu lệnh SQL trong văn bản Lệnh là gì?
Nhiều tìm kiếm Google khác nhau không mang lại kết quả hữu ích. Tôi đã vật lộn với điều này trong khoảng một tuần mà không thành công. TIA!
Trả lời:
Xin chào Frank
Đặt kỳ vọng
Tôi không có máy chủ SQL và không "nói" SQL. Tuy nhiên mình khá quen với cách lấy dữ liệu từ nguồn bên ngoài vào Excel
#1 Bạn gặp khó khăn vì không có cách tiếp cận phù hợp. Không biết các kết nối SQL hiện tại của bạn được tạo như thế nào nhưng nếu bạn muốn truyền cho chúng một tham số từ trang tính Excel, AFAIK, bạn sẽ phải tuân theo Nhập dữ liệu từ cơ sở dữ liệu bằng cách sử dụng Truy vấn cơ sở dữ liệu gốc (Power Query) để thiết lập kết nối đầu tiên với SQL của bạn cơ sở dữ liệu và sau đó thực hiện tất cả các phép biến đổi (tức là Lọc và những thứ tương tự) mà bạn cần trong Power Query sẽ xây dựng - ở phía sau - các câu lệnh SQL tương ứng. Sau khi bạn hoàn thành việc này, hãy tải đầu ra truy vấn vào một trang tính hoặc chỉ dưới dạng kết nối
#2 Theo dõi bài viết Chuyển giá trị dưới dạng tham số cho Power Query Get & Transform và cập nhật truy vấn được xây dựng ở số 1 với (các) tham số của bạn
Bing rõ ràng thực hiện công việc tốt hơn Google vì toàn bộ quy trình được mô tả trong phần Sử dụng các giá trị tham số động trong Truy vấn Power Query với SQL. Tuy nhiên, có một điều: nếu bạn cần truyền nhiều hơn 1 tham số, hãy làm theo khuyến nghị của tôi để sử dụng Bảng tham số
#3 RE: Tôi muốn nhiều câu lệnh SQL chạy liên tiếp
Vui lòng giải thích chính xác những gì bạn muốn đạt được vì về nguyên tắc, điều này không thực sự có ý nghĩa hoặc điều này có thể được thực hiện theo cách khác, tức là trong truy vấn bạn sẽ xây dựng với các bước #1 và #2
Bất kỳ thông tin giải thích nào tôi có thể cung cấp ở giai đoạn này, hãy cho tôi biết (tôi đang ở Châu Âu và không làm việc cả đêm :)
EDIT Quên => Kiểm tra truy vấn gấp bằng chế độ xem truy vấn gốc . Nó ghi PowerBI nhưng điều đó áp dụng vì Power Query là một tập hợp con của PowerBI
Trả lời:
Tôi đánh giá cao rằng bạn đã dành thời gian để trả lời. Một vài lời giải thích:
- Kết nối cơ sở dữ liệu hoạt động và truy vấn SQL lấy ra kết quả mong muốn. Tôi không muốn chuyển tham số từ một ô để nhúng vào truy vấn SQL. Tôi muốn chuyển toàn bộ truy vấn SQL. Tôi có một bảng tính nhiều trang gửi cùng một truy vấn đến hai chục máy chủ cơ sở dữ liệu khác nhau (một cho mỗi trang). Để thuận tiện, tốt hơn hết bạn nên đặt truy vấn SQL ở một nơi trong bảng tính và để văn bản Lệnh tham chiếu đến ô đó. Bằng cách đó, nếu tôi muốn sửa đổi truy vấn SQL, tôi chỉ phải thực hiện một lần thay vì hai chục lần.
- Tôi muốn chạy liên tiếp nhiều câu lệnh SQL cho từng máy chủ cơ sở dữ liệu.
- Xây dựng một bảng tạm thời ( CREATE TABLE... )
- Tải dữ liệu vào bảng tạm thời ( INSERT INTO... )
- Lấy dữ liệu từ bảng tạm thời ( SELECT... FROM )
Tôi chưa tìm ra cách đặt ba câu lệnh này liên tiếp trong cùng một văn bản Lệnh bằng cách sử dụng dấu phân cách để phân tách các câu lệnh SQL.
Những hiểu biết sâu sắc hơn sẽ được chào đón nhiều nhất.
Có một ngày cuối tuần tuyệt vời.
Trả lời:
Xin chào Frank
#1 Tôi không muốn chuyển tham số từ một ô để nhúng vào truy vấn SQL. Tôi muốn chuyển toàn bộ truy vấn SQL. Tôi có một bảng tính nhiều trang gửi cùng một truy vấn đến hai chục máy chủ cơ sở dữ liệu khác nhau (một cho mỗi trang). Để thuận tiện, tốt hơn hết bạn nên đặt truy vấn SQL ở một nơi trong bảng tính và để văn bản Lệnh tham chiếu đến ô đó. Bằng cách đó, nếu tôi muốn sửa đổi truy vấn SQL, tôi chỉ phải thực hiện một lần thay vì hai chục lần
Sau khi tìm kiếm, điều này có thể thực hiện được, tuy nhiên không chính xác như bạn mong đợi. Đừng coi đây là câu trả lời CÓ hoặc KHÔNG dứt khoát - Tôi không thể kiểm tra điều này do không có máy chủ SQL để chơi :(
#2 Tôi muốn chạy liên tiếp nhiều câu lệnh SQL cho từng máy chủ cơ sở dữ liệu...
Rõ ràng hơn một chút. Tuy nhiên, tôi vẫn không hiểu tại sao bạn lại cần TẠO BẢNG, CHÈN VÀO rồi CHỌN TỪ vì đây chính xác là những gì Power Query thực hiện - không viết các câu lệnh SQL này - hậu trường khi truy vấn thực hiện điều gì đó như
Dù sao, sau khi tìm kiếm, tôi đã tìm thấy một số chủ đề dường như cho thấy có điều gì đó có thể thực hiện được - giống như trên, không phải là CÓ/KHÔNG dứt khoát vì lý do tương tự
Đề xuất
Không chắc chắn tôi có thể trợ giúp thêm về vấn đề này và rất ít người đóng góp cho diễn đàn này có AFAIK có đủ chuyên môn cần thiết để tiếp tục giải quyết vụ việc này. Vì vậy, gợi ý:
#1 Tìm kiếm diễn đàn Technet Power Query chuyên dụng với Sql.Database
#2 Nếu không có chủ đề nào hữu ích cả, hãy đăng "câu hỏi" của bạn (cung cấp càng nhiều thông tin càng tốt) trên diễn đàn đó - rất ít người đóng góp ở đó nhưng một số người trong số họ sẽ có thể cho bạn biết điều gì có thể làm được, điều gì không
Hy vọng điều này có ý nghĩa và giúp ích. Bất kỳ câu hỏi nào khác. điều này cho tôi biết
Trả lời:
Xin chào Frank
Bạn đã tìm được cách để làm được điều mình muốn chưa? Nếu không, hãy cho tôi biết (hiện tại tôi có máy chủ SQL) vì - về nguyên tắc - tôi biết cách thực hiện những gì bạn muốn và có một mẫu hoạt động với CREATE TABLE, INSER INTO, SELECT...
Comments
Post a Comment