Hỏi về hàm SUMX trong DAX.

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

SteveNguyen1991

Thành viên chính thức
Tham gia
22/8/20
Bài viết
80
Được thích
32
Chào các bác!
em đang tìm hiểu về hàm SUMX nhưng không hiểu nó hoạt động như thế nào. Ví dụ: trong hình có measure 2 và Measure 3, cái thứ 3 em không hiểu nó hoạt động như thế nào. Mong các bác giải thích giúp em. Em cảm ơn!!

Trích Dẫn: Power Pivot and Power BI The Excel Users Guide to DAX, Power Query, Power BI Power Pivot in Excel 2010-2016 (Rob Collie, Avichal Singh)

1724813341477.png
 

File đính kèm

  • ch16_Xfunctions.xlsx
    4.5 MB · Đọc: 3
  • SUMX.pdf
    238.1 KB · Đọc: 3
Chào các bác!
em đang tìm hiểu về hàm SUMX nhưng không hiểu nó hoạt động như thế nào. Ví dụ: trong hình có measure 2 và Measure 3, cái thứ 3 em không hiểu nó hoạt động như thế nào. Mong các bác giải thích giúp em. Em cảm ơn!!

Trích Dẫn: Power Pivot and Power BI The Excel Users Guide to DAX, Power Query, Power BI Power Pivot in Excel 2010-2016 (Rob Collie, Avichal Singh)

View attachment 303510
Công thức: Sales per Day Totals Add Up:=SUMX(VALUES(Products[ModelName]), [Sales per Day])
nó lặp qua từng ModelNam=> tính toán với [Sales Per Day] của từng ModelName đó rồi nó cộng tổng lại.
Tôi ví dụ 1 ModelName là Mountain-100, tính cho năm 2001 tương ứng với: Productkey từ 344-351
ProductKeyProductNameSales per Day
344​
Mountain-100 Silver, 38
5477.761667​
345​
Mountain-100 Silver, 42
4128.559286​
346​
Mountain-100 Silver, 44
4473.671053​
347​
Mountain-100 Silver, 48
4018.17​
348​
Mountain-100 Black, 38
4169.105294​
349​
Mountain-100 Black, 42
4049.988​
350​
Mountain-100 Black, 44
4448.850455​
351​
Mountain-100 Black, 48
3937.488333​
Grand Total
6103.888229​
Đầu tiên nó lặp qua productkey 344=> ghi nhận kết quả [Sales per Day]= 5477.761667
.......
Tương tự như vậy nó lặp cho đến product Key 351=> Ghi nhận kết quả 3937.488333
Cuối cùng Sumx = 5477.76166666667+4128.55928571428+4473.67105263158+4018.17+4169.10529411765+4049.988+4448.85045454546+3937.48833333333=34703.594087009
[Sales per Day] của Mountain-100 của năm 2001 = 6103.88822916667 chính là dòng total
Bạn hiểu nôm na nó giống như vòng lặp For ....i như trong VBA hay ngôn ngữ lập trình ý.
 
Công thức: Sales per Day Totals Add Up:=SUMX(VALUES(Products[ModelName]), [Sales per Day])
nó lặp qua từng ModelNam=> tính toán với [Sales Per Day] của từng ModelName đó rồi nó cộng tổng lại.
Tôi ví dụ 1 ModelName là Mountain-100, tính cho năm 2001 tương ứng với: Productkey từ 344-351
ProductKeyProductNameSales per Day
344​
Mountain-100 Silver, 38
5477.761667​
345​
Mountain-100 Silver, 42
4128.559286​
346​
Mountain-100 Silver, 44
4473.671053​
347​
Mountain-100 Silver, 48
4018.17​
348​
Mountain-100 Black, 38
4169.105294​
349​
Mountain-100 Black, 42
4049.988​
350​
Mountain-100 Black, 44
4448.850455​
351​
Mountain-100 Black, 48
3937.488333​
Grand Total
6103.888229​
Đầu tiên nó lặp qua productkey 344=> ghi nhận kết quả [Sales per Day]= 5477.761667
.......
Tương tự như vậy nó lặp cho đến product Key 351=> Ghi nhận kết quả 3937.488333
Cuối cùng Sumx = 5477.76166666667+4128.55928571428+4473.67105263158+4018.17+4169.10529411765+4049.988+4448.85045454546+3937.48833333333=34703.594087009
[Sales per Day] của Mountain-100 của năm 2001 = 6103.88822916667 chính là dòng total
Bạn hiểu nôm na nó giống như vòng lặp For ....i như trong VBA hay ngôn ngữ lập trình ý.

Em cảm ơn bác, Bác có thể giải thích Sales per Day Totals Add Up 1 được không ạ?
 
Em cảm ơn bác, Bác có thể giải thích Sales per Day Totals Add Up 1 được không ạ?
Thì cái giải thích trên là Sales per Day Totals Add Up 1 còn gì, tôi viết thiếu số 1, còn bản chất hàm hiểu nó như vậy chứ giải thích vậy mà bạn vẫn không hiểu thì tôi chưa biết giải thích như nào nữa.
Bạn học tới tận chương 16 mà còn chưa nắm được Context thì lời khuyên của tôi là dừng lại, học context đi đã rồi hãy học tiếp hàm. Context và Data Model là hai thứ quan trọng nhất chứ không phải là hàm!
 
...
Bạn học tới tận chương 16 mà còn chưa nắm được Context thì lời khuyên của tôi là dừng lại, học context đi đã rồi hãy học tiếp hàm. Context và Data Model là hai thứ quan trọng nhất chứ không phải là hàm!
Tôi thấy học kiểu đốt giai đoạn này cũng ớn. Mần biếng giải thích.
 
Cảm ơn các bác!
Em biết mình sai chỗ nào rồi.
Lúc trước em tính Sales per Day Totals Add Up 1 bằng cách tính Total sales/distinctcount(Orderdate) của ModelName chứ không phải là ProductKey. Em đọc lại bài 2 mới nghĩ ra. Áp dụng cho 2021 thì được kết quả như Pivot.
ProductKeySum of SalesAmtDistinctCount_OrderDatetotal sale
310
£593,992.82​
106​
£5,604​
311
£500,957.80​
97​
£5,165​
312
£547,475.31​
101​
£5,421​
313
£472,331.64​
93​
£5,079​
314
£486,644.72​
99​
£4,916​
320
£5,592.79​
8​
£699​
322
£8,389.18​
12​
£699​
324
£2,097.29​
3​
£699​
326
£4,893.69​
7​
£699​
328
£6,291.88​
9​
£699​
330
£6,291.88​
8​
£786​
332
£6,990.98​
9​
£777​
334
£6,990.98​
10​
£699​
336
£9,787.37​
14​
£699​
338
£8,389.18​
9​
£932​
340
£1,398.20​
2​
£699​
342
£11,884.67​
17​
£699​
344
£98,599.71​
18​
£5,478​
345
£57,799.83​
14​
£4,129​
346
£84,999.75​
19​
£4,474​
347
£44,199.87​
11​
£4,018​
348
£70,874.79​
17​
£4,169​
349
£60,749.82​
15​
£4,050​
350
£97,874.71​
22​
£4,449​
351
£70,874.79​
18​
£3,937​
£69,674​

Cảm ơn các bác!!
Bài đã được tự động gộp:

Tôi thấy học kiểu đốt giai đoạn này cũng ớn. Mần biếng giải thích.

Chào bác!
Em không phải đốt giai đoạn đâu bác. trước kia em có đọc về DataModeling rồi mà mới đầu thấy tác giải dùng DAX nên không hiểu vậy là phải đi tìm sách để đọc.

Quan điểm các nhân em: học Power Query trước tiên, Data modeling, DAX chắc phải học cùng nhau. Có thể 1 cuốn sách phải đọc lại cả chục lần mới hiểu. Như vấn đề ở trên em đã mày mò 2 ngày rồi mới dám hỏi.

Các bác là người đi trước có thể giới thiệu giúp em cuốn nào để học Data Modeling không? Cuốn em đang đọc là: Expert Data Modeling with Power BI - Second Edition (Soheil Bakhshi)

Chân thành cảm ơn các bác!!
 
Lần chỉnh sửa cuối:
Sau khi đọc bài 2, và thấy câu hỏi bài 3, tôi lại định trả lời "Sales per Day Totals Add Up 1" là cái tên người ta đặt.
 
Cảm ơn các bác!
Em biết mình sai chỗ nào rồi.
Lúc trước em tính Sales per Day Totals Add Up 1 bằng cách tính Total sales/distinctcount(Orderdate) của ModelName chứ không phải là ProductKey. Em đọc lại bài 2 mới nghĩ ra. Áp dụng cho 2021 thì được kết quả như Pivot.
ProductKeySum of SalesAmtDistinctCount_OrderDatetotal sale
310
£593,992.82​
106​
£5,604​
311
£500,957.80​
97​
£5,165​
312
£547,475.31​
101​
£5,421​
313
£472,331.64​
93​
£5,079​
314
£486,644.72​
99​
£4,916​
320
£5,592.79​
8​
£699​
322
£8,389.18​
12​
£699​
324
£2,097.29​
3​
£699​
326
£4,893.69​
7​
£699​
328
£6,291.88​
9​
£699​
330
£6,291.88​
8​
£786​
332
£6,990.98​
9​
£777​
334
£6,990.98​
10​
£699​
336
£9,787.37​
14​
£699​
338
£8,389.18​
9​
£932​
340
£1,398.20​
2​
£699​
342
£11,884.67​
17​
£699​
344
£98,599.71​
18​
£5,478​
345
£57,799.83​
14​
£4,129​
346
£84,999.75​
19​
£4,474​
347
£44,199.87​
11​
£4,018​
348
£70,874.79​
17​
£4,169​
349
£60,749.82​
15​
£4,050​
350
£97,874.71​
22​
£4,449​
351
£70,874.79​
18​
£3,937​
£69,674​

Cảm ơn các bác!!
Bài đã được tự động gộp:



Chào bác!
Em không phải đốt giai đoạn đâu bác. trước kia em có đọc về DataModeling rồi mà mới đầu thấy tác giải dùng DAX nên không hiểu vậy là phải đi tìm sách để đọc.

Quan điểm các nhân em: học Power Query trước tiên, Data modeling, DAX chắc phải học cùng nhau. Có thể 1 cuốn sách phải đọc lại cả chục lần mới hiểu. Như vấn đề ở trên em đã mày mò 2 ngày rồi mới dám hỏi.

Các bác là người đi trước có thể giới thiệu giúp em cuốn nào để học Data Modeling không? Cuốn em đang đọc là: Expert Data Modeling with Power BI - Second Edition (Soheil Bakhshi)

Chân thành cảm ơn các bác!!
Đọc sách thì cũng tốt nhưng thấm khá là lâu, học nhanh nhất là vừa coi bài giảng, vừa thực hành luôn. Bạn học tới chương 16 mà vẫn chưa nắm được rowcontext, không rõ bạn đã nắm được filter context, transition context, evaluation context không, có hiểu rõ về các mối liên hệ 1-1, 1-n, n-n chưa? Nếu bạn không hiểu những khái niệm cơ bản này thì bạn sẽ không thể hiểu được khi nhìn vô hàm sau khi ứng dụng. Lời khuyên của tôi vẫn là dừng lại và nắm bắt lại các khái niệm cơ bản và thực hành nó đã.
 
Web KT

Bài viết mới nhất

Back
Top Bottom