zalo-icon
facebook-icon
phone-icon
TechData.AI Logo
POWERBI DAX CHO NGƯỜI MỚI BẮT ĐẦU

POWERBI DAX CHO NGƯỜI MỚI BẮT ĐẦU

Chào mừng bạn đến với thế giới của Power BI và DAX! Nếu bạn đang tìm kiếm cách để biến dữ liệu thô thành những thông tin chi tiết đầy giá trị, Power BI chính là công cụ mạnh mẽ dành cho bạn. Và để thực sự làm chủ Power BI, việc hiểu và sử dụng DAX (Data Analysis Expressions) là chìa khóa. Bài viết này sẽ là kim chỉ nam đầu tiên, giúp bạn những bước chân vững chắc nhất vào ngôn ngữ phân tích dữ liệu đầy quyền năng này. Chúng ta sẽ cùng nhau khám phá DAX một cách đơn giản, dễ hiểu, không cần phải là chuyên gia công nghệ.

DAX Là Gì Và Tại Sao Nó Quan Trọng Trong Power BI?

Hãy hình dung thế này: bạn có một kho dữ liệu khổng lồ, chứa đựng mọi giao dịch, doanh số, thông tin khách hàng. Power BI giúp bạn sắp xếp, hiển thị dữ liệu đó qua những biểu đồ, bảng biểu đẹp mắt. Nhưng nếu bạn muốn hỏi những câu hỏi phức tạp hơn, ví dụ như "Tổng doanh thu trung bình mỗi tháng của các khách hàng mới là bao nhiêu?", hoặc "Phần trăm tăng trưởng doanh số so với cùng kỳ năm trước là bao nhiêu?", lúc này, Power BI cần một "ngôn ngữ" để hiểu và thực hiện những phép tính đó. Ngôn ngữ đó chính là DAX.

DAX là một tập hợp các hàm, toán tử và hằng số được sử dụng trong Power BI (cũng như Power Pivot trong Excel và SSAS Tabular) để tạo ra các công thức và biểu thức. Nó giống như bộ não giúp dữ liệu của bạn "sống dậy" và trở nên có ý nghĩa. Không chỉ dừng lại ở các phép tính cộng, trừ, nhân, chia đơn giản, DAX cho phép bạn thực hiện các phép phân tích phức tạp, tính toán các chỉ số kinh doanh quan trọng (KPIs) và tạo ra các mô hình dữ liệu linh hoạt.

Vậy, tại sao DAX lại quan trọng đến vậy?

  • Tăng cường khả năng phân tích: DAX biến Power BI từ một công cụ hiển thị dữ liệu thành một nền tảng phân tích kinh doanh mạnh mẽ. Nó cho phép bạn đi sâu vào dữ liệu, tìm kiếm các xu hướng, mẫu hình và insight mà các công cụ báo cáo thông thường không thể làm được.
  • Tạo ra các chỉ số kinh doanh tùy chỉnh: Mọi doanh nghiệp đều có những chỉ số hiệu suất đặc thù. DAX giúp bạn định nghĩa và tính toán những chỉ số này một cách chính xác, từ doanh thu, lợi nhuận, chi phí, đến tỷ lệ chuyển đổi, giá trị khách hàng trọn đời (LTV), v.v.
  • Linh hoạt và năng động: Các công thức DAX tự động điều chỉnh khi bạn tương tác với báo cáo của mình (ví dụ: lọc theo khu vực, thời gian). Điều này có nghĩa là bạn chỉ cần viết công thức một lần, và nó sẽ hoạt động đúng cho mọi ngữ cảnh dữ liệu bạn chọn.
  • Tối ưu hóa hiệu suất: Khi được viết đúng cách, các công thức DAX có thể xử lý lượng lớn dữ liệu một cách hiệu quả, đảm bảo báo cáo của bạn luôn nhanh chóng và phản hồi tốt.

Tóm lại, nếu bạn muốn biến dữ liệu thành một câu chuyện có ý nghĩa, DAX là ngôn ngữ bạn cần học để kể câu chuyện đó. Nó mở ra cánh cửa cho sự sáng tạo và khám phá dữ liệu không giới hạn.

Bắt Đầu Với Những Khái Niệm Cơ Bản Nhất Của DAX

Để làm quen với DAX, chúng ta cần hiểu hai khái niệm cốt lõi: Biện pháp (Measures) và Cột Tính Toán (Calculated Columns). Đây là hai cách chính để bạn thêm các phép tính vào mô hình dữ liệu của mình.

1. Biện pháp (Measures)

Hãy nghĩ về Measures như những "phép tính động". Chúng không lưu trữ kết quả trực tiếp vào mô hình dữ liệu của bạn. Thay vào đó, chúng tính toán kết quả *khi bạn cần*, dựa trên ngữ cảnh mà bạn đang xem dữ liệu. Ví dụ, khi bạn kéo một Measure "Tổng Doanh Thu" vào một biểu đồ, Power BI sẽ tính toán tổng doanh thu cho từng điểm dữ liệu trên biểu đồ đó (ví dụ: tổng doanh thu theo tháng, theo khu vực, theo sản phẩm). Measures được sử dụng rộng rãi nhất trong Power BI vì tính linh hoạt và hiệu quả của chúng.

Ví dụ cơ bản về Measure: Tính tổng doanh thu

Tổng Doanh Thu = SUM('Sales'[Amount])

Giải thích:

  • Tổng Doanh Thu: Tên của Measure bạn muốn tạo.
  • SUM: Một hàm DAX cơ bản để tính tổng.
  • 'Sales'[Amount]: Chỉ định cột 'Amount' trong bảng 'Sales' mà bạn muốn tính tổng.

2. Cột Tính Toán (Calculated Columns)

Ngược lại với Measures, Calculated Columns là những cột mới mà bạn thêm vào bảng hiện có, và giá trị của chúng được tính toán cho *mỗi dòng* của bảng đó. Kết quả của Calculated Column được lưu trữ trong mô hình dữ liệu. Điều này hữu ích khi bạn muốn phân loại hoặc thêm thông tin mới dựa trên các cột hiện có, ví dụ như tạo một cột "Năm" từ cột "Ngày" hoặc "Danh mục sản phẩm" từ "ID sản phẩm".

Ví dụ cơ bản về Calculated Column: Tạo cột "Doanh Thu Ròng"

Doanh Thu Ròng = 'Sales'[DoanhThu] - 'Sales'[ChiPhi]

Giải thích:

  • Doanh Thu Ròng: Tên của cột mới bạn muốn tạo.
  • 'Sales'[DoanhThu]: Lấy giá trị từ cột 'DoanhThu' trong bảng 'Sales' cho từng dòng.
  • 'Sales'[ChiPhi]: Lấy giá trị từ cột 'ChiPhi' trong bảng 'Sales' cho từng dòng.

Mỗi dòng trong cột 'Doanh Thu Ròng' sẽ hiển thị kết quả của phép trừ tương ứng trên cùng dòng đó. Calculated Columns tiêu tốn bộ nhớ hơn Measures vì chúng lưu trữ giá trị cho mỗi dòng, vì vậy hãy cân nhắc sử dụng chúng khi thực sự cần thiết.

3. Ngữ cảnh (Context) – Một Khái Niệm Quan Trọng

Đây là phần có thể hơi trừu tượng một chút, nhưng lại là chìa khóa để hiểu DAX. Ngữ cảnh là cách DAX hiểu dữ liệu nào cần được tính toán. Có hai loại ngữ cảnh chính:

  • Ngữ cảnh Dòng (Row Context): Khi bạn tạo một Calculated Column, công thức của bạn sẽ được đánh giá cho *mỗi dòng một cách độc lập*. Đây chính là ngữ cảnh dòng. Ví dụ trên về "Doanh Thu Ròng" được tính trong ngữ cảnh dòng. Mỗi dòng sẽ tự tính toán 'DoanhThu' trừ 'ChiPhi' của riêng nó.
  • Ngữ cảnh Bộ Lọc (Filter Context): Đây là ngữ cảnh phức tạp hơn và quan trọng hơn trong Measures. Khi bạn kéo một Measure vào một biểu đồ hoặc bảng, Power BI tự động áp dụng các bộ lọc dựa trên những gì bạn đang hiển thị. Ví dụ, nếu bạn có biểu đồ hiển thị doanh thu theo từng tháng, khi DAX tính toán doanh thu cho tháng 1, nó sẽ tự động lọc toàn bộ dữ liệu chỉ còn lại của tháng 1 và sau đó tính tổng. Đó chính là ngữ cảnh bộ lọc đang hoạt động. Các bộ lọc có thể đến từ lát cắt (slicers), bộ lọc trang (page filters), bộ lọc báo cáo (report filters), hoặc các mối quan hệ giữa các bảng.

Hiểu về ngữ cảnh sẽ giúp bạn viết các công thức DAX chính xác và mạnh mẽ hơn, đặc biệt khi sử dụng các hàm thay đổi ngữ cảnh như CALCULATE.

Các Hàm DAX Phổ Biến Dành Cho Người Mới Học

Bây giờ, chúng ta sẽ đi sâu vào một số hàm DAX cơ bản và quan trọng nhất mà bạn sẽ sử dụng hàng ngày. Đây là những viên gạch đầu tiên để xây dựng các phép tính phức tạp hơn.

Các Hàm Tổng Hợp (Aggregation Functions)

Đây là những hàm bạn dùng để tóm tắt dữ liệu, thường là trong Measures.

  • SUM(ColumnName): Tính tổng tất cả các số trong một cột.
  • Tổng Số Lượng Bán = SUM('Sales'[OrderQuantity])
        
  • AVERAGE(ColumnName): Tính giá trị trung bình của các số trong một cột.
  • Giá Trị Đơn Hàng Trung Bình = AVERAGE('Sales'[Amount])
        
  • COUNT(ColumnName): Đếm số lượng giá trị không trống trong một cột.
  • Số Lượng Giao Dịch = COUNT('Sales'[SalesOrderNumber])
        
  • DISTINCTCOUNT(ColumnName): Đếm số lượng giá trị duy nhất (không trùng lặp) trong một cột.
  • Số Lượng Khách Hàng Duy Nhất = DISTINCTCOUNT('Sales'[CustomerID])
        
  • MIN(ColumnName): Tìm giá trị nhỏ nhất trong một cột.
  • Giá Bán Thấp Nhất = MIN('Product'[UnitPrice])
        
  • MAX(ColumnName): Tìm giá trị lớn nhất trong một cột.
  • Giá Bán Cao Nhất = MAX('Product'[UnitPrice])
        

Hàm CALCULATE – Trái Tim Của DAX

Nếu phải chọn một hàm quan trọng nhất trong DAX, đó chắc chắn là CALCULATE. Hàm này cho phép bạn thay đổi ngữ cảnh bộ lọc (Filter Context) mà một biểu thức được tính toán. Nó giống như việc bạn nói với Power BI: "Hãy tính toán cái này, nhưng *chỉ* cho những dữ liệu đáp ứng điều kiện này thôi."

Cú pháp cơ bản:

CALCULATE(<Biểu Thức>, <Bộ Lọc 1>, <Bộ Lọc 2>, ...)

Ví dụ: Tính tổng doanh thu cho một khu vực cụ thể

Doanh Thu Miền Bắc = CALCULATE(SUM('Sales'[Amount]), 'Region'[RegionName] = "Miền Bắc")

Giải thích:

  • SUM('Sales'[Amount]): Đây là biểu thức mà chúng ta muốn tính toán (tổng doanh thu).
  • 'Region'[RegionName] = "Miền Bắc": Đây là bộ lọc mới. CALCULATE sẽ ghi đè hoặc thêm bộ lọc này vào bất kỳ bộ lọc nào khác đang tồn tại. Kết quả là, tổng doanh thu chỉ được tính cho các giao dịch thuộc khu vực "Miền Bắc".

CALCULATE là một hàm cực kỳ mạnh mẽ, mở ra khả năng tính toán so sánh, tỷ lệ, và nhiều phân tích phức tạp khác.

Các Hàm Hỗ Trợ Khác

  • RELATED(ColumnName): Được dùng trong Calculated Columns để lấy giá trị từ một bảng khác có liên quan.
  • Ví dụ: Bạn có bảng 'Sales' và bảng 'Product'. Bạn muốn thêm tên sản phẩm vào bảng 'Sales'.

    Tên Sản Phẩm = RELATED('Product'[ProductName])
        

    (Để hàm này hoạt động, phải có mối quan hệ 1 nhiều giữa bảng 'Product' và 'Sales'.)

  • ALL(Table or Column): Xóa tất cả các bộ lọc khỏi một bảng hoặc một cột. Rất hữu ích khi bạn muốn tính toán tổng thể hoặc so sánh với tổng thể.
  • Ví dụ: Tính phần trăm doanh thu của mỗi sản phẩm so với tổng doanh thu toàn bộ.

    Tổng Doanh Thu Toàn Bộ = CALCULATE(SUM('Sales'[Amount]), ALL('Sales'))
    Phần Trăm Doanh Thu Sản Phẩm = DIVIDE([Tổng Doanh Thu], [Tổng Doanh Thu Toàn Bộ])
        

    ALL('Sales') ở đây có nghĩa là "bỏ qua mọi bộ lọc đang có trên bảng Sales, và tính tổng doanh thu trên toàn bộ bảng Sales".

  • FILTER(Table, Expression): Trả về một bảng đã được lọc. Thường được sử dụng bên trong các hàm khác, đặc biệt là CALCULATE.
  • Ví dụ: Tổng doanh thu từ các giao dịch có số lượng lớn hơn 10.

    Doanh Thu Giao Dịch Lớn = CALCULATE(SUM('Sales'[Amount]), FILTER('Sales', 'Sales'[OrderQuantity] > 10))
        

    Ở đây, FILTER tạo ra một bảng ảo chỉ chứa các dòng mà OrderQuantity lớn hơn 10, sau đó CALCULATE tính tổng Amount trên bảng ảo đó.

  • IF(LogicalTest, ValueIfTrue, ValueIfFalse): Thực hiện kiểm tra logic và trả về một giá trị dựa trên kết quả.
  • Ví dụ: Phân loại doanh thu là "Cao" hoặc "Thấp". (Thường dùng trong Calculated Column)

    Phân Loại Doanh Thu = IF('Sales'[Amount] > 1000, "Cao", "Thấp")
        

Đây chỉ là một vài trong số hàng trăm hàm DAX có sẵn. Tuy nhiên, việc nắm vững những hàm cơ bản này sẽ giúp bạn có nền tảng vững chắc để khám phá các hàm phức tạp hơn sau này.

Xây Dựng Những Biện Pháp DAX Đầu Tiên Của Bạn

Lý thuyết là một chuyện, thực hành lại là chuyện khác. Hãy cùng xây dựng một số Measures thực tế mà bạn có thể áp dụng ngay vào báo cáo Power BI của mình. Giả sử chúng ta có một bảng 'Sales' với các cột như 'Amount' (Doanh thu), 'Cost' (Chi phí), 'OrderDate' (Ngày đặt hàng).

Ví dụ 1: Tổng Doanh Thu

Đây là Measure cơ bản nhất, dùng để tổng hợp cột 'Amount'.

Tổng Doanh Thu = SUM('Sales'[Amount])

Cách tạo trong Power BI: 1. Trong Power BI Desktop, chọn bảng 'Sales' trong phần 'Fields'. 2. Nhấp chuột phải vào bảng 'Sales' và chọn "New measure" (Biện pháp mới). 3. Dán công thức trên vào thanh công thức và nhấn Enter.

Bây giờ bạn có thể kéo 'Tổng Doanh Thu' vào bất kỳ biểu đồ hoặc bảng nào để xem tổng doanh thu theo các tiêu chí khác nhau.

Ví dụ 2: Tổng Lợi Nhuận

Để tính lợi nhuận, chúng ta cần lấy doanh thu trừ đi chi phí. Nếu bạn có cột 'Cost' trong bảng 'Sales':

Tổng Lợi Nhuận = SUM('Sales'[Amount]) - SUM('Sales'[Cost])

Hoặc, bạn có thể tham chiếu đến Measure 'Tổng Doanh Thu' đã tạo:

Tổng Lợi Nhuận = [Tổng Doanh Thu] - SUM('Sales'[Cost])

Cách thứ hai giúp công thức của bạn gọn gàng và dễ bảo trì hơn.

Ví dụ 3: Biên Lợi Nhuận (Phần Trăm)

Biên lợi nhuận là một chỉ số quan trọng, tính bằng Lợi nhuận chia cho Doanh thu. Để tránh lỗi chia cho 0, chúng ta nên sử dụng hàm DIVIDE.

Biên Lợi Nhuận % = DIVIDE([Tổng Lợi Nhuận], [Tổng Doanh Thu], 0)

Tham số thứ ba trong DIVIDE (là 0) là giá trị sẽ được trả về nếu phép chia gặp lỗi (ví dụ: mẫu số bằng 0), giúp báo cáo của bạn không bị lỗi. Sau khi tạo Measure này, hãy định dạng nó thành phần trăm trong phần 'Modeling' của Power BI.

Ví dụ 4: Doanh Thu Năm Trước (Year Over Year)

Đây là một ví dụ tuyệt vời cho thấy sức mạnh của CALCULATE và các hàm thời gian (Time Intelligence Functions). Để tính doanh thu của cùng kỳ năm trước, chúng ta cần một bảng ngày tháng được đánh dấu là bảng ngày tháng trong mô hình của bạn.

Doanh Thu Năm Trước = CALCULATE(
    [Tổng Doanh Thu],
    SAMEPERIODLASTYEAR('Date'[Date])
)

Giải thích:

  • SAMEPERIODLASTYEAR('Date'[Date]): Đây là một hàm thời gian, nó dịch chuyển ngữ cảnh bộ lọc hiện tại lùi lại 1 năm. Nếu bạn đang xem tháng 3 năm 2023, hàm này sẽ lọc dữ liệu cho tháng 3 năm 2022.
  • CALCULATE: Áp dụng bộ lọc thời gian này vào việc tính toán 'Tổng Doanh Thu'.

Ví dụ 5: Tỷ Lệ Tăng Trưởng Doanh Thu So Với Năm Trước

Kết hợp các Measure trên, chúng ta có thể tính toán tăng trưởng:

Tăng Trưởng Doanh Thu % = DIVIDE(
    [Tổng Doanh Thu] - [Doanh Thu Năm Trước],
    [Doanh Thu Năm Trước],
    0
)

Measure này sẽ cho bạn biết doanh thu đã tăng trưởng bao nhiêu phần trăm so với cùng kỳ năm trước. Sau khi tạo, hãy định dạng nó thành phần trăm.

Những ví dụ này chỉ là khởi đầu. Khi bạn đã nắm vững cách tạo và kết hợp các Measures cơ bản, bạn sẽ nhận ra rằng khả năng phân tích với DAX gần như là vô hạn. Điều quan trọng là bắt đầu từ những điều nhỏ nhất, thực hành thường xuyên và luôn tự hỏi "Làm thế nào để tôi có thể tính toán chỉ số này?"

Nâng Cao Kỹ Năng DAX Cùng TechData.AI

Hành trình làm chủ DAX không chỉ dừng lại ở những công thức cơ bản. Để thực sự tạo ra những báo cáo Power BI đột phá, cung cấp thông tin chi tiết sâu sắc và hỗ trợ quyết định kinh doanh hiệu quả, việc liên tục học hỏi và rèn luyện là điều cần thiết. Nắm vững DAX giúp bạn không chỉ là người tạo báo cáo, mà còn là kiến trúc sư dữ liệu, người có thể biến dữ liệu thành câu chuyện thành công.

Tại TechData.AI, chúng tôi hiểu rõ giá trị của dữ liệu và sức mạnh của việc phân tích đúng đắn. Chúng tôi tin rằng bất kỳ ai cũng có thể học cách khai thác tiềm năng của DAX, miễn là có phương pháp tiếp cận phù hợp và sự hướng dẫn tận tình. Với đội ngũ chuyên gia giàu kinh nghiệm và tâm huyết, chúng tôi cam kết mang đến những kiến thức chuyên sâu nhưng được truyền tải một cách đơn giản, dễ hiểu, giúp bạn xây dựng nền tảng vững chắc và phát triển kỹ năng DAX một cách nhanh chóng.

Khi bạn nắm vững DAX, bạn sẽ không chỉ tự tin hơn trong công việc mà còn mở ra nhiều cơ hội phát triển sự nghiệp. Bạn sẽ có khả năng:

  • Giải quyết các bài toán kinh doanh phức tạp: Từ việc tối ưu hóa chuỗi cung ứng đến dự báo xu hướng thị trường, DAX là công cụ mạnh mẽ.
  • Tạo ra các báo cáo động và tương tác: Biến báo cáo tĩnh thành một công cụ khám phá dữ liệu trực quan, cho phép người dùng tự mình tìm kiếm câu trả lời.
  • Nổi bật trong vai trò phân tích dữ liệu: Kỹ năng DAX nâng cao sẽ giúp bạn trở thành một tài sản quý giá cho bất kỳ tổ chức nào.
  • Định hình chiến lược kinh doanh: Cung cấp các insight kịp thời và chính xác để đưa ra các quyết định sáng suốt, thúc đẩy tăng trưởng.

Chúng tôi tại TechData.AI không chỉ cung cấp kiến thức, mà còn truyền cảm hứng để bạn khám phá những khả năng vô tận của dữ liệu. Hãy để chúng tôi đồng hành cùng bạn trên chặng đường chinh phục DAX và Power BI, biến những con số khô khan thành những câu chuyện đầy thuyết phục về thành công.

Tổng Kết

DAX ban đầu có thể có vẻ phức tạp, nhưng với sự kiên trì và thực hành, bạn sẽ sớm nhận ra vẻ đẹp và sức mạnh của nó. Bài viết này đã cung cấp cho bạn cái nhìn tổng quan về DAX, các khái niệm cơ bản và những ví dụ thực tế. Hãy bắt đầu ngay hôm nay bằng cách mở Power BI Desktop, nhập một vài dữ liệu và thử nghiệm với các công thức DAX đơn giản. Đó là cách tốt nhất để học.

Nếu bạn thấy bài viết này hữu ích, đừng ngần ngại chia sẻ nó với bạn bè hoặc đồng nghiệp đang quan tâm đến Power BI và phân tích dữ liệu. Việc chia sẻ kiến thức là cách tuyệt vời để cùng nhau phát triển. Chúng tôi luôn sẵn lòng hỗ trợ bạn trên con đường trở thành một chuyên gia phân tích dữ liệu.

Bạn muốn đi sâu hơn vào DAX và các công cụ phân tích dữ liệu khác? Hãy tìm hiểu thêm về các khóa học và giải pháp của TechData.AI. Chúng tôi luôn ở đây để cung cấp những giá trị thực tiễn nhất, giúp bạn và doanh nghiệp của bạn phát triển mạnh mẽ trong kỷ nguyên dữ liệu.

MagicFlow | TechData.AI
Scroll to Top