Tìm hiểu Cấu trúc chung của DAX – Các hàm DAX phổ biến trong Power BI

1. Cấu trúc chung của hàm DAX

Cấu trúc hàm DAX cơ bản được viết dưới dạng: 
Total Quantity: =SUM(Transactions[quantity])

Trong đó:

– Total Quantity: Tên Measure

*Lưu ý: Measures luôn ở trong dấu ngoặc vuông (ví dụ: [Total Quantity]), khi tham chiếu trong công thức, do vậy, có thể sử dụng dấu cách (space) trong tên Measure bởi nó luôn nằm trong dấu ngoặc ngăn cách

– Hàm (Function): Không phải lúc nào calculated column cũng sử dụng các hàm, nhưng measure thì luôn luôn

Trong đó có hai trường hợp

  • Trong một Calculated Column, hàm =Transaction[quantity] sẽ trả về giá trị là số lượng giao dịch cho từng hàng (ô) trong cột
  • Trong một Measure, hàm =Transaction[quantity] sẽ trả về một giá trị error do PowerBI không thể dịch hiểu như một giá trị riêng lẻ

Lí do có hai trường hợp này bởi Calculated Colum nhận diện được từng giá trị theo hàng trong cột, mà Measure lại không sử dụng được. Do vậy, kể cả không có hàm ở đẩu, Calculated Column vẫn tính toán được, còn Measure trả về kết quả lỗi.

– Tên Table tham chiếu

– Tên Column tham chiếu

2. Những hàm DAX thường dùng trong Power BI

DAX hay Data Analysis Expressions là tập hợp hàm, hằng số và toán tử nhằm mục đích sử dụng trong một công thức hoặc biểu thức để tính toán một hoặc nhiều giá trị. DAX trong Power BI có thể chia thành 5 nhóm:

  • Nhóm hàm DAX tính toán (Math & Stats Funtions)
  • Nhóm hàm DAX về thời gian (Date & Time)
  • Nhóm hàm DAX logic (Logical Functions)
  • Nhóm hàm DAX về Filter (Filter Function)
  • Nhóm hàm DAX về xử lý TEXT (Text Function)

Nhóm hàm DAX tính toán (math & stats funtions)

  • SUM
  • AVERAGE
  • MAX/MIN
  • SUMX
  • AVERAGEX
  • MAXX/MINX
  • DIVIDE
  • RANKX
  • COUNTX
  • COUNT/COUNTA
  • COUNTROWS
  • DISTINCOUNT



Nhóm hàm DAX về thời gian (Date & Time)

Các chức năng ngày và giờ cơ bản cũng như các hàm thời gian cơ bản nâng cao

  • YEAR/MONTH/DAY
  • HOUR/MINUTE/SECOND
  • DATEDIFF
  • YEARFRAC
  • TODAY/NOW
  • WEEKDAY/WEEKNUM

Đặc biệt trong PowerBI, các bạn cần chú ý đến loại hàm DAX về Time Intelligence nhằm xử lý số liệu cùng kỳ hoặc luỹ kế. 

  • DATESYD
  • DATESQTD
  • DATESMTD
  • DATEADD
  • DATESINPERIOD

Nhóm hàm DAX logic (Logical Functions)

  • IF
  • IFERROR
  • SWITCH
  • TRUE
  • FALSE
  • AND 
  • OR
  • NOT

Nhóm hàm DAX về Filter (Filter Function)

  • CALCULATE
  • FILTER
  • RELATED
  • RELATEDTABLE
  • DISTINCT
  • VALUES
  • ALL
  • ALLEXCEPT 
  • EARLIER/EARLIEST
  • ISFILTERED
  • USERELATIONSHIP
  • HASONEVALUE
  • HASONEFILTER

Nhóm hàm DAX về xử lý TEXT (Text Function)

  • LEFT/MID/RIGHT
  • CONCATENATE
  • FORMAT
  • UPPER/LOWER
  • PROPER
  • SUBTITUTE
  • TRIM
  • UNICHAR
  • LEN
  • SEARCH/FIND
  • REPLACE
  • REPT

3. Các sử dụng dấu trong DAX

Các dấu về số học và so sánh cơ bản: cộng, trừ, nhân, chia, mũ, lớn hơn, nhỏ hơn, bằng …. Các dấu này có ý nghĩa và sử dụng tương tự như excel.

Các dấu đặc biệt cần lưu ý:

  • &&: Tạo một điều kiện “và” giữa 2 biểu thức logic. Tức phải vừa đáp ứng điều kiện “State” và “Quantity” lẫn đáp ứng thêm điều kiện >10 (như hình ảnh bên dưới)
  • | | (double pipe): Tạo nên một điều kiện “Hoặc” giữa 2 biểu thức logic

Tự học Power BI theo rất nhiều các video hướng dẫn trên youtube Tại đây