1. Khái niệm về hàm DAX trong Power BI

Một trong những đặc điểm quan trọng của DAX là khả năng tương tác với mô hình dữ liệu quan hệ. Hàm có thể truy xuất, tính toán dữ liệu từ các bảng, cột và mối quan hệ trong mô hình.
DAX cung cấp một loạt các hàm tích hợp sẵn cho việc phân tích và tính toán dữ liệu bao gồm hàm số học, hàm thống kê, hàm văn bản,…. Ngoài ra, người dùng có thể tạo ra các biểu thức tự định nghĩa và hàm tùy thích để phù hợp với yêu cầu cụ thể của từng dự án. Hiện nay, hàm DAX trong Power BI được đánh giá là công cụ hỗ trợ đắc lực trong việc phân tích, xây dựng báo cáo và truy vấn dữ liệu.
2. Cú pháp của DAX
Cú pháp chung của bộ hàm DAX: Total Sales = SUM(Sales[SalesAmount])
Trong đó:
- Total Sales là tên Measure.
- “=” là toán tử cho biết vị trí đầu công thức.
- SUM là hàm DAX tính tổng, cộng tất cả các số trong cột Sales[SalesAmount].
- “( )” là dấu ngoặc đơn, được sử dụng bao quanh biểu thức có chứa một hoặc nhiều đối số.
- Sales là bảng tham chiếu.
- SalesAmount cột tham chiếu trong bảng Sales.
3. Tầm quan trọng của hàm DAX trong Power BI
Không phải ngẫu nhiên mà các chuyên gia nói rằng “Không sử dụng DAX, bạn sẽ bỏ lỡ 95% tiềm năng của công cụ Power BI”. Điều này cho thấy hàm DAX đóng một vai trò vô cùng quan trọng, cụ thể:- Tính toán và tổng hợp dữ liệu: Hàm DAX cho phép tính toán các chỉ số quan trọng như tính tổng, trung bình, tỷ lệ tăng trưởng,… và nhiều phép tính khác. Nhờ đó, người dùng có thể tổng hợp dữ liệu từ nhiều bảng dữ liệu để tạo ra các chỉ số quan trọng cho báo cáo của mình.
- Tạo trường dữ liệu tính toán: Bằng cách sử dụng hàm DAX, người dùng có thể tạo ra các trường dữ liệu dựa trên các trường có sẵn để tính toán tỷ lệ, phân loại dữ liệu và thực hiện các phép tính phức tạp dựa trên yêu cầu cụ thể.
- Tạo báo cáo và truy vấn linh hoạt: DAX cung cấp cho người dùng các cú pháp để tạo ra biểu đồ, đồ thị, báo cáo cá nhân,… dựa trên mô hình dữ liệu. Với sự linh hoạt chuyển đổi của bộ hàm DAX, quá trình phân tích và hiển thị thông tin dữ liệu sẽ dễ dàng hơn rất nhiều.
- Liên kết dữ liệu giữa các bảng: Bộ hàm DAX trong Power BI cho phép người dùng kết hợp dữ liệu từ nhiều bảng khác nhau trong mô hình. Bằng cách sử dụng các hàm liên kết và hàm quan hệ, người dùng có thể thực hiện phép tính để tạo ra trường tính toán mới dựa trên thông tin từ các bảng có liên quan.
4. Những hàm DAX cơ bản trong Power BI
Tổng hợp những hàm DAX cơ bản được sử dụng trong Power BI
DAX trong Power BI được chia thành rất nhiều bộ hàm. Mỗi hàm sẽ đảm nhận một chức năng giúp người dùng tính toán các yêu cầu, điều kiện khác nhau:
- Hàm ngày và giờ
- Hàm DAX CALENDAR
Cú pháp: CALENDAR(<start_date>, <end_date>)
- Trong đó:
- <start_date> là các biểu thức đại diện cho ngày bắt đầu.
- <end_date> là các biểu thức đại diện cho ngày kết thúc.
- Hàm DAX DATEDIFF
Sử dụng để tính toán số ngày, tháng hoặc năm dựa vào hai thời điểm cố định.
Cú pháp: DATEDIFF(<date1>, <date2>, <interval>)
- Trong đó:
- <date1> và <date2> là hai tham số đại diện cho hai ngày hoặc thời điểm cần tính khoảng cách.
- <interval> là các tham số đơn vị để tính khoảng cách, có thể là day, month, year.
- Hàm DAX NOW
- Hàm DAX DATEVALUE
Cú pháp: DATEVALUE(date_text)
Trong đó:
- date_text là chuỗi văn bản đại diện cho ngày cần chuyển đổi. Định dạng ngày trong chuỗi văn bản cần tuân thủ định dạng “mm/dd/yyyy” hoặc “dd/mm/yyyy”
- Hàm Time Intelligence
Time Intelligence là tập hợp các hàm DAX trong Power BI cho phép người dùng thực hiện phân tích dữ liệu dựa trên các khía cạnh thời gian cố định như ngày, tuần, tháng,…
- Hàm DAX DATEADD
Cú pháp: DATEADD(<dates>,<number_of_intervals>,<interval>)
- Trong đó:
- <dates> là biểu thức hoặc cột chứa các giá trị ngày muốn thêm đơn vị thời gian.
- <number_of_intervals> là số lượng đơn vị thời gian muốn thêm vào. Giá trị này có thể là số nguyên dương hoặc nguyên âm.
- <interval> là đơn vị thời gian muốn thêm vào. Các giá trị <interval> bao gồm “second” hoặc “s”, “minute” hoặc “mi”, “hour” hoặc “h”, “day” hoặc “d”,…
- Hàm DAX DATESBETWEEN
Cú pháp: DATESBETWEEN(<dates>, <startdate>, <enddate>)
- Trong đó:
- <dates> là cột chứa các giá trị ngày trong mô hình dữ liệu.
- <startdate> và <enddate> là ngày bắt đầu và ngày kết thúc muốn tạo bảng chứa các ngày.
- Hàm DAX LAST DATE
Cú pháp: LASTDATE(<dates>)
- Trong đó:
- <dates> là cột chứa các giá trị ngày hoặc một biểu thức DAX trả về một bảng chứa các giá trị ngày.
- Hàm DAX ENDOFYEAR
Cú pháp: ENDOFYEAR(<dates> [,<year_end_date>])
- Trong đó:
- <dates> là biểu thức hoặc một cột chứa các giá trị ngày muốn tìm ngày cuối cùng của năm tương ứng.
- <year_end_date> là một tham số tùy chọn có thể được chỉ định để xác định ngày cuối cùng của năm.
- Hàm Logic
Các hàm Logic được sử dụng để thực hiện các phép tính và kết quả trả về sẽ ở dưới dạng True hoặc False.
- Hàm DAX AND
Được sử dụng để kiểm tra 2 đối số đúng hay sai. Nó sẽ trả về True khi cả hai đối số đúng, nếu một trong hai đối số sai hoặc cả hai sai nó sẽ trả về False.
Cú pháp: AND(<logical1>,<logical2>)
- Trong đó:
- <logical1> và <logical2> là biểu thức logic hoặc giá trị logic muốn kiểm tra.
- Hàm DAX OR
Cú pháp: OR(<logical1>,<logical2>)
- Trong đó:
- <logical1> và <logical2> là biểu thức logic hoặc giá trị logic muốn kiểm tra.
- Hàm DAX IF
Cú pháp: IF(<logical_test>, <value_if_true>[, <value_if_false>])
- Trong đó:
- <logical_test> là bất kỳ biểu thức hoặc giá trị muốn kiểm tra.
- <value_if_true> là giá trị được trả về nếu <logical_test> là TRUE.
- <value_if_false> là giá trị được trả về nếu <logical_test> là FALSE (không bắt buộc).
- Hàm DAX SWITCH
Cú pháp: SWITCH(<expression>, <value>, <result>[, <value>, <result>]…[, <else>])
- Trong đó:
- <expression> là một biểu thức hoặc một trường dữ liệu muốn đánh giá.
- <value> là giá trị muốn so sánh với biểu thức.
- <result> là giá trị mà hàm SWITCH sẽ trả về nếu biểu thức khớp với giá trị tương ứng.
- <else> là giá mặc định mà hàm SWITCH sẽ trả về nếu không có giá trị nào khớp với biểu thức.
- Các hàm toán và lượng giác
Các hàm toán và lượng giác là bộ hàm DAX trong Power BI được sử dụng rất phổ biến, được dùng để tích toán.
- Hàm DAX ABS
Cú pháp: ABS(<number>)
- Trong đó:
- <number> là số tính giá trị tuyệt đối.
- Hàm DAX CURRENCY
Cú pháp: CURRENCY(<value>)
- Trong đó:
- <value> là giá trị hoặc cột chứa giá trị muốn chuyển đổi thành định dạng tiền tệ.
- Hàm DAX SQRT
Cú pháp: SQRT(<number>)
- Trong đó:
- <number> là giá trị muốn tính căn bậc hai.
- Hàm DAX LOG10
Cú pháp: LOG10(<number>)
- Trong đó:
- <number> là một số dương tính logarit cơ số 10.
- Hàm thống kê
- Hàm DAX BETA.DIST
Cú pháp: BETA.DIST(x,alpha,beta,cumulative,[A],[B])
- Trong đó:
- x là giá trị giữa A và B để đánh giá hàm.
- alpha là tham số của phân phối beta.
- beta là tham số của phân phối beta.
- cumulative là giá trị logic xác định. Nếu cumulative là TRUE hàm BETA.DIST sẽ tính xác suất tích lũy từ 0 đến giá trị x. Ngược lại, nếu cumulative là FALSE hàm BETA.DIST sẽ tính xác suất không tích lũy.
- [A],[B] là giới hạn tùy chọn của miền giá trị phân phối beta. Nếu được xác định, [A],[B] phải là các giá trị hằng số không âm.
- Hàm DAX CONFIDENCE.NORM
Cú pháp: CONFIDENCE.NORM(alpha,standard_dev,size)
- Trong đó:
- alpha là mức độ tin cậy mong muốn, thường được biểu diễn dưới dạng %.
- standard_dev là độ lệch chuẩn của dữ liệu.
- size là kích thước mẫu.
- Hàm GEOMEAN
Hàm trả về giá trị trung bình hình học của số đã cho ở vị trí thập phân. Cú pháp: GEOMEAN(<column>)
- Trong đó:
- <column> là cột chứa các số mà giá trị trung bình hình học sẽ được tính toán.
- Hàm PERCENTILE.EXC
- Trong đó:
- <column> là tham số đầu tiên của hàm, đại diện cho phạm vi dữ liệu muốn tính giá trị phân vị.
- <k> là giá trị phần trăm nằm trong phạm vi từ 0 – 1.
- Hàm văn bản
- Hàm DAX CONCATENATE
Cú pháp: CONCATENATEX(<table>, <expression>[, <delimiter> [, <orderBy_expression> [, <order>]]…])
- Trong đó:
- <table> là bảng chứa các hàng mà hiểu thức sẽ được tính toán.
- <expression> là biểu thức được đánh giá cho mỗi hàng của bảng.
- <delimiter> là ký tự được sử dụng để phân tách giá trị văn bản sau khi nối, nếu không chỉ định nó sẽ được mặc định là một khoảng trắng
- <orderBy_expression> là biểu thức sắp xếp các giá trị trước khi nối.
- <order> là một tham số xác định thứ tự sắp xếp của các giá trị.
- Hàm DAX EXACT
Cú pháp: EXACT(<text1>,<text2>)
- Trong đó:
- <text1> và <text2> là hai chuỗi văn bản được sử dụng để so sánh.
- Hàm DAX FIND
Được sử dụng để tìm kiếm văn bản đã cho và trả về vị trí của văn bản. Cú pháp: FIND(<find_text>, <within_text>[, [<start_num>][, <NotFoundValue>]])
- Trong đó:
- <find_text> là chuỗi văn bản muốn tìm kiếm.
- <within_text> là văn bản chứa văn bản muốn tìm.
- <start_num> là vị trí bắt đầu tìm kiếm văn bản chuỗi <within_text>. Nếu không được chỉ định, hàm sẽ bắt đầu tìm kiếm từ vị trí đầu tiên trong chuỗi.
- <NotFoundValue> là giá trị mà hàm sẽ trả về nếu không tìm thấy <find_text> trong <within_text>. Nếu không được chỉ định, giá trị mặc định là 0.
- Hàm DAX SUBSTITUTE
Cú pháp: SUBSTITUTE(<text>, <old_text>, <new_text>, <instance_num>)
- Trong đó:
- <text> là chuỗi văn bản gốc muốn thực hiện thay thế.
- <old_text> là phần văn bản cần được thay thế trong chuỗi văn bản gốc.
- <new_text> là văn bản mới được sử dụng để thay thế <old_text> trong chuỗi văn bản gốc.
- <instance_num> là số nguyên xác định thứ tự xuất hiện của <old_text> muốn thay thế. Nếu không có giá trị này, tất cả các thể hiện của <old_text> trong chuỗi văn bản gốc sẽ được thay thế.
Bài viết trên đây là thông tin tổng quan về hàm DAX trong Power BI mà chúng tôi muốn chia sẻ. Cảm ơn các bạn đã quan tâm đến bài viết.
Công ty AGS cảm ơn bạn đã dành thời gian để đọc bài viết này. Hy vọng bạn đã có được những thông tin bổ ích. Hãy tiếp tục theo dõi chúng tôi để cập nhật thêm nhiều thông tin cũng như cơ hội việc làm tại AGS nhé.
Thông tin khác
Thông tin tuyển dụng và hướng dẫn

AGS luôn mở rộng cánh cửa cho những ứng viên muốn thử thách bản thân trong lĩnh vực Kế toán - Kiểm toán - Ngôn ngữ Nhật - Pháp lý - Nhân sự. Xem chi tiết bài viết để biết thêm về Thông tin tuyển dụng tại AGS bạn nhé!
https://mastering-da.com/ham-dax-trong-power-bi/