let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Filled Down" = Table.FillDown(Source,{"Tổn hao", "Một/Hai kính", "Loại pin", "Độ dày (um)", "Kích thước"}),
#"Changed Type" = Table.TransformColumnTypes(#"Filled Down",{{"Độ dày (um)", type text}, {"Kích thước", type text}}),
#"Unpivoted Columns" = Table.UnpivotOtherColumns(#"Changed Type", {"Tổn hao", "Một/Hai kính", "Loại pin", "Độ dày (um)", "Kích thước", "Loại"}, "Attribute", "Value"),
#"Added Custom" = Table.AddColumn(#"Unpivoted Columns", "Mặt hàng", each [#"Một/Hai kính"] & "/" & [Loại pin] & "/" & [#"Độ dày (um)"] & "/" &[Kích thước]),
#"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"Một/Hai kính", "Loại pin", "Độ dày (um)", "Kích thước"}),
#"Reordered Columns" = Table.ReorderColumns(#"Removed Columns",{"Tổn hao", "Mặt hàng", "Loại", "Attribute", "Value"}),
#"Grouped Rows" = Table.Group(#"Reordered Columns", {"Tổn hao", "Mặt hàng", "Loại"}, {{"Value", each List.Sum([Value]), type any}}),
#"Filtered Rows" = Table.SelectRows(#"Grouped Rows", each ([Loại] <> null and [Loại] <> "Tổn hao")),
#"Pivoted Column" = Table.Pivot(#"Filtered Rows", List.Distinct(#"Filtered Rows"[Loại]), "Loại", "Value", List.Sum)
in
#"Pivoted Column"
Mình cũng mày mò làm được đến cột tổn hao rồi, chỉ là cột tỉ trọng và điểm số cần đặt công thức. Nhưng trong power query công thức không áp dụng giống bảng tính excel bên ngoài.Tôi làm đến đây và bạn làm tiếp:
View attachment 277774HTML:let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content], #"Filled Down" = Table.FillDown(Source,{"Tổn hao", "Một/Hai kính", "Loại pin", "Độ dày (um)", "Kích thước"}), #"Changed Type" = Table.TransformColumnTypes(#"Filled Down",{{"Độ dày (um)", type text}, {"Kích thước", type text}}), #"Unpivoted Columns" = Table.UnpivotOtherColumns(#"Changed Type", {"Tổn hao", "Một/Hai kính", "Loại pin", "Độ dày (um)", "Kích thước", "Loại"}, "Attribute", "Value"), #"Added Custom" = Table.AddColumn(#"Unpivoted Columns", "Mặt hàng", each [#"Một/Hai kính"] & "/" & [Loại pin] & "/" & [#"Độ dày (um)"] & "/" &[Kích thước]), #"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"Một/Hai kính", "Loại pin", "Độ dày (um)", "Kích thước"}), #"Reordered Columns" = Table.ReorderColumns(#"Removed Columns",{"Tổn hao", "Mặt hàng", "Loại", "Attribute", "Value"}), #"Grouped Rows" = Table.Group(#"Reordered Columns", {"Tổn hao", "Mặt hàng", "Loại"}, {{"Value", each List.Sum([Value]), type any}}), #"Filtered Rows" = Table.SelectRows(#"Grouped Rows", each ([Loại] <> null and [Loại] <> "Tổn hao")), #"Pivoted Column" = Table.Pivot(#"Filtered Rows", List.Distinct(#"Filtered Rows"[Loại]), "Loại", "Value", List.Sum) in #"Pivoted Column"
Thêm 3 câuVí dụ: Tỉ trọng = Số lượng hàng một kính/P4/180/166 : Sum(tất cả các loại hàng)
RemovedColumns1 = Table.RemoveColumns(#"Pivoted Column",{"Hàn hỏng", "Cắt hỏng", "Lỗi NVL"}),
SumSL = List.Sum(RemovedColumns1[Số lượng đưa vào]),
AddTyTrong = Table.AddColumn(RemovedColumns1,"TyTrong", each [Số lượng đưa vào]/ SumSL)
Bạn ơi, có thể gửi mình file excel mà bạn sửa được không? Mình làm cứ bị báo lỗi ở AddTytrong.Thêm 3 câu
Mã:RemovedColumns1 = Table.RemoveColumns(#"Pivoted Column",{"Hàn hỏng", "Cắt hỏng", "Lỗi NVL"}), SumSL = List.Sum(RemovedColumns1[Số lượng đưa vào]), AddTyTrong = Table.AddColumn(RemovedColumns1,"TyTrong", each [Số lượng đưa vào]/ SumSL)
Lên chức "tay bó bột" rồi hởTôi làm đến đây và bạn làm tiếp:
...
Đây là xuất ra Pivot rồi làm chứ,Mình làm được rồi cám ơn bạn. Hỏi thêm mình có thể hoà ô đầu tiên "Tỉ lệ tổn hao" như hình dưới trong power query không?
View attachment 277779
Hình trên là pivot, ý mình hỏi bạn ptm là có thể hoà ô được trong power query không ấy.Đây là xuất ra Pivot rồi làm chứ,
Sao mình làm kiểu gì nó cũng ra thế này, mà không ra số giống của bạn nhỉ?Hình trên là pivot, ý mình hỏi bạn ptm là có thể hoà ô được trong power query không ấy.
Tổn hao | Mặt hàng | Cắt hỏng | Hàn hỏng | Lỗi NVL | Mục tiêu | Số lượng đưa vào | Tổn hao | Tổng lỗi |
Tổn hao pin | Hai kính/Đơn tinh/160/166 | - | - | - | 0.01 | - | - | - |
Hai kính/Đơn tinh/160/182 | - | - | - | 0.01 | - | - | - | |
Hai kính/Đơn tinh/160/210 | - | - | - | - | - | - | - | |
Hai kính/Đơn tinh/165/166 | - | - | - | 0.01 | - | - | - | |
Hai kính/Đơn tinh/165/182 | - | - | - | 0.01 | - | - | - | |
Hai kính/Đơn tinh/165/210 | - | - | - | 0.01 | - | - | - | |
Hai kính/Đơn tinh/170/166 | - | - | - | 0.01 | - | - | - | |
Hai kính/Đơn tinh/170/182 | - | - | - | 0.01 | - | - | - | |
Hai kính/Đơn tinh/170/210 | - | - | - | 0.01 | - | - | - | |
Hai kính/P4/180/166 | - | - | - | 0.01 | - | - | - | |
Một kính/Đơn tinh/160/166 | 90.00 | 924.00 | 166.00 | 0.01 | 368,380.00 | 0.01 | 1,180.00 | |
Một kính/Đơn tinh/160/210 | - | - | - | - | - | - | - | |
Một kính/Đơn tinh/165/166 | 3,318.00 | 26,140.00 | 3,920.00 | 0.01 | 15,954,014.00 | 0.01 | 33,378.00 | |
Một kính/Đơn tinh/165/182 | - | - | - | 0.01 | - | - | - | |
Một kính/Đơn tinh/165/210 | - | - | - | 0.01 | - | - | - | |
Một kính/Đơn tinh/170/166 | 6,908.00 | 44,724.00 | 7,518.00 | 0.01 | 36,769,646.00 | 0.01 | 58,512.00 | |
Một kính/Đơn tinh/170/182 | - | - | - | 0.01 | - | - | - | |
Một kính/Đơn tinh/170/210 | - | - | - | 0.01 | - | - | - | |
Một kính/Đơn tinh/175/210 | - | - | - | 0.01 | - | - | - | |
Một kính/P4/180/166 | - | - | - | 0.01 | - | - | - | |
Một kính/P5/182/166 | - | - | - | 0.01 | - | - | - |
cái đó là do dữ liệu ảnh mẫu khác thời điểm với dữ liệu trong file excel nên số liệu khác nhau, file ảnh là trước đó tớ làm thủ công kết hợp với pivot. Tớ up lên ý muốn đưa dữ liệu về form mẫu như vậy.Sao mình làm kiểu gì nó cũng ra thế này, mà không ra số giống của bạn nhỉ?
Cái cột mục tiêu toàn ra 0.01
Tổn hao Mặt hàng Cắt hỏng Hàn hỏng Lỗi NVL Mục tiêu Số lượng đưa vào Tổn hao Tổng lỗi Tổn hao pin Hai kính/Đơn tinh/160/166 - - - 0.01 - - - Hai kính/Đơn tinh/160/182 - - - 0.01 - - - Hai kính/Đơn tinh/160/210 - - - - - - - Hai kính/Đơn tinh/165/166 - - - 0.01 - - - Hai kính/Đơn tinh/165/182 - - - 0.01 - - - Hai kính/Đơn tinh/165/210 - - - 0.01 - - - Hai kính/Đơn tinh/170/166 - - - 0.01 - - - Hai kính/Đơn tinh/170/182 - - - 0.01 - - - Hai kính/Đơn tinh/170/210 - - - 0.01 - - - Hai kính/P4/180/166 - - - 0.01 - - - Một kính/Đơn tinh/160/166 90.00 924.00 166.00 0.01 368,380.00 0.01 1,180.00 Một kính/Đơn tinh/160/210 - - - - - - - Một kính/Đơn tinh/165/166 3,318.00 26,140.00 3,920.00 0.01 15,954,014.00 0.01 33,378.00 Một kính/Đơn tinh/165/182 - - - 0.01 - - - Một kính/Đơn tinh/165/210 - - - 0.01 - - - Một kính/Đơn tinh/170/166 6,908.00 44,724.00 7,518.00 0.01 36,769,646.00 0.01 58,512.00 Một kính/Đơn tinh/170/182 - - - 0.01 - - - Một kính/Đơn tinh/170/210 - - - 0.01 - - - Một kính/Đơn tinh/175/210 - - - 0.01 - - - Một kính/P4/180/166 - - - 0.01 - - - Một kính/P5/182/166 - - - 0.01 - - -
Query mình đang làm nó ra thế này?cái đó là do dữ liệu ảnh mẫu khác thời điểm với dữ liệu trong file excel nên số liệu khác nhau, file ảnh là trước đó tớ làm thủ công kết hợp với pivot. Tớ up lên ý muốn đưa dữ liệu về form mẫu như vậy.
Em làm theo các bước của bác nhưng đến bước này hình như sai hay sao ấy ạTôi làm đến đây và bạn làm tiếp:
View attachment 277774HTML:let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content], #"Filled Down" = Table.FillDown(Source,{"Tổn hao", "Một/Hai kính", "Loại pin", "Độ dày (um)", "Kích thước"}), #"Changed Type" = Table.TransformColumnTypes(#"Filled Down",{{"Độ dày (um)", type text}, {"Kích thước", type text}}), #"Unpivoted Columns" = Table.UnpivotOtherColumns(#"Changed Type", {"Tổn hao", "Một/Hai kính", "Loại pin", "Độ dày (um)", "Kích thước", "Loại"}, "Attribute", "Value"), #"Added Custom" = Table.AddColumn(#"Unpivoted Columns", "Mặt hàng", each [#"Một/Hai kính"] & "/" & [Loại pin] & "/" & [#"Độ dày (um)"] & "/" &[Kích thước]), #"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"Một/Hai kính", "Loại pin", "Độ dày (um)", "Kích thước"}), #"Reordered Columns" = Table.ReorderColumns(#"Removed Columns",{"Tổn hao", "Mặt hàng", "Loại", "Attribute", "Value"}), #"Grouped Rows" = Table.Group(#"Reordered Columns", {"Tổn hao", "Mặt hàng", "Loại"}, {{"Value", each List.Sum([Value]), type any}}), #"Filtered Rows" = Table.SelectRows(#"Grouped Rows", each ([Loại] <> null and [Loại] <> "Tổn hao")), #"Pivoted Column" = Table.Pivot(#"Filtered Rows", List.Distinct(#"Filtered Rows"[Loại]), "Loại", "Value", List.Sum) in #"Pivoted Column"
Bước Unpivot của tôi làEm làm theo các bước của bác nhưng đến bước này hình như sai hay sao ấy ạ
= Table.UnpivotOtherColumns(#"Changed Type", {"Tổn hao", "Một/Hai kính", "Loại pin", "Độ dày (um)", "Kích thước", "Loại"}, "Attribute", "Value")
Không.Mình làm được rồi cám ơn bạn. Hỏi thêm mình có thể hoà ô đầu tiên "Tỉ lệ tổn hao" như hình dưới trong power query không?
Bác cho em hỏi thêm chút ạ,Bước Unpivot của tôi là
Của bạn thiếu "Loại" nên Loại trở thành 1 atttributeMã:= Table.UnpivotOtherColumns(#"Changed Type", {"Tổn hao", "Một/Hai kính", "Loại pin", "Độ dày (um)", "Kích thước", "Loại"}, "Attribute", "Value")
Không.
Thử tạo pivot table từ query mới tạo.
View attachment 277786
Bạn thử xem. Tôi thấy rằng làm như vậy không tính được tỷ trọng và cột tính điểmBác cho em hỏi thêm chút ạ,
Nếu để dạng cột như thế kia ở query lúc dùng pivot nó vẫn ra được ạ,
Em thấy để các chỉ tiêu số lượng đưa vào, hàn.... ở dạng 1 cột thì dùng được pivot chứ ạ.
Mình làm theo hướng dẫn của bạn ptm ra được kết quả mà, bác xem file đính kèm nhé.Query mình đang làm nó ra thế này?
Không hiểu sao đẩy được cái cột Loại nó thành chỉ tiêu ngang thế kia nhỉ?
Dạng như mình đang làm này là dùng Pivot tập hợp,
Chưa hiểu ý định của bạn làm gì mà đẩy nó kiểu pivot trên query luôn vậy.
View attachment 277780
Bài đã được tự động gộp:
Em làm theo các bước của bác nhưng đến bước này hình như sai hay sao ấy ạ
Mình cũng đi theo hướng này,Gửi bạn file, xem đúng ý không?
View attachment 277785
Nhưng không hiểu sao bạn kia lại để dạng Pivot trong query
sau đó lại làm công thức ở query luôn,
Thì bạn ấy tính toán luôn bằng Power query, cũng sao đâu, power query vẫn tính toán bình thường mà. Tuy nhiên theo ý kiến của tôi thì Power Query nó mạnh về ETL, còn tính toán thì nên là công việc của Power Pivot(Cái này trực quan và tùy biến nó dễ hơn)Mình cũng đi theo hướng này,
Nhưng không hiểu sao bạn kia lại để dạng Pivot trong query
sau đó lại làm công thức ở query luôn,
Chưa hiểu mục đích chính là gì.
))))))