Blog
19 phút đọc

Tổng quan về hàm DAX trong Power BI đầy đủ kiến thức

DAX là bộ hàm được sử dụng rất phổ biến trong Power BI, cho phép người dùng xây dựng và kiểm soát các trường dữ liệu. Nhờ đó mà quá trình phân tích, tính toán sẽ trở nên linh hoạt và mạnh mẽ hơn. Vậy bộ hàm DAX trong Power BI là gì? Hãy cùng Mastering DA tìm hiểu trong bài viết dưới đây nhé!

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

DAX – Data Analysis Expressions là một bộ hàm được sử dụng trong Power BI để phân tích dữ liệu. Nó cho phép người dùng tạo ra các biểu thức tính toán phức tạp và trường dữ liệu mới từ dữ liệu có sẵn.

Tổng quan về hàm DAX trong Power BI

Tổng quan 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.

Cú pháp của DAX

Cú pháp chung của hàm DAX

Cú pháp chung của hàm 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.

Tầm quan trọng của hàm DAX trong Power BI

Tầm quan trọng của hàm DAX

Tầm quan trọng của hàm DAX

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.

Tham khảo: Khóa học Power BI từ cơ bản đến chuyên sâu tại MDA

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

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 này được sử dụng để tính toán thời gian ở định dạng DateTime. Một số hàm ngày và giờ được sử dụng nhiều nhất:

Hàm DAX CALENDAR

Sử dụng để tạo ra một bảng chứa các ngày liên tiếp trong một khoảng thời gian xác định. 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

Được sử dụng để trả về giá trị DateTime hiện tại ở định dạng chuẩn. Cú pháp:

NOW()

Hàm DAX DATEVALUE

Được sử dụng để chuyển đổi một chuỗi văn bản đại diện cho ngày thành một giá trị ngày. 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 ngày và giờ

Hàm ngày và giờ

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 sử dụng để thêm một số lượng xác định của một đơn vị thời gian vào một ngày cụ thể. 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 sử dụng để trả về một bảng chứa các ngày nằm trong một khoảng thời gian xác định. 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 sử dụng để trả về ngày cuối cùng trong một khoảng thời gian. 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 sử dụng để trả về ngày cuối cùng của năm trong một ngày cụ thể. 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 Time Intelligence

Hàm Time Intelligence

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

Hàm sẽ trả về True khi một hoặc cả hai đối số đúng, ngược lại là False. 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 sử dụng để kiểm tra đối số đầu tiên được đưa ra trong cú pháp. Hàm trả về giá trị đầu tiên nếu điều kiện là TRUE, trả về giá trị thứ hai nếu điều kiện là FALSE. 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

Hàm đánh giá các đối số và trả về một trong các giá trị liệt kê không thoải điều kiện. 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.
Hàm Logic

Hàm Logic

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

Hàm trả về các giá trị tuyệt đối của một số nhất định. Có nghĩa là khi sử dụng hàm này thì các số sẽ bị xóa chữ: Cú pháp:

ABS(<number>)

Trong đó:

  • <number> là số tính giá trị tuyệt đối.

Hàm DAX CURRENCY

Được sử dụng để chuyển giá trị về dạng dữ liệu là tiền tệ. 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

Kết quả trả về là căn bậc hai của một số nhất định. Cú pháp:

SQRT(<number>)

Trong đó:

  • <number> là giá trị muốn tính căn bậc hai.

Hàm DAX LOG10

Đối với một số dương, hàm sẽ trả về giá trị theo logarit cơ số 10. Cú pháp:

LOG10(<number>)

Trong đó:

  • <number> là một số dương tính logarit cơ số 10.
Các hàm toán và lượng giác

Các hàm toán và lượng giác

Hàm thống kê

Hàm thống kê thường được sử dụng trong các mô hình thống kê và tổng hợp.

Hàm DAX BETA.DIST

Hàm được sử dụng để tính toán giá trị xác suất của phân phối beta. 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

Trả về khoảng tin cậy của dữ liệu. 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

Hàm trả về vị trí thứ k của các giá trị trong một phạm vi, trong đó k nằm trong phạm vi từ 0 – 1.

PERCENTILE.EXC(<column>, <k>)

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 thống kê

Hàm thống kê

Hàm văn bản

Hàm văn bản được dùng để làm việc với các dữ liệu chữ có trong bảng.

Hàm DAX CONCATENATE

Được sử dụng để nối hai văn bản làm một. 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 sử dụng để phân biệt chữ hoa với chữ thường khi so sánh hai văn bản. Hàm trả về True nếu chúng giống nhau, ngược lại là False. 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 sử dụng để thay thế văn bản đã chọn bằng một văn bản mới trong chuỗi nhất định. 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ẻ. Nếu như bạn muốn tìm hiểu chuyên sâu hơn về các kiến thức có liên quan đến hàm DAX thì hãy liên hệ với trung tâm MDA – Mastering Data Analytics để được tư vấn chi tiết về khóa học phân tích dữ liệu kinh doanh nhé!