Bắt đầu Nhanh: Tìm hiểu Kiến thức cơ bản về DAX trong 30 Phút

Quan trọng:  Bài viết này là dịch máy, hãy xem tuyên bố miễn trừ trách nhiệm. Bạn hãy tìm phiên bản tiếng Anh của bài viết này tại đây để tham khảo.

Hướng dẫn Bắt đầu Nhanh này dành cho những người dùng mới sử dụng Power Pivot trong Excel hoặc các dự án mô hình dạng bảng được lập tác giả trong Công cụ Dữ liệu SQL Server. Mục đích của phần này là giúp bạn nắm bắt nhanh chóng và dễ dàng cách thức dùng Biểu thức Phân tích Dữ liệu (DAX) để giải quyết một số cách lập mô hình dữ liệu cơ bản và các vấn đề phân tích. Chủ đề này đề cập các thông tin mang tính khái niệm, một chuỗi các tác vụ bạn có thể thực hiện và một vài bài kiểm tra những kiến thức bạn đã học. Sau khi hoàn thành xong chủ đề này, bạn sẽ hiểu rõ các khái niệm chủ yếu cơ bản nhất trong DAX.

DAX là gì?

DAX là một tập hợp các hàm, toán tử và hằng số có thể được sử dụng trong công thức hoặc biểu thức để tính và trả về một hoặc nhiều giá trị. Nói một cách đơn giản hơn, DAX giúp bạn tạo thông tin mới từ dữ liệu đã có trong mẫu của bạn.

Tại sao DAX lại quan trọng đến như vậy?

Tạo sổ làm việc và nhập một số dữ liệu vào sổ tài liệu đó thật dễ dàng. Thậm chí bạn có thể tạo PivotTable hoặc PivotChart hiển thị thông tin quan trọng mà không cần phải sử dụng bất kỳ công thức DAX nào. Nhưng nếu bạn cần phân tích dữ liệu bán hàng quan trọng qua một vài thể loại sản phẩm và cho các phạm vi ngày khác nhau thì sao? Hoặc nếu bạn cần kết hợp dữ liệu tồn kho quan trọng từ một vài bảng trong các nguồn dữ liệu khác nhau thì sao? Công thức DAX cung cấp tính năng này cũng như nhiều tính năng quan trọng khác. Việc tìm hiểu cách tạo công thức DAX hiệu quả sẽ giúp bạn tận dụng tối đa dữ liệu của mình. Khi bạn nhận được dữ liệu mình cần, bạn có thể bắt đầu giải quyết những vấn đề kinh doanh thực tế ảnh hưởng đến kết quả kinh doanh của mình. Đây là Nghiệp vụ Thông minh và DAX sẽ giúp bạn thực hiện ngay tại chỗ.

Điều kiện tiên quyết

Bạn có thể đã quen với việc tạo các công thức trong Microsoft Excel. Kiến thức đó sẽ hữu ích khi tìm hiểu về DAX. Tuy nhiên, ngay cả khi bạn không có chút kinh nghiệm nào với công thức Excel, các khái niệm được mô tả tại đây sẽ giúp bạn bắt đầu tạo công thức DAX và giải quyết các vấn đề Nghiệp vụ Thông minh trong thế giới thực ngay lập tức.

Chúng tôi sẽ tiêu điểm cụ thể trên tìm hiểu về công thức DAX sử dụng trong phép tính. Bạn phải đã quen với khái niệm cơ bản của cả cột được tính toánsố đo (còn được gọi là trường được tính toán), cả hai đều được mô tả trong Power Pivot trợ giúp. Bạn cũng nên làm quen với Power Pivot trong Excel biên soạn công cụ và môi trường.

Sổ làm việc Mẫu

Cách tốt nhất để học DAX là tạo một số công thức cơ bản, dùng với một số dữ liệu thực và tự xem kết quả. Các ví dụ và tác vụ ở đây dùng sổ làm việc Contoso Sample DAX Formulas.xlsx. Bạn có thể tải xuống sổ làm việc này từ http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x409. Khi bạn đã tải sổ làm việc xuống máy tính, hãy mở sổ làm việc đó rồi mở cửa sổ Power Pivot.

Hãy Bắt đầu!

Chúng tôi sẽ trình bày DAX theo ba khái niệm cơ bản rất quan trọng: Cú pháp, Hàm và Ngữ cảnh. Tất nhiên còn có những khái niệm quan trọng khác trong DAX nhưng việc tìm hiểu những khái niệm này sẽ mang lại nền tảng vững chắc nhất để tạo các kỹ năng DAX của bạn.

Cú pháp

Trước khi bạn tạo công thức của riêng bạn, hãy xem qua một chút về cú pháp công thức DAX. Cú pháp bao gồm các phần tử khác nhau tạo thành công thức hoặc đơn giản hơn là cách công thức được viết ra. Ví dụ, hãy xem công thức DAX đơn giản được sử dụng để tạo dữ liệu mới (giá trị) cho từng hàng trong cột được tính có tên Margin trong bảng FactSales: (màu văn bản của công thức chỉ dùng cho mục đích minh hoạ)

Công thức cột được tính

Cú pháp của công thức này bao gồm các phần tử sau đây:

  1. Toán tử dấu bằng (=) cho biết phần đầu của công thức và thời điểm công thức này được tính, công thức sẽ trả về một kết quả hoặc giá trị. Tất cả công thức tính giá trị sẽ bắt đầu bằng dấu bằng.

  2. Cột tham chiếu [SalesAmount] chứa các giá trị chúng tôi muốn trừ. Tham chiếu cột trong công thức luôn nằm trong dấu ngoặc vuông []. Không giống như công thức Excel tham chiếu một ô, công thức DAX luôn tham chiếu một cột.

  3. Toán tử toán học phép trừ (-).

  4. Cột được tham chiếu [TotalCost] chứa các giá trị chúng tôi muốn trừ khỏi các giá trị trong cột [SalesAmount].

Khi tìm hiểu cách đọc công thức DAX, việc phân tích từng phần tử sang ngôn ngữ bạn sử dụng hàng ngày thường hữu ích. Ví dụ, bạn có thể đọc công thức này ở dạng:

Trong các FactSales bảng, cho mỗi hàng trong cột được tính Margin, tính (=) một giá trị bằng cách trừ đi (-) giá trị trong các [ TotalCost ] cột từ giá trị trong các [ SalesAmount ] cột.

Chúng ta hãy xem loại công thức, được sử dụng trong một số đo khác:

Công chức cột được tính

Công thức này bao gồm các phần tử cú pháp sau đây:

  1. Thước đo tên Sum of Sales Amount. Công thức cho thước đo có thể bao gồm tên của thước đo, theo sau là dấu hai chấm, theo sau là công thức tính.

  2. Toán tử dấu bằng (=) cho biết phần đầu của công thức tính. Khi được tính, công thức sẽ trả về một kết quả.

  3. Hàm SUM tính tổng tất cả các số trong cột [SalesAmount]. Bạn sẽ tìm hiểu thêm về các hàm sau này.

  4. Dấu ngoặc đơn () bao quanh một hoặc nhiều đối số. Tất cả hàm yêu cầu ít nhất một đối số. Đối số chuyển giá trị vào hàm.

  5. Bảng được tham chiếu FactSales.

  6. Cột tham chiếu [SalesAmount] trong bảng FactSales. Với đối số này, hàm SUM biết cột nào tổng hợp SUM.

Bạn có thể đọc công thức này ở dạng:

Cho các thước đo có tên Sum of Sales Amount, tính (=) Tổng giá trị trong các [ SalesAmount ] cột trong các FactSales bảng.

Khi được đặt thành các giá trị vùng trong một danh sách trường PivotTable thả, số đo này tính toán và trả về giá trị được xác định bởi từng ô trong PivotTable, ví dụ, điện thoại di động tại Hoa Kỳ.

Lưu ý có một vài điều khác về công thức này khi so sánh với công thức chúng tôi đã sử dụng cho cột được tính Margin. Đặc biệt, chúng tôi đã giới thiệu hàm SUM. Hàm là công thức được viết trước giúp dễ dàng hơn khi thực hiện các phép tính phức tạp và điều khiển với số, ngày, thời gian, văn bản và hơn thế nữa. Bạn sẽ tìm hiểu thêm về các hàm sau này.

Không giống như cột được tính Margin Phiên bản cũ hơn, bạn hãy xem cột [SalesAmount] đã có bảng FactSales trong đó cột thuộc đơn phía trước. Điều này được gọi là tên cột đủ điều kiện trong đó bao gồm các tên cột có đơn tên bảng. Cột được tham chiếu trong cùng một bảng không yêu cầu tên bảng được bao gồm trong công thức. Điều này có thể làm cho công thức dài tham chiếu nhiều cột ngắn hơn và dễ đọc hơn. Tuy nhiên, đó là nên luôn đưa tên bảng trong công thức số đo của bạn, ngay cả khi trong cùng một bảng.

Ghi chú: Nếu tên bảng chứa dấu cách, từ khoá riêng hoặc ký tự không cho phép, bạn phải đặt tên bảng trong dấu nháy đơn. Bạn cũng phải thêm dấu nháy kép vào tên bảng nếu tên đó chứa bất kỳ ký tự nào bên ngoài phạm vi ký tự chữ và số ANSI, bất kể ngôn ngữ của bạn có hỗ bộ ký tự đó hay không.

Điều vô cùng quan trọng là công thức của bạn phải có cú pháp đúng. Trong đa số các trường hợp, nếu cú pháp không đúng sẽ trả về thông báo lỗi cú pháp. Trong các trường hợp khác, cú pháp có thể đúng, nhưng giá trị trả về có thể không phải là điều bạn đang mong đợi. Power Pivot (và Công cụ Dữ liệu SQL Server) bao gồm IntelliSense; một tính năng được dùng để tạo các công thức có cú pháp đúng bằng cách giúp bạn chọn đúng phần tử.

Hãy tạo công thức đơn giản. Tác vụ này sẽ giúp bạn hiểu kỹ hơn về cú pháp công thức và cách tính năng IntelliSense trong thanh công thức có thể giúp bạn.

Tác vụ: Tạo công thức đơn giản cho cột được tính

  1. Nếu bạn không phải là đã có trong cửa sổ Power Pivot trong Excel, trên các Power Pivot ruy-băng, bấm Power Pivot cửa sổ.

  2. Trong cửa sổ Power Pivot, hãy bấm bảng (tab) FactSales.

  3. Cuộn đến cột ngoài cùng bên phải rồi trong tiêu đề cột, bấm Thêm Cột.

  4. Bấm vào thanh công thức dọc phía trên cùng của cửa sổ bộ thiết kế mẫu.

    Thanh Công thức PowerPivot

    Con trỏ của bạn hiện xuất hiện trong thanh công thức. Thanh công thức là nơi bạn có thể gõ công thức cho cột được tính hoặc trường được tính toán.

    Hãy dành chút thời gian xem qua ba nút ở phía trái thanh công thức.

    Thanh công thức

    Khi con trỏ hoạt động trong thanh công thức, ba nút đó sẽ hoạt động. Nút ngoài cùng bên trái X đơn giản chỉ là nút huỷ. Hãy tiếp tục và bấm vào nút đó. Con trỏ của bạn không còn xuất hiện trong thanh công thức và nút huỷ cũng như nút dấu kiểm không còn xuất hiện nữa. Hãy tiếp tục và bấm lại vào thanh công thức. Nút huỷ và nút dấu kiểm giờ sẽ xuất hiện trở lại. Điều này có nghĩa là bạn đã sẵn sàng bắt đầu nhập công thức.

    Nút dấu kiểm là nút công thức chọn. Nút này không thực hiện gì cho đến khi bạn đã nhập một công thức. Chúng tôi sẽ quay trở lại sau giây lát.

    Bấm vào nút Fx . Bạn sẽ thấy rằng một hộp thoại mới xuất hiện; hộp thoại chèn hàm. Hộp thoại chèn hàm là cách dễ nhất để bắt đầu nhập một công thức DAX. Chúng tôi sẽ thêm hàm vào công thức khi chúng ta tạo một số đo hơi sau này, nhưng bây giờ, bạn không cần thêm hàm vào công thức cột được tính toán của bạn. Tiếp tục và đóng hộp thoại chèn hàm.

  5. Trong thanh công thức, gõ dấu bằng =, sau đó gõ dấu ngoặc vuông mở [. Bạn sẽ thấy cửa sổ nhỏ xuất hiện có tất cả các cột trong bảng FactSales. Điều này có nghĩa là IntelliSense đang hoạt động.

    Do cột được tính luôn được tạo trong bảng hoạt động bạn có mặt, bạn không cần đặt tên bảng trước tên cột nữa. Hãy tiếp tục và cuộn xuống rồi bấm đúp vào [SalesQuantity]. Bạn cũng có thể cuộn đến tên cột mình muốn rồi nhấn Tab.

    Con trỏ của bạn bây giờ là hiện hoạt ở bên phải của [SalesQuantity].

  6. Gõ dấu cách, sau đó gõ toán tử phép trừ - (dấu trừ) rồi gõ một dấu cách khác.

  7. Bây giờ, hãy nhập khác mở ngoặc đơn [. Thời điểm này, chọn [ReturnQuantity] cột, sau đó nhấn Enter.

    Nếu bạn gặp lỗi, hãy xem lại kỹ cú pháp của bạn. Nếu cần thiết, hãy so sánh công thức đó với công thức trong cột được tính Margin được mô tả trước đây.

    Sau khi bạn nhấn Enter để hoàn thành công thức, từ Đang tính xuất hiện trong thanh trạng thái dọc bên dưới cửa sổ Power Pivot. Thao tác này diễn ra rất nhanh, ngay cả khi bạn chỉ tính các giá trị mới cho hơn ba triệu hàng.

  8. Bấm chuột phải vào tiêu đề cột và đổi tên cột NetSales.

Vậy là bạn đã tạo xong công thức DAX đơn giản nhưng rất mạnh mẽ. Đối với mỗi hàng trong bảng FactSales, công thức NetSales tính giá trị bằng cách trừ giá trị trong cột [ReturnQuantity] với giá trị trong cột [Số lượng Hàng bán]. Hãy để ý cách nói của chúng tôi là “Cho từng hàng”. Đây chỉ là lướt qua một khái niệm khác rất quan trọng trong DAX; ngữ cảnh hàng. Bạn sẽ tìm hiểu thêm về ngữ cảnh hàng sau này.

Mẹo: 

Điều gì đó rất quan trọng để hiểu khi nhập toán tử vào công thức DAX có kiểu dữ liệu trong các đối số mà bạn đang dùng. Ví dụ, nếu bạn nhập công thức sau đây, = 1 & 2, trả về giá trị sẽ là giá trị văn bản của "12". Đây là vì dấu và (&) toán tử cho ghép chuỗi văn bản. DAX diễn giải các công thức này để đọc: tính toán một kết quả bằng cách thực hiện giá trị 1 dưới dạng văn bản và thêm giá trị 2 dưới dạng văn bản. Bây giờ, nếu bạn gõ = 1 + 2, DAX đọc công thức này như: tính toán một kết quả bằng cách thực hiện giá trị số 1 và thêm giá trị số 2. Kết quả tất nhiên là "3", một giá trị số. DAX tính toán các giá trị kết quả tùy thuộc vào toán tử trong công thức, không dựa trên kiểu dữ liệu của cột được sử dụng trong đối số. Các kiểu dữ liệu trong DAX được rất quan trọng, nhưng bên ngoài phạm vi bắt đầu nhanh này. Để tìm hiểu thêm về các kiểu dữ liệu và các toán tử trong công thức DAX, hãy xem tham chiếu DAX (http://go.microsoft.com/fwlink/?LinkId=239769 & clcid = 0x409) trong sách trực tuyến.

Hãy thử khác. Thời điểm này, bạn sẽ tạo một số đo bằng cách nhập công thức và bằng cách sử dụng IntelliSense. Đừng lo quá nhiều nếu bạn không đầy đủ tìm hiểu về công thức. Điều quan trọng sau đây là để tìm hiểu cách tạo công thức bằng cách dùng một số thành phần cùng nhau trong đúng cú pháp.

Tác vụ: Tạo công thức thước đo

  1. Trong bảng FactSales, bấm vào bất kỳ ô trống nào trong Vùng Tính toán. Đây là vùng các ô trống ngay bên dưới bảng trong cửa sổ Power Pivot.

Vùng Tính trong PowerPivot

  1. Trong thanh công thức, gõ tên Previous Quarter Sales:.

  2. Gõ dấu bằng = để bắt đầu công thức tính.

  3. Gõ vài ký tự CAL đầu tiên rồi bấm đúp vào hàm bạn muốn sử dụng. Trong công thức này, bạn muốn sử dụng hàm CALCULATE.

  4. Gõ dấu ngoặc đơn mở ( để bắt đầu đối số được chuyển đến hàm CALCULATE.

    Lưu ý sau khi gõ dấu ngoặc đơn mở, IntelliSense hiển thị cho bạn đối số được yêu cầu cho hàm CALCULATE. Bạn sẽ tìm hiểu về đối số ngay sau đây.

  5. Nhập vài chữ cái đầu tiên của bảng FactSales , và sau đó trong danh sách thả xuống, bấm đúp vào FactSales[doanh số].

  6. Gõ dấu phẩy (,) để chỉ định bộ lọc đầu tiên rồi nhập PRE rồi bấm đúp vào hàm PREVIOUSQUARTER.

    Sau khi chọn hàm PREVIOUSQUARTER, dấu ngoặc đơn mở khác sẽ xuất hiện, cho biết yêu cầu một đối số; lần này cho hàm PREVIOUSQUARTER.

  7. Nhập vài ký tự Dim đầu tiên, và sau đó bấm đúp vào DimDate[DateKey].

  8. Đóng cả đối số đang được chuyển qua hàm PREVIOUSQUARTER và hàm CALCULATE bằng cách gõ hai ngoặc đơn đóng )).

    Công thức của bạn giờ đây sẽ trông giống như sau:

    Previous Quarter Sales:=CALCULATE(FactSales[Sales], PREVIOUSQUARTER(DimDate[DateKey]))

  9. Bấm vào nút kiểm tra công thức trên thanh công thức để xác thực công thức đó. Nếu bạn gặp lỗi, hãy xác minh từng phần tử của cú pháp.

Bạn đã làm nó! Bạn vừa tạo ra một số đo bằng DAX và không có một dễ dàng ở đó. Công thức này sẽ làm gì là tính toán tổng doanh thu cho quý trước, tùy thuộc vào các bộ lọc được áp dụng trong PivotTable hoặc PivotChart.

Bạn vừa được giới thiệu về một vài khía cạnh quan trọng của các công thức DAX. Trước tiên, công thức này bao gồm hai hàm. Lưu ý rằng hàm PREVIOUSQUARTER được lồng dưới dạng đối số được chuyển vào hàm CALCULATE. Công thức DAX có thể chứa tối đa 64 hàm xếp lồng. Một công thức không thể chứa quá nhiều hàm xếp lồng như vậy. Thực tế thì việc tạo và gỡ lỗi một công thức như vậy sẽ rất khó và có lẽ sẽ không nhanh chóng.

Trong công thức này, bạn cũng đã sử dụng các bộ lọc. Bộ lọc thu hẹp nội dung sẽ được tính. Trong trường hợp này, bạn đã chọn một bộ lọc làm đối số, đối số thực tế lại là một hàm khác. Bạn sẽ tìm hiểu thêm về các bộ lọc sau này.

Cuối cùng, bạn đã sử dụng hàm CALCULATE. Đây là một trong những hàm mạnh mẽ nhất trong DAX. Khi bạn tạo mẫu dữ liệu và tạo công thức phức tạp hơn, bạn sẽ có thể sử dụng hàm này nhiều lần. Việc thảo luận về hàm CALCULATE không thuộc phạm vi của Bắt đầu Nhanh này nhưng khi kiến thức về DAX của bạn tăng lên thì hãy đặc biệt chú ý đến hàm này.

Ghi chú: Thông thường, để sử dụng hàm Hiển thị Thời gian Thông minh trong các công thức DAX, bạn phải chỉ định cột ngày duy nhất bằng cách sử dụng hộp thoại Đánh dấu là Bảng Ngày. Trong sổ làm việc Contoso DAX Formula Samples.xlsx, cột DateKey trong bảng DimDate được chọn làm cột ngày duy nhất.

Tín dụng Bổ sung

Bạn có thể yêu cầu: 'Công thức DAX đơn giản nhất, tôi có thể tạo là gì?' Câu trả lời cho mà cũng 'công thức bạn không cần phải'. Và, đó là chính xác những gì bạn có thể làm bằng cách dùng hàm tính gộp chuẩn trong một số đo. Hầu hết mọi mô hình dữ liệu cần lọc và tính toán tổng hợp dữ liệu. Ví dụ, hàm SUM trong tổng của tổng doanh số đo bạn thấy phiên bản cũ hơn được dùng để thêm tất cả các số trong một cột cụ thể. DAX bao gồm một số các hàm tổng hợp giá trị được không. Bạn có thể tự động tạo công thức bằng cách dùng các hàm tính gộp chuẩn bằng cách sử dụng tính năng tự động tính tổng.

Tác vụ tín dụng bổ sung: Tạo công thức số đo bằng cách sử dụng tính năng tự động tính tổng

  1. Trong bảng FactSales, cuộn đến cột ReturnQuantity rồi bấm vào tiêu đề cột để chọn toàn bộ cột.

  2. Trên tab Trang chủ, trên ruy-băng, trong nhóm phép tính , hãy bấm vào nút tự động tính tổng.

Tự động tính tổng trong PowerPivot

  1. Bấm vào mũi tên xuống bên cạnh tự động tính tổng, và sau đó bấm trung bình (thông báo phép tính gộp chuẩn hoạt động bạn có thể sử dụng, quá).
    Ngay lập tức, một số đo mới được tạo bằng tên Trung bình của ReturnQuantity: theo sau là công thức = AVERAGE([ReturnQuantity]).

Thật dễ phải không? Tất nhiên, không phải tất cả công thức bạn tạo đều sẽ đơn giản như vậy. Tuy nhiên, bằng cách sử dụng tính năng Tự động tính tổng, bạn có thể tạo công thức nhanh chóng và dễ dàng bằng cách sử dụng phép tính gộp chuẩn.

Việc này sẽ giúp bạn hiểu khá rõ về cú pháp được sử dụng trong công thức DAX. Bạn cũng sẽ được giới thiệu một số tính năng thực sự thú vị khác như IntelliSense và Tự động tính tổng giúp bạn tạo công thức nhanh chóng, dễ dàng và chính xác. Tất nhiên còn nhiều điều bạn có thể tìm hiểu về cú pháp. Nơi tốt nhất để tìm hiểu thêm là Tài liệu tham khảo về DAX hoặc Sách Trực tuyến SQL.

Câu đố Nhanh về Cú pháp

  1. Nút này trên thanh công thức có tác dụng gì?
    Nút hàm

  2. Dấu gì luôn chứa tên cột trong công thức DAX?

  3. Cách bạn muốn viết công thức sau đây:
    trong các DimProduct bảng, cho mỗi hàng trong các UnitMargin cột được tính toán, tính một giá trị bằng cách trừ đi giá trị trong các UnitCost cột từ giá trị trong các giá đơn vị cột?

Đáp án được cung cấp ở cuối chủ đề này.

Hàm

Hàm là công thức được xác định trước thực hiện phép tính bằng cách sử dụng giá trị cụ thể, đối số được gọi, theo thứ tự hoặc cấu trúc cụ thể. Đối số có thể là hàm khác, công thức khác, tham chiếu cột, số, văn bản, giá trị lôgíc như TRUE hoặc FALSE hoặc các hằng số.

DAX bao gồm danh mục hàm sau: Hàm Ngày và Giờ, Thông tin, Lôgíc, Toán học, Thống kê, Văn bản và Hàm Hiển thị Thời gian Thông minh. Nếu bạn đã quen với các hàm trong công thức Excel, nhiều hàm trong DAX sẽ xuất hiện tương tự cho bạn; tuy nhiên, hàm DAX là duy nhất theo các cách sau đây:

  • Hàm DAX luôn tham chiếu một cột hoàn chỉnh hoặc một bảng. Nếu bạn chỉ muốn sử dụng các giá trị cụ thể từ một bảng hoặc cột, bạn có thể thêm bộ lọc cho công thức.

  • Nếu bạn cần tùy chỉnh phép tính dựa trên cơ sở hàng-hàng, DAX cung cấp các hàm cho phép bạn sử dụng giá trị hàng hiện tại hoặc giá trị liên quan dưới dạng loại đối số để thực hiện các phép tính thay đổi theo ngữ cảnh. Bạn sẽ tìm hiểu thêm về ngữ cảnh sau này.

  • DAX bao gồm nhiều hàm trả về bảng chứ không phải một giá trị đơn lẻ. Bảng không được hiển thị nhưng được sử dụng để cung cấp dữ liệu nhập vào hàm khác. Ví dụ, bạn có thể truy xuất bảng rồi đếm giá trị duy nhất trong đó hoặc tính tổng động qua các bảng hoặc cột được lọc.

  • DAX bao gồm nhiều hàm hiển thị thời gian thông minh. Những hàm này cho phép bạn xác định hoặc chọn phạm vi ngày và thực hiện các phép tính động dựa trên các hàm đó. Ví dụ, bạn có thể so sánh tổng qua các khoảng giai đoạn song song.

Đôi khi khó mà biết được bạn có thể sẽ cần dùng hàm nào trong một công thức. Power Pivot và trình thiết kế mô hình bảng trong Công cụ Dữ liệu SQL Server, bao gồm tính năng Chèn Hàm, một hộp thoại giúp bạn chọn hàm theo thể loại và cung cấp mô tả ngắn cho mỗi hàm.

Chèn Hàm

Hãy tạo công thức mới bao gồm hàm bạn sẽ chọn bằng cách sử dụng tính năng Chèn Hàm:

Tác vụ: Thêm hàm vào công thức bằng cách sử dụng Chèn Hàm

  1. Trong bảng FactSales, cuộn đến cột ngoài cùng bên phải rồi bấm Thêm Cột trong tiêu đề cột.

  2. Trong thanh công thức, gõ dấu bằng =.

  3. Bấm vào nút Chèn Hàm. Chèn Hàm Nút này mở hộp thoại Chèn Hàm.

  4. Trong hộp thoại Chèn Hàm, bấm vào ô danh sách Chọn thể loại. Theo mặc định, Tất cả được chọn và tất cả hàm trong thể loại Tất cả được liệt kê bên dưới. Danh mục đó có nhiều hàm do đó bạn sẽ muốn lọc hàm giúp định vị loại hàm bạn đang tìm kiếm dễ dàng hơn.

  5. Đối với công thức này, bạn muốn trả về một số dữ liệu hiện có trong bảng khác. Đối với công thức đó, bạn sẽ sử dụng hàm trong thể loại Bộ lọc. Hãy tiếp tục và bấm vào thể loại Bộ lọc rồi trong Chọn hàm, cuộn xuống và bấm đúp vào hàm RELATED. Bấm Ok để đóng hộp thoại Chèn Hàm.

  6. Sử dụng IntelliSense để giúp bạn tìm và chọn cột DimChannel[ChannelName].

  7. Đóng công thức rồi nhấn Enter.

  8. Sau khi bạn nhấn Enter để hoàn thành công thức, từ Đang tính xuất hiện trong thanh trạng thái dọc theo bên dưới cửa sổ Power Pivot. Bây giờ bạn sẽ thấy rằng bạn chỉ vừa tạo cột mới trong bảng FactSales với thông tin kênh từ bảng DimChannel.

  9. Đổi tên cột Kênh.

    Công thức của bạn trông giống như sau: =RELATED(DimChannel[ChannelName])

Bạn vừa được giới thiệu về một hàm rất quan trọng khác trong DAX, đó là hàm RELATED. Hàm RELATED trả về giá trị từ một bảng khác. Bạn có thể sử dụng RELATED với điều kiện là có một mối quan hệ giữa bảng bạn hiện đang sử dụng và bảng chứa giá trị bạn muốn nhận. Tất nhiên, hàm RELATED rất nhiều chức năng. Trong trường hợp này, bây giờ bạn có thể bao gồm kênh bán hàng cho từng giao dịch bán hàng trong bảng FactSales. Giờ đây, bạn có thể ẩn bảng DimChannel khỏi danh sách trường PivotTable, giúp việc điều hướng và chỉ xem thông tin quan trọng nhất mà bạn thực sự cần dễ dàng hơn. Rất giống hàm CALCULATE đã được mô tả trước đây, hàm RELATED rất quan trọng và bạn sẽ có thể sử dụng hàm đó nhiều lần.

Như bạn có thể thấy, hàm trong DAX có thể giúp bạn tạo các công thức rất mạnh mẽ. Bạn thực sự chỉ mới tiếp xúc tới những kiến thức cơ bản về hàm. Khi các kỹ năng DAX của bạn cải thiện, bạn sẽ tạo công thức bằng cách sử dụng nhiều hàm khác nhau. Một trong những nơi tốt nhất để tìm hiểu chi tiết về tất cả hàm DAX là trong Tham chiếu Biểu thức Phân tích Dữ liệu (DAX).

Câu đố Nhanh về Hàm

  1. Hàm luôn tham chiếu gì?

  2. Công thức có thể chứa nhiều hơn một hàm không?

  3. Thể loại hàm nào bạn sẽ sử dụng để nối hai chuỗi văn bản vào một chuỗi?

Đáp án được cung cấp ở cuối chủ đề này.

Ngữ cảnh

Ngữ cảnh là một trong những khái niệm DAX quan trọng nhất cần tìm hiểu. Có hai loại ngữ cảnh trong DAX; ngữ cảnh hàng và ngữ cảnh bộ lọc. Trước tiên chúng ta sẽ xem qua ngữ cảnh hàng.

Ngữ cảnh Hàng

Ngữ cảnh hàng có thể hiểu theo cách dễ nhất là hàng hiện tại. Ví dụ, bạn có nhớ cột được tính Margin bạn thấy trước đây khi tìm hiểu về cú pháp không? Công thức =[SalesAmount] - [TotalCost] tính giá trị trong cột Margin cho từng hàng trong bảng. Giá trị cho từng hàng được tính từ các giá trị trong hai cột khác là [SalesAmount] và [TotalCost] trong cùng hàng. DAX có thể tính các giá trị cho từng hàng trong cột Margin do hàng đó có ngữ cảnh: Đối với từng hàng, DAX lấy các giá trị trong cột [TotalCost] và trừ chúng khỏi các giá trị trong cột [SalesAmount].

Trong ô chọn được hiển thị bên dưới, giá trị $49,54 trong hàng hiện tại được tính bằng cách trừ giá trị $51,54 trong cột [TotalCost] với giá trị $101,08 trong cột [SalesAmount].

Ngữ cảnh hàng trong PowerPivot

Ngữ cảnh hàng không chỉ áp dụng cho cột được tính toán. Ngữ cảnh hàng cũng áp dụng bất cứ khi nào một công thức có một hàm áp dụng bộ lọc để xác định một hàng trong bảng. Hàm vốn sẽ áp dụng một ngữ cảnh hàng cho mỗi hàng của bảng theo đó, nó lọc. Loại ngữ cảnh hàng này thường xuyên nhất áp dụng cho các số đo.

Ngữ cảnh Bộ lọc

Ngữ cảnh bộ lọc khó hiểu hơn một chút so với ngữ cảnh hàng. Bạn có thể hiểu về ngữ cảnh bộ lọc theo cách đơn giản nhất như sau: Một hoặc nhiều bộ lọc được áp dụng trong phép tính xác định một kết quả hoặc giá trị.

Ngữ cảnh bộ lọc không tồn tại trong ngữ cảnh hàng; đúng hơn là ngữ cảnh bộ lọc nằm ngoài ngữ cảnh hàng. Ví dụ, để thu hẹp hơn nữa các giá trị bao gồm trong phép tính, bạn có thể áp dụng ngữ cảnh bộ lọc không chỉ chỉ định ngữ cảnh hàng mà còn chỉ định chỉ giá trị (bộ lọc) cụ thể trong ngữ cảnh hàng đó.

Ngữ cảnh bộ lọc dễ thấy trong PivotTable. Ví dụ, khi bạn thêm Tổng Chi phí vào khu vực Giá trị rồi thêm Năm và Vùng vào Hàng hoặc Cột, bạn sẽ xác định ngữ cảnh bộ lọc chọn tập con của dữ liệu dựa vào năm và vùng đã cho.

Tại sao bộ lọc ngữ cảnh vậy quan trọng là phải DAX? Vì trong khi bộ lọc ngữ cảnh dễ dàng nhất có thể áp dụng bằng cách thêm cột và nhãn hàng và slicer trong PivotTable, bộ lọc ngữ cảnh cũng có thể áp dụng trong công thức DAX bằng cách xác định một bộ lọc bằng cách dùng hàm chẳng hạn như tất cả, liên quan, bộ lọc, CALCULATE, mối quan hệ và các số đo và cột. Ví dụ, hãy tìm công thức sau đây trong một số đo có tên là StoreSales:

Công thức

Rõ ràng công thức này phức tạp hơn một số công thức khác mà bạn đã thấy. Tuy nhiên, để hiểu rõ hơn về công thức này, bạn có thể chia nhỏ công thức này, giống như bạn đã thực hiện với những công thức khác.

Công thức này bao gồm các phần tử cú pháp sau đây:

  1. Thước đo tên StoreSales theo sau là dấu hai chấm:.

  2. Toán tử dấu bằng (=) cho biết phần bắt đầu công thức.

  3. Hàm CALCULATE đánh giá biểu thức, dưới dạng đối số, trong ngữ cảnh được sửa đổi bằng bộ lọc đã chỉ định.

  4. Dấu ngoặc đơn () bao quanh một hoặc nhiều đối số.

  5. Một số đo [doanh số] trong cùng bảng dưới dạng một biểu thức. Thước đo doanh thu có chứa công thức: = SUM(FactSales[SalesAmount]).

  6. Dấu phẩy (,) phân tách từng bộ lọc.

  7. Cột tham thiếu và một giá trị cụ thể, DimChannel[ChannelName] =”Store” ở dạng bộ lọc.

Công thức này sẽ đảm bảo chỉ doanh số giá trị, xác định bởi số đo doanh thu, dưới dạng một bộ lọc, được tính toán chỉ dành cho các hàng trong cột DimChannel [ChannelName] có giá trị "Store" ở dạng một bộ lọc.

Như bạn có thể hình dung, để có thể xác định ngữ cảnh bộ lọc trong công thức có tính năng rộng lớn và mạnh mẽ. Để có thể chỉ tham chiếu giá trị cụ thể trong bảng có liên quan chỉ là một ví dụ. Đừng lo lắng nếu bạn chưa hoàn toàn hiểu về ngữ cảnh ngay lúc này. Khi bạn tạo các công thức của riêng mình, bạn sẽ hiểu rõ hơn về ngữ cảnh và lý do ngữ cảnh lại có ý nghĩa quan trọng trong DAX.

Câu đố Nhanh về Ngữ cảnh

  1. Hai loại ngữ cảnh là gì?

  2. Ngữ cảnh bộ lọc là gì?

  3. Ngữ cảnh hàng là gì?

Đáp án được cung cấp ở cuối chủ đề này.

Tóm tắt

Bây giờ bạn có kiến thức cơ bản của khái niệm quan trọng nhất trong DAX, bạn có thể bắt đầu tạo công thức DAX cho số đo và cột được tính toán của riêng bạn. DAX có thể thực sự là một chút gặp khó khăn để tìm hiểu, nhưng không có nhiều tài nguyên sẵn dùng cho bạn. Sau khi đọc qua các chủ đề này một vài lần, và thử nghiệm với một vài công thức của riêng bạn, bạn có thể tìm hiểu thêm về các khái niệm DAX và công thức có thể giúp bạn giải quyết vấn đề doanh nghiệp của riêng bạn. Có được nhiều tài nguyên DAX sẵn dùng cho bạn trong Power Pivot trợ giúp, SQL Server sách trực tuyến, sách trắng và blog Microsoft và chuyên gia BI đứng đầu. Wiki Trung tâm tài nguyên DAX (http://social.technet.microsoft.com/wiki/contents/articles/dax-resource-center.aspx) là nơi tuyệt vời để bắt đầu. Tham chiếu biểu thức phân tích dữ liệu (DAX) cũng là nguồn. Đảm bảo lưu nó trong yêu thích của bạn.

DAX trong hướng dẫn chính thức Mẫu Dạng bảng Nghiệp vụ Thông minh có sẵn để tải xuống (http://go.microsoft.com/fwlink/?LinkID=237472&clcid=0x409) cung cấp một cái nhìn chi tiết hơn về những khái niệm được giới thiệu tại đây cũng như nhiều công thức và khái niệm nâng cao khác. Hướng dẫn chính thức này cũng sử dụng cùng sổ làm việc Contoso DAX Sample Formulas.xlsx mà bạn đã có.

Đáp án cho Câu đố Nhanh

Cú pháp:

  1. Mở tính năng Chèn Hàm.

  2. Dấu ngoặc vuông [].

  3. =[UnitPrice] - [UnitCost]

Hàm:

  1. Bảng và cột.

  2. Có. Công thức có thể chứa tối đa 64 hàm xếp lồng.

  3. Hàm Văn bản.

Ngữ cảnh:

  1. Ngữ cảnh hàng và ngữ cảnh bộ lọc.

  2. Một hoặc nhiều bộ lọc trong phép tính xác định một giá trị đơn lẻ.

  3. Hàng hiện tại.

Ghi chú: Tuyên bố miễn trừ trách nhiệm Dịch Máy: Bài viết này do một hệ thống máy tính dịch mà không có sự can thiệp của con người. Microsoft cung cấp những bản dịch máy này để giúp người dùng không nói tiếng Anh hiểu nội dung về các sản phẩm, dịch vụ và công nghệ của Microsoft. Do bài viết này được dịch máy nên có thể có các lỗi về từ vựng, cú pháp hoặc ngữ pháp.

Phát triển các kỹ năng của bạn
Khám phá nội dung đào tạo
Sở hữu tính năng mới đầu tiên
Tham gia Người dùng nội bộ Office

Thông tin này có hữu ích không?

Cảm ơn phản hồi của bạn!

Cảm ơn bạn đã phản hồi! Để trợ giúp tốt hơn, có lẽ chúng tôi sẽ kết nối bạn với một trong những nhân viên hỗ trợ Office của chúng tôi.

×