Sử dụng Parameter để thay đổi nguồn dữ liệu trong Power Query Editor

Ngày đăng: 18/10/2023

Khi sử dụng Power BI, chắc không ít lần bạn đã từng loay hoay với việc phải thay đổi đường dẫn của các truy vấn dữ liệu hay thay đổi các giá trị lọc của các truy vấn. Việc cứ phải thay đổi này nhiều khi khiến chúng ta phải khó chịu vì cứ phải chỉnh tay thay đổi nhiều lần.

Vậy có thể làm cách nào để tự động thay đổi được hoặc khiến cho việc thay đổi một cách dễ dàng hơn ở đây không? Trong Power Query Editor, chúng ta có một tính năng tuyệt vời đó là Parameter có thể làm được điều này.

Parameter là gì?

Parameter là một công cụ hữu ích được sử dụng trong nhiều tình huống khi bạn muốn thực hiện một số thay đổi tự động trong quá trình lấy dữ liệu (get data) và biến đổi dữ liệu (transform).

Với việc linh hoạt điều chỉnh được kết quả đầu vào, Parameter sẽ giúp chúng ta thay đổi tự động kết quả của các truy vấn (Query) dựa vào giá trị của bạn thêm vào.

Trong bài viết dưới đây, mình sẽ hướng dẫn mọi người cách sử dụng Parameter và ứng dụng bookmarks để xử lý một vài tình huống thường gặp.

Cách mở và tạo Parameter

Trong Power Query Editor, có 2 cách để tạo ra một Paramater:

Bằng một Query có sẵn

Nhấp chuột phải vào một Query mà giá trị của nó là một hằng số đơn giản không có cấu trúc, chẳng hạn như ngày, văn bản hoặc số, sau đó chọn Convert to Parameter.

Parameter trong Power Query Editor

Bằng Manage Parameter (Cách thường dùng nhất)

  • Chọn tùy chọn New Parameter từ menu thả xuống của Manage Parameter trong tab Trang chủ.
  • Hoặc mở cửa sổ Manage Parameter và chọn New ở phía trên để tạo một Parameter.
Manage Parameter

Sau khi hiện ra bảng thông tin Manage parameters, chúng ta lần lượt điền các thông tin bổ sung vào trong Parameter.

Trong đó các thuộc tính của một Parameter bao gồm các mục sau:

  • Name: Tên của Parameter
  • Description: Mô tả về Parameter, giúp người sử dụng có thể nhận biết  rõ mục đích và ý nghĩa của Parameter.
  • Required: Hộp xác nhận việc người sử dụng xác nhận giá trị cho Parameter có bắt buộc phải được cung cấp hay không.
  • Type: Xác định kiểu dữ liệu của Parameter. Khuyến nghị mọi người luôn nên xác nhận kiểu dử liệu cho Parameter.
  • Suggested Value: Cung cấp cho người dùng các lựa chọn gợi ý để chọn giá trị cho Current Value từ các tùy chọn có sẵn:
    • Any Value: Giá trị hiện tại có thể là bất kỳ giá trị nhập thủ công nào.
    • List of Values: Cung cấp một danh sách các giá trị mà sau này người dùng có thể chọn để sử dụng cho Current Value. Khi tùy chọn này được chọn, tùy chọn mới gọi là Default Value sẽ xuất hiện. Từ đây, bạn có thể chọn giá trị mặc định cho Parameter này, đây là giá trị mặc định được hiển thị cho người dùng khi tham chiếu đến Parameter.
    • Query: Sử dụng một truy vấn danh sách (một truy vấn có đầu ra là một danh sách) để cung cấp danh sách các giá trị gợi ý mà sau đó bạn có thể chọn cho Current Value
  • Current Value: Giá trị hiện tại được lưu trữ trong Parameter.

Các ứng dụng của Parameter

Do khả năng điều chỉnh linh hoạt được các điều kiện đầu vào nên parameter có thể ứng dụng để tự động biến đổi trong nhiều tính huống thay đổi nguồn dữ liệu và xử lý dữ liệu. Dưới đây, chúng ta sẽ cùng đi tới một vài các ứng dụng thường dụng nhất là:

  1. Thay đổi đường dẫn của nguồn dữ liệu tự động
  2. Tạo một dynamic filter cho nguồn dữ liệu
  3. Thay đổi bảng Date tự động

Thay đổi đường dẫn của nguồn dữ liệu tự động

  • Top of Form

Khi tiến hành kết nối với các nguồn dữ liệu như on-premise file là Excel hay database như SQL, chúng ta có nhiều khi có nhu cầu muốn thay đổi các nguồn dữ liệu này từ file này sang file khác hoặc từ database này sang database khác.

Chúng ta hãy cùng dùng Parameter để thử tiến hành thay đổi từ file Excel này sang file excel khác nhé:

Yêu cầu: Tiến hành kết nối các file dữ liệu Sales bán hàng của từng Country vào file Power BI.

Thay đổi linh hoạt nguồn từ các file Excel này mà không phải nhập các file nhiều lần.

Bước 1: Tiến hành Get Data file vào trong Power BI.

Các ứng dụng của Parameter 1

Chúng ta tiến hành load file data “Australia” vào trong Power BI:

Bước 2: Tạo Parameter Country và chỉnh sửa giá trị M-query.

Lưu ý: Do chúng ta có một danh sách các giá trị, chúng ta có thể lựa chọn kiểu List of values và điều thông tin các Country vào đây.

Sau khi bấm OK, chúng ta sẽ hiện ra một bảng Parameter như bảng dưới:

Bước 3: Kết nối Parameter với nguồn dữ liệu

Đến đây, việc của chúng ta là tiến hành kết nối Parameter “Country” với bước Get Data nguồn dữ liệu để sau đấy, khi chúng ta muốn thay đổi file nguồn dữ liệu, chúng ta chỉ cần lựa chọn trong phần Current Value là được rồi.

Để tiến hành kết nối Parameter với việc Get data, chúng ta sẽ cần sử dụng một chút ngôn ngữ lập trình M-Query.

Mọi người bấm vào phần Advanced Editor để mở ra nội dung của truy vấn Query:

Ở trong Advanced Editor, tất cả các hành động của Query đều được lưu trữ tại đây.

Để kết nối Parameter Country nhằm thay đổi nguồn dữ liệu, chúng ta tìm tới dòng đầu tiên có chữ “Source”

Để điều chỉnh phần Source thay đổi theo nội dung Parameter: Chúng ta chuyển đổi Source từ một giá trị cố định là Australiaà chuyển sang một biến có thể thay đổi là Country (Parameter mới tạo) và mọi người lưu ý cần phải có thêm các ký tự bao xung quanh Parameter là “&Country&” để đúng cách viết trong M Query.

Đến đây Parameter của chúng ta đã tự động kết nối với việc get Data dữ liệu.

Chúng ta bây giờ có thể thử test bằng cách thay đổi giá trị Australia ra các giá trị khác như là “Japan” và hiển thị Kết quả như bảng dưới.

Note: Mọi người có thể áp dụng tương tự việc này trong việc chuyển đổi nguồn dữ liệu từ SQL -> SQL hoặc thậm chí từ Excel à SQL hoặc ngược lại nhé.

Tạo một Dynamic Filter cho nguồn dữ liệu

Trong khi xử lý dữ liệu, nhiều trường hợp chúng ta chỉ cần lọc để lấy một lượng dữ liệu nhỏ hơn từ bảng dữ liệu thì một cách đơn giản là chúng ta sử dụng Parameter để tạo một Dynamic Filter cho để lọc dữ liệu.

Yêu cầu: Do bảng Product chứa rất nhiều sản phẩm khác nhau, bạn hãy lọc bảng Products để lấy các sản phẩm có ký tự trong là “a”.

Bước 1: Chúng ta bắt đầu bằng cách tạo một Parmater Product với thông tin như hình ảnh dưới:

Bước 2: Kết nối Parameter với lệnh lọc dữ liệu.

Chúng ta lại tiến hành liên kết Parameter với bảng Products bằng cách điều chỉnh M-Query:

Để kết nối Parameter Product nhằm thay đổi đầu vào lọc, chúng ta tìm tới dòng đầu tiên có chữ “Filtered rows”.

Chúng ta chuyển đổi “Filtered rows” từ một giá trị cố định là a à chuyển sang một biến có thể thay đổi là Product (Parameter mới tạo) và mọi người lưu ý, giống như việc thay đổi nguồn dữ liệu trên, chúng ta cần phải có thêm các ký tự bao xung quanh Parameter là “&Product&” để đúng cách viết trong M Query.

Đến đây mọi người đã có thể test thử các kết quả khi điều chỉnh trong Parameter.

Chúng ta có thể thử thay đổi bằng việc lọc các Product có ký tự a hoặc ba như bên dưới.

 Với việc thay đổi giá trị là “a” à dữ liệu của chúng ta sẽ có 480 dòng.

Với việc thay đổi giá trị là “ba” à dữ liệu của chúng ta sẽ chỉ còn 21 dòng.

Thay đổi bảng Date dimension tự động bằng Start Date – End date

Khi bạn xây dựng bảng Date, bạn bạn muốn điều chỉnh bảng Dim date chạy theo thời gian chúng ta mong muốn và có thể điều chỉnh dễ dàng. Việc này, chúng ta có thể sử dụng hàm CALENDAR() trong DAX, tuy nhiên ở đây mình muốn chia sẻ mọi người thêm một cách tạo bảng Date linh hoạt bằng Power Query Editor.

Yêu cầu: Xây dựng một bảng Date tự động dựa vào 2 giá trị Start Date và End Date.

Bước 1: Tạo lần lượt 2 Parameter Start Date và End Date với các thuộc tính như bảng dưới.

Bước 2: Chúng ta tạo bảng date table bằng cách viết các câu lệnh M Query với nội dung như bảng dưới, đồng thời tiến hành. Trong đó Start Date và EndDate là 2 giá trị đầu vào.

Điều chỉnh Paramater trong màn hình Power BI

Có lẽ, một vài người hiểu lầm rằng Parameter chỉ sử dụng được trong Power Query Editor nhưng không phải đâu, Parameter hoàn toàn có thể sử dụng ở màn hình chính của Power BI.

Chúng ta có một báo cáo gốc đang thể hiện các sản phẩm có ký tự “Ba” của Australia cho năm từ 2019 – 2023.

Mọi người vào thẻ Home, bấm vào phần mũi tên để hiện ra bảng thông báo “Edit parameters”.

Ở đây, chúng ta sẽ hiện một bảng các giá trị điều chỉnh các Parameter mà chúng ta nhập vào. Ví dụ như là:

Edit parameters

Chúng ta sẽ có một báo cáo tự động hoàn toàn thay đổi các điều kiện đầu vào như đây:

Chỉ cần thay đổi các giá trị trong này, chúng ta đã hoàn toàn tự động biến đổi được nguồn dữ liệu của mình, biến đổi được các phép lọc, biến động được bảng Date cho các năm mà mình mong muốn.

Lưu ý: Nếu đang sử dụng phương thức storage mode là Import, bạn sẽ thấy bước này sẽ tốn một chút thời gian trong việc kết nối và load lại dữ liệu nhé.

Bài viết liên quan: So sánh 4 chế độ lưu trữ dữ liệu trong Power BI.

Kết luận

Trong Power Query Editor, Parameter đóng vai trò quan trọng trong việc tối ưu hóa và linh hoạt hóa quá trình kết nối với nguồn dữ liệu và xử lý dữ liệu. Những giá trị linh hoạt này phép người dùng điều chỉnh các tham số mà không cần phải sửa đổi mã nguồn. Sẽ có thể có hàng trăm cách sử dụng sự linh hoạt của Parameter này tùy thuộc vào sự sáng tạo và mong muốn của người dùng.

Hy vọng rằng bài viết trên đã giúp các bạn hiểu về cách sử dung và các ứng dụng của tính năng này. Hãy lưu bài viết nếu cần nhé.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *