Đếm có điều kiện trong power Query

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

MAINGOCTRAN

Thành viên mới
Tham gia
12/8/24
Bài viết
3
Được thích
0
Hiện em có 1 file exel đã đưa vào PowerQuery, nếu để xử lý công thức ngoài exel thì em viết công thức xong rồi và ra kết quả như mong muốn. Tuy nhiên, hiện em đang đưa dữ liệu thô vào Power Query và muốn xử lý từ Power Query, nhưng chưa nghĩ ra được Mcode nào phù hợp để trả về kết quả như mình mong muốn. Nhờ anh chị giúp đỡ ạ.
Em xin gửi đính kèm 2 file, 1 file em đã connect vào Query và 1 file là file kết quả độc lập em làm ở Exel ạ
Hiện tại, file em như sau:
Dữ liệu ban đầu

View attachment 303171
Kết quả mong muốn
Mã lệnhLoại hình sửa chữaLượt lệnhLượt job
2300357990Sửa chữa chung
1​
1​
2300357990Bảo dưỡng định kỳ
0​
1​
2300357990Bảo dưỡng định kỳ
0​
0​
2300357990Bảo dưỡng định kỳ
0​
0​

Trong Data xuất hiện nhiều lượt lệnh, và mỗi lệnh sẽ có nhiều loại hình sửa chữa. Em muốn đếm lượt lệnh chỉ xuất hiện 1 lần, và trong mỗi loại hình sửa chữa thì mỗi lượt job khác nhau sẽ xuất hiện 1 lần ạ.
Em xin cảm ơn ạ
 
Lần chỉnh sửa cuối:
Hiện em có 1 file exel đã đưa vào PowerQuery, nếu để xử lý công thức ngoài exel thì em viết công thức xong rồi và ra kết quả như mong muốn. Tuy nhiên, hiện em đang đưa dữ liệu thô vào Power Query và muốn xử lý từ Power Query, nhưng chưa nghĩ ra được Mcode nào phù hợp để trả về kết quả như mình mong muốn. Nhờ anh chị giúp đỡ ạ.
Hiện tại, file em như sau:
Dữ liệu ban đầu
View attachment 303173
View attachment 303171
Kết quả mong muốn
Mã lệnhLoại hình sửa chữaLượt lệnhLượt job
2300357990Sửa chữa chung
1​
1​
2300357990Bảo dưỡng định kỳ
0​
1​
2300357990Bảo dưỡng định kỳ
0​
0​
2300357990Bảo dưỡng định kỳ
0​
0​

Trong Data xuất hiện nhiều lượt lệnh, và mỗi lệnh sẽ có nhiều loại hình sửa chữa. Em muốn đếm lượt lệnh chỉ xuất hiện 1 lần, và trong mỗi loại hình sửa chữa thì mỗi lượt job khác nhau sẽ xuất hiện 1 lần ạ.
Em xin cảm ơn ạ
Bạn nên cho thêm dữ liệu và kết quả mong muốn, như thế này thì bạn muốn kết quả thế nào?
1723695997694.png
 
File trắng trơn, PQ chỉ connect không tạo table. Data lấy từ file khác mà không đưa lên.

1723698754709.png
 
Dạ, em gửi kết quả mong muốn ở file này ạ. Em cảm ơn ạ
Bạn sử dụng Mcode sau
Mã:
// Table194
let
    Source = Excel.CurrentWorkbook(){[Name="Table194"]}[Content],
    Index =Table.AddIndexColumn(Source, "Index", 1),
    Group = Table.Combine(Table.Group(Index, "Mã lệnh", {"T", each Table.Combine(Table.Group(Table.AddIndexColumn(_,"Lượt lệnh", 1),"Loại hình sửa chữa",{"H", (i)=>Table.AddIndexColumn(i, "Lượt sửa chữa",1)})[H])})[T]),
    Sort = Table.Sort(Group,{{"Index", Order.Ascending}}),
    RemoveCol = Table.RemoveColumns(Sort,{"Index"}),
    Replace = Table.TransformColumns(RemoveCol, List.Transform({"Lượt lệnh","Lượt sửa chữa"}, (x)=> {x, each if _=1 then 1 else 0}))
in
    Replace
 

File đính kèm

  • Tháng 07.2024.xlsx
    294.3 KB · Đọc: 6
File trắng trơn, PQ chỉ connect không tạo table. Data lấy từ file khác mà không đưa lên.

View attachment 303178
Dạ
File trắng trơn, PQ chỉ connect không tạo table. Data lấy từ file khác mà không đưa lên.

Dạ, em sơ xót ạ. em gửi lại ạ

Bạn sử dụng Mcode sau
Mã:
// Table194
let
    Source = Excel.CurrentWorkbook(){[Name="Table194"]}[Content],
    Index =Table.AddIndexColumn(Source, "Index", 1),
    Group = Table.Combine(Table.Group(Index, "Mã lệnh", {"T", each Table.Combine(Table.Group(Table.AddIndexColumn(_,"Lượt lệnh", 1),"Loại hình sửa chữa",{"H", (i)=>Table.AddIndexColumn(i, "Lượt sửa chữa",1)})[H])})[T]),
    Sort = Table.Sort(Group,{{"Index", Order.Ascending}}),
    RemoveCol = Table.RemoveColumns(Sort,{"Index"}),
    Replace = Table.TransformColumns(RemoveCol, List.Transform({"Lượt lệnh","Lượt sửa chữa"}, (x)=> {x, each if _=1 then 1 else 0}))
in
    Replace
Em cảm ơn nhiều ạ
 

File đính kèm

  • Book1.xlsx
    2.2 MB · Đọc: 4
Web KT

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

Back
Top Bottom