Count_distinct sử dụng như thế nào

Trong quá trình xử lý số liệu bằng các biểu thức DAX trong Power Bi, việc sử dụng các hàm đếm là thường xuyên. Trong Power Bi hỗ trợ nhiều hàm đếm khác nhau bạn có thể tham khảo ở bài viết sau để tìm hiểu các loại hàm đếm và sử dụng hàm đếm có điều kiện trong Power bi

Hàm đếm có điều kiện trong Power Bi hiệu quả, Countif trong Power Bi

Tuy nhiên một cách đếm thường hay sử dụng đối với những dữ liệu có nhiều dòng giá trị trùng nhau là đếm không trùng hay còn gọi là đếm bỏ trùng lặp trong Power Bi, có 2 cách để đếm không trùng lặp trong Power Bi như sau:

Đếm bỏ trùng lặp bằng hàm DISTINCTCOUNT trong Power Bi

Cấu trúc hàm như sau:

=DISTINCTCOUNT()

Column là cột cần đếm giá trị không trùng lặp của bảng cần tính. Có thể là danh sách các sản phẩm trong một bảng đơn hàng, doanh thu cần đếm các sản phẩm không trùng, đếm đơn hàng.

Hàm DISTINCTCOUNT có thể kết hợp với CALCULATE để tạo thêm các điều kiện trong việc đếm giá trị không trùng đáp ứng những yêu cầu riêng trong tính toán.

 

Sử dụng các hàm COUNT, hàm đếm kết hợp với hàm DISTINCT để đếm không trùng hay bỏ trùng lặp trong Power Bi

Trong nhiều trường hợp đếm đặc thù bạn phải dùng các loại hàm đếm như sau trong Power Bi như:

COUNT, COUNTA, COUNTX, COUNTROW….

Bạn có thể kết hợp hàm trên với hàm DISTINCT là hàm bỏ các giá trị trùng lặp, hàm DISTINCT được sử dụng như sau:

=DISTINCT( )

Column là cột cần lọc giá trị trùng lặp để tạo thành danh sách không có trùng lặp của cột trong bảng dữ liệu.

Như vậy để đếm các dữ liệu không trùng lặp thì bạn sẽ kết hợp hàm đếm với hàm DISTINCT như sau:

=COUNT(DISTINCT( ))

Như vậy kết hợp trên sẽ có kết quả đếm không trùng lặp và có thể kết hợp vói CALCULATE để tạo các điều kiện cho hàm đếm.

Như vậy có thể thấy chỉ cần tạo phép tính với các hàm đơn giản có thể tạo một phép đếm bỏ các trùng lặp dễ dàng trong Power Bi giúp công tác phân tích dữ liệu trở nên đơn giản hơn.

SELECT DISTINCT trong SQL là một câu lệnh rất phổ biến, giúp giảm số lượng bản ghi trả về trong một số trường hợp. Trong bài viết hôm nay, mình sẽ chia sẻ với các bạn về câu lệnh DISTINCT trong SQL Server.

1/ Mô tả

Câu lệnh SELECT DISTINCT trong SQL được dùng để lấy giá trị không trùng lặp trong SQL. Mệnh đề DISTINCT sẽ lấy ra các giá trị riêng biệt, duy nhất, loại bỏ các giá trị trùng lặp trong kết quả trả về. 

Một điều những bạn mới tìm hiểu cần lưu ý đó chính là câu lệnh DISTINCT trong SQL chỉ đi kèm với câu lệnh SELECT.

2/ Cú pháp

Câu lệnh DISTINCT trong SQL có cú pháp đơn giản:

SELECT DISTINCT column 1, column 2, …

FROM table_name

Lưu ý:

Khi chỉ có một column được chọn thì kết quả trả về khi dùng mệnh đề SELECT DISTINCT trong SQL là các giá trị duy nhất trong cột đó.

Trường hợp có từ 2 cột trở lên thì kết quả trả về sẽ là các giá trị duy nhất của các cột được chọn.

Mệnh đề DISTINCT trong SQL Server không bỏ qua giá trị NULL nên kết quả trả về sẽ bao gồm cả giá trị NULL duy nhất.

3/ Cách dùng SELECT DISTINCT trong SQL

Trong phần hướng dẫn cách sử dụng mệnh đề DISTINCT thì mình chia ra ví dụ cơ bản cũng như các ví dụ nâng cao hơn khi kết hợp với các câu lệnh SQL khác.

SELECT DISTINCT nhiều cột

Bạn có thể lọc giá trị trùng trong một cột hoặc khi chọn nhiều cột. Để hiểu rõ cách sử dụng DISTINCT kết hợp với câu lệnh SELECT trong SQL thì mình đã có chuẩn bị bảng ví dụ sau đây.

Bảng tên Customer gồm có 4 cột: Customer Name, Customer City, Customer State, Customer Source.

Count_distinct sử dụng như thế nào

Bảng ví dụ Customer gồm Customer Name, Customer City, Customer State, Customer Source

Nếu sử dụng câu lệnh SELECT bình thường thì ta sẽ có kết quả sau đây

Cú pháp:

SELECT Customer Name, Customer Source

FROM Customer

Count_distinct sử dụng như thế nào

Sử dụng câu lệnh SELECT không thì kết quả sẽ có nhiều giá trị trùng lặp

Như bạn đã thấy thì trong kết quả trả về của 2 cột Customer Name và Customer Source có rất nhiều giá trị bị trùng lặp nhau.

Để lọc ra các giá trị duy nhất trong từng cột thì bạn cần dùng câu lệnh DISTINCT nhiều cột.

Cú pháp

SELECT DISTINCT Customer Name, Customer Source

FROM Customer

Count_distinct sử dụng như thế nào

Sử dụng câu lệnh DISTINCT SQL sẽ chỉ còn hiện các giá trị duy nhất

Các kết quả trả về giờ đây đã là giá trị duy nhất của mỗi cột.

DISTINCT khi chọn một cột

Cú pháp:

SELECT DISTINCT Customer Source

FROM Customer

Count_distinct sử dụng như thế nào

Sử dụng DISTINCT trong SQL cho một cột

SELECT DISTINCT ORDER BY

Câu lệnh ORDER BY trong SQL sử dụng phổ biến. Cũng lấy bảng ví dụ trên ta có cú pháp DISTINCT  kết hợp với ORDER BY như sau.

Cú pháp:

SELECT DISTINCT Customer Name, Customer Source

FROM Customer

ORDER BY Customer Name ASC

Count_distinct sử dụng như thế nào

Câu lệnh DISTINCT kết hợp với ORDER BY

Như bạn thấy trong kết quả thì các giá trị trong cột Customer Source đã được sắp xếp theo thứ tự tăng dần. Nếu bạn muốn sắp xếp từ Z – A thì chọn DESC (thay thế vào vị trí ASC).

SELECT DISTINCT COUNT

Một cách sử dụng nâng cao hơn là kết hợp với hàm COUNT trong SQL. Nếu như cú pháp sau đây trả về kết quả là các Customer Source duy nhất 

SELECT DISTINCT Customer Source

FROM Customer

Thì khi kết hợp cới hàm COUNT sẽ hiện ra kết quả là giá trị tổng sau khi đếm được có bao nhiêu Customer Source.

Cú pháp COUNT(DISTINCT trong SQL) sẽ được chia sẻ ở những bài viết tới trên website Kienit.

Cú pháp:

SELECT COUNT (DISTINCT Customer Source)

FROM Customer

Count_distinct sử dụng như thế nào

Câu lệnh DISTINCT kết hợp với hàm COUNT trong SQL

Việc biết ứng dụng mệnh đề SQL DISTINCT sẽ giúp bạn rất nhiều trong việc tính toán thống kê dữ liệu một cách chính xác vì đã loại bỏ được các giá trị trùng nhau.

Bài viết đã chia sẻ đầy đủ cách sử dụng SELECT DISTINCT trong SQL. Hy vọng các thông tin trong bài này sẽ giúp ích cho các bạn. Hãy theo dõi website Kienit.com để đọc thêm các bài viết SQL mới nhất.

Share

What is your reaction?

Excited

6

Happy

4

In Love

0

Not Sure

0

Silly

0

Ti Ti

Mình tên là Trọng Thắng, hiện đang phụ trách quản lý website Kienit.com. Tất cả các bài viết trên website đều do mình tự học, tự áp dụng và biên soạn lại thành nội dung hoàn chỉnh. Hy vọng website sẽ giúp ích cho các bạn cũng đang tìm hiểu và tự học các kiến thức này giống mình.