Power BI

Ngày tạo 08/10/2023

 -  488 Lượt xem

DAX là từ viết tắt của Data Analysis Expression (Tạm hiểu thì là các hàm tính toán phục vụ việc phân tích dữ liệu). DAX là ngôn ngữ lập trình của Power BI được sử dụng trong các sản phẩm sau của hãng Microsoft:

- Power BI

- Power Pivot cho Excel

- SQL Server Analysis Services Tabular (SSAS Tabular)

Power BI, Power Pivot và SSAS Tabular đều là các công cụ báo cáo thông tin kinh doanh sử dụng cùng một “công cụ” cơ bản. Engine này ban đầu được gọi là xVelocity (còn gọi là Vertipaq) khi Microsoft lần đầu tiên phát triển sản phẩm. Trong phần còn lại của bài viết này, mình sẽ sử dụng thuật ngữ Mô hình dữ liệu Power BI (Power BI Data Model) để chỉ công cụ này trên tất cả các sản phẩm. Mô hình dữ liệu Power BI là cơ sở dữ liệu báo cáo thông tin kinh doanh thân thiện với người dùng được phát triển bởi nhóm SSAS tại Microsoft.

Mô hình dữ liệu Power BI được xây dựng ngay từ đầu với sự quan tâm dành cho người dùng Excel (tất nhiên cả những chuyên gia về SQL). Một phần là kết quả của việc xem xét này, DAX đã được phát triển như một ngôn ngữ chức năng. Tất cả điều này có nghĩa là khi bạn sử dụng DAX để lập trình trong Mô hình dữ liệu Power BI, bạn viết các hàm để hoàn thành từng tác vụ. Đây là một điểm rất quan trọng vì Excel cũng là một ngôn ngữ chức năng. Đây là một sự thay đổi lớn so với các ngôn ngữ lập trình kinh doanh thông minh trước đây (ví dụ MDX), vốn rất khó học.

Nhiều hàm DAX giống hệt hoặc tương tự với các hàm trong Excel và điều này đảm bảo tính nhất quán tương đối cho cơ sở người dùng được nhắm mục tiêu.

Ví dụ:

Dưới đây là 1 so sánh nhỏ giữa các hàm trong DAX với Excel.

Về cơ bản với Excel bạn có thể viết công thức tham chiếu đến 1 vùng trên bảng tính thông qua range (vùng) hoặc table (bảng)

Tuy nhiên với DAX thì DAX không có khái niệm vùng, tức là không có các khái niệm như SUM(A1:E10) như Excel. Với DAX bạn sẽ chỉ có thể tham chiếu tới bảng mà thôi.

Như bạn có thể thấy ở trên, các hàm thường giống nhau về cú pháp, nhưng đôi khi chúng không giống nhau, như trường hợp của hàm OR().

Thật không may, sự tương đồng giữa hàm DAX và hàm Excel tạo ra mức độ tin cậy quá mức nhất định đối với hầu hết người dùng Excel đến mức hầu hết mọi người đánh giá thấp việc hiểu Mô hình dữ liệu Power BI thực sự khó đến mức nào. Vấn đề là những người chuyển từ Excel truyền thống sang Power BI cần học cách làm việc với dữ liệu trong bảng, cột và hàng thay vì các ô độc lập. Mình đã tiến hành giảng dạy ngôn ngữ DAX và sự khác biệt của nó với Excel cho hàng trăm người. Phần đông người dùng Excel không hề có khái niệm về mô hình dữ liệu. Vì thế kể cả bạn Master về Excel đi chăng nữa thì khi bạn chuyển từ Excel qua DAX, bạn vẫn sẽ gặp rất nhiều khó khăn trong việc hiểu về mô hình dữ liệu.

Tuy nhiên tin mình đi, nếu bạn nắm vững được Data Model cũng như cách mà các loại Context trong DAX như Filter Context, Row Context, Context Transition hoạt động thì bạn sẽ cảm thấy DAX trở nên dễ dàng hơn rất nhiều.

Ngoài ra thì hiện tại việc viết DAX cũng trở nên dễ hơn với các công cụ hỗ trợ việc viết DAX như DAX Studio, Tabular Editor 2, Tabular Editor 3 (Tabular Editor 3 thì hiện đang mất phí 10$ / tháng nhưng bạn sẽ được cung cấp 1 môi trưuowngf viết DAX tuyệt vời, kèm theo đó là tính năng Debug DAX mà chỉ Tabular Editor 3 đang có)

Các bạn có cần học ngôn ngữ DAX hay không?

Bạn chắc chắn không cần biết cách viết DAX để bắt đầu với Power BI. Power BI là công cụ kinh doanh thông minh mới nhất tận dụng ngôn ngữ DAX (thông qua Mô hình dữ liệu Power BI) và chắc chắn có thể bắt đầu và xây dựng một số báo cáo mà không cần tìm hiểu bất kỳ DAX nào. Nếu bạn là “người tiêu dùng báo cáo” mà người khác tạo ra cho bạn thì bạn chắc chắn không cần phải tìm hiểu bất kỳ DAX nào. Tuy nhiên, nếu bạn là người muốn thực hiện phân tích dữ liệu đặc biệt (hoặc có cấu trúc) của riêng mình bằng Power BI, thì bạn chắc chắn sẽ muốn học cách viết một số DAX để nhận được giá trị từ những gì công cụ mới này cung cấp.

Hiểu đơn giản thì bạn có thể sử dụng Power BI mà không cần biết chút xíu DAX nào. Tuy nhiên để có thể tính toán được các chỉ tiêu phức tạp, riêng biệt phục vụ nhu cầu kinh doanh và báo cáo của công ty thì bạn nhất định phải biết DAX.

Implicit Measure (Đây là các Measure đã sẵn có trong DAX mà bạn không cần phải viết thêm bất cứ hàm DAX nào – giống với các hàm thống kê có sẵn trong Excel Pivot Table)

Power BI cung cấp cái được gọi là “Implicit Measure”. Tất cả những gì bạn phải làm là kéo một cột số (ví dụ: ExtendedAmount) và thả cột đó vào phần Giá trị của Power BI Visual và công cụ sẽ tạo một tập hợp đẹp mắt cho bạn một cách nhanh chóng.

Và miễn là đó là tất cả những gì bạn muốn làm, thì bạn sẽ ổn thôi. Tuy nhiên, nếu bạn muốn tạo một công cụ báo cáo mạnh mẽ hơn giúp rút ra những hiểu biết sâu sắc từ dữ liệu thô của mình thì bạn chắc chắn sẽ muốn bắt đầu hành trình tìm hiểu DAX.

Quick Measures

Power BI có một tính năng gọi là Quick Measures. Tính năng này cho phép bạn xây dựng các thước đo thực sự bằng cách sử dụng trình hướng dẫn. Mặc dù tính năng này có thể giúp bạn bắt đầu và viết các biện pháp thực sự (không phải các biện pháp ngầm như đã viết ở trên), nhưng nhược điểm là bạn vẫn chưa thực sự tìm hiểu về cách Mô hình dữ liệu Power BI hoạt động một cách sâu sắc. Tôi thực sự thích tính năng này tuy nhiên tôi không nghĩ nó có thể thay thế cho việc học có cấu trúc chặt chẽ hơn.

Hiểu đơn giản là Quick Measures cho phép bạn viết các hàm DAX nhanh hơn dựa trên việc chọn các cột và các measure 1 cách rất dễ dàng. Tuy nhiên nó không thể nào đáp ứng được tất cả các trường hợp mà bạn cần phải viết trong công việc thực tế của mình.

Vì thế bạn vẫn cần phải học DAX và bạn chỉ nên coi Quick Measures là 1 công cụ hỗ trợ cho bạn mà thôi.

DAX là 1 ngôn ngữ truy vấn

Bạn không nghe nhầm đâu. Bạn có thể sử dụng DAX để tạo ra các truy vấn dữ liệu tương tự như câu lệnh SQL. Tất nhiên là câu lệnh và cú pháp sẽ khác biệt rồi.

Trong DAX ngoài các hàm trả về kết quả là 1 giá trị duy nhất (Còn gọi là Scalar Function) thì còn các nhóm hàm khác gọi là Table Function. Các hàm này sẽ trả về kết quả là 1 bảng thay vì 1 giá trị duy nhất.

Các hàm có thể kể ra ở đây như: SUMMARIZE, SUMMARIZECOLUMNS, VALUES, DATATABLE, …

Con đường học DAX rất dài nhưng các bạn đừng chờ Master Dax rồi mới học Power BI.

Nếu bạn muốn có 1 con đường nhanh nhất để chuyển từ 1 Excel User sang 1 Power BI User thì đừng ngại đăng ký học trải nghiệm 1 khoá Fast Track Power BI của ERX Việt Nam tổ chức nhé.

https://erx.vn/fast-track-to-power-bi-dashboard-and-data-analysis-in-power-bi-903436838.html

 
 
Gọi (028) 3514 2046