Lưu lịch sử cập nhật truy vấn Power Query

Tại hầu hết mọi khóa đào tạo về Power Query, khi chúng tôi tìm hiểu cách cập nhật các truy vấn đã tạo và mọi người thấy cách dữ liệu mới thay thế dữ liệu cũ khi cập nhật, một trong những người nghe hỏi tôi: "có thể đảm bảo rằng khi cập nhật, dữ liệu cũ là cũng có nơi nào đó đã được lưu và toàn bộ lịch sử cập nhật đã hiển thị?

Ý tưởng này không mới và câu trả lời tiêu chuẩn cho nó sẽ là “không” - Power Query được định cấu hình theo mặc định để thay thế dữ liệu cũ bằng dữ liệu mới (điều này được yêu cầu trong đại đa số các trường hợp). Tuy nhiên, nếu bạn thực sự muốn, bạn có thể vượt qua hạn chế này. Và phương pháp, như bạn sẽ thấy sau, rất đơn giản.

Hãy xem xét ví dụ sau.

Giả sử rằng chúng ta có một tệp từ máy khách làm dữ liệu đầu vào (hãy gọi nó, giả sử, nguồn) với danh sách các sản phẩm mà anh ấy muốn mua ở dạng bảng động "thông minh" có tên Các Ứng Dụng:

Lưu lịch sử cập nhật truy vấn Power Query

Trong một tệp khác (hãy gọi nó bằng phép loại suy Người nhận), chúng tôi tạo một truy vấn đơn giản để nhập một bảng có các sản phẩm từ Nguồn qua Dữ liệu - Lấy dữ liệu - Từ tệp - Từ sổ làm việc Excel (Dữ liệu - Lấy dữ liệu - Từ tệp - Từ sổ làm việc Excel) và tải bảng kết quả lên trang tính:

Lưu lịch sử cập nhật truy vấn Power Query

Nếu trong tương lai, khách hàng quyết định thay đổi thứ tự trong hồ sơ của mình nguồn, sau đó sau khi cập nhật yêu cầu của chúng tôi (bằng cách nhấp chuột phải hoặc qua Dữ liệu - Làm mới tất cả) chúng ta sẽ thấy dữ liệu mới trong tệp Người nhận - tất cả các tiêu chuẩn.

Bây giờ, hãy đảm bảo rằng khi cập nhật, dữ liệu cũ không bị thay thế bằng dữ liệu mới, nhưng dữ liệu mới được nối vào dữ liệu cũ - và với việc bổ sung ngày-giờ, để có thể biết khi nào những thay đổi cụ thể này thực hiện.

Bước 1. Thêm ngày-giờ vào truy vấn ban đầu

Hãy mở một yêu cầu Các Ứng Dụngnhập dữ liệu của chúng tôi từ nguồnvà thêm một cột có ngày-giờ cập nhật vào cột đó. Để làm điều này, bạn có thể sử dụng nút Cột tùy chỉnh chuyển hướng Thêm một cột (Thêm cột - Cột tùy chỉnh), và sau đó nhập hàm DateTime.LocalNow - tương tự của chức năng TDATA (BÂY GIỜ) в Microsoft Excel:

Lưu lịch sử cập nhật truy vấn Power Query

Sau khi nhấp vào OK bạn sẽ kết thúc với một cột đẹp như thế này (đừng quên đặt định dạng ngày-giờ cho nó bằng biểu tượng trong tiêu đề cột):

Lưu lịch sử cập nhật truy vấn Power Query

Nếu bạn muốn, thì đối với đĩa được tải lên trang tính cho cột này, bạn có thể đặt định dạng ngày-giờ với giây để có độ chính xác cao hơn (bạn sẽ phải thêm dấu hai chấm và “ss” vào định dạng chuẩn):

Lưu lịch sử cập nhật truy vấn Power Query

Bước 2: Truy vấn dữ liệu cũ

Bây giờ chúng ta hãy tạo một truy vấn khác sẽ hoạt động như một bộ đệm lưu dữ liệu cũ trước khi cập nhật. Chọn bất kỳ ô nào của bảng kết quả trong tệp Người nhận, chọn trên tab Ngày Lệnh Từ Bảng / Phạm vi (Dữ liệu - Từ bảng / phạm vi) or Với những chiếc lá (Từ trang tính):

Lưu lịch sử cập nhật truy vấn Power Query

Chúng tôi không làm gì với bảng được tải trong Power Query, ví dụ: chúng tôi gọi là truy vấn dữ liệu cũ và báo chí Trang chủ - Đóng và tải - Đóng và tải vào… - Chỉ tạo kết nối (Home - Close & Load - Close & Load to… - Chỉ tạo kết nối).

Bước 3. Kết hợp dữ liệu cũ và mới

Bây giờ quay lại truy vấn ban đầu của chúng tôi Các Ứng Dụng và thêm vào nó từ bên dưới dữ liệu cũ từ yêu cầu bộ đệm trước đó bằng lệnh Trang chủ - Thêm yêu cầu (Trang chủ - Nối truy vấn):

Lưu lịch sử cập nhật truy vấn Power Query

Đó là tất cả!

Nó vẫn còn để quay lại Excel thông qua Trang chủ - Đóng và tải xuống (Trang chủ - Đóng & Tải) và thử một vài lần để cập nhật toàn bộ cấu trúc của chúng tôi bằng nút Cập nhật Tất cả chuyển hướng Ngày (Dữ liệu - Làm mới tất cả). Với mỗi lần cập nhật, dữ liệu mới sẽ không thay thế dữ liệu cũ mà sẽ đẩy nó xuống bên dưới, giữ toàn bộ lịch sử cập nhật:

Lưu lịch sử cập nhật truy vấn Power Query

Một thủ thuật tương tự có thể được sử dụng khi nhập từ bất kỳ nguồn bên ngoài nào (trang web Internet, cơ sở dữ liệu, tệp bên ngoài, v.v.) để giữ các giá trị cũ cho lịch sử nếu bạn cần.

  • Bảng tổng hợp trên nhiều phạm vi dữ liệu
  • Lắp ráp các bảng từ các tệp khác nhau bằng Power Query
  • Thu thập dữ liệu từ tất cả các trang của cuốn sách vào một bảng

Bình luận