Dò tìm giá trị từ bảng khác theo cột (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

Tôi tuân thủ nội quy khi đăng bài
nhờ các bạn giúp mình bài này
Thử với đoạn M Code sau :
Mã:
let
  src = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
  typed = Table.TransformColumnTypes(src, {{"TEN", type text}, {"A", Int64.Type}, {"B", Int64.Type}, {"C", Int64.Type}}),
  unpivot = Table.UnpivotOtherColumns(typed, {"TEN"}, "LOAI", "Value"),
  joined = Table.NestedJoin(unpivot, {"TEN", "LOAI"}, Table2, {"TEN", "LOAI"}, "t2", JoinKind.LeftOuter),
  expanded = Table.ExpandTableColumn(joined, "t2", {"VALUE"}, {"VALUE.1"}),
  replaced = Table.ReplaceValue(expanded, null, 0, Replacer.ReplaceValue, {"VALUE.1"}),
  added = Table.AddColumn(replaced, "Nhan2Bang", each [Value] * [VALUE.1]),
  filtered = Table.SelectRows(added, each [Nhan2Bang] > 0),
  final = Table.SelectColumns(filtered, {"TEN", "LOAI", "Nhan2Bang"})
in
  final
 

File đính kèm

Bạn dùng M code sau
Mã:
let
    _data = Excel.CurrentWorkbook(){[Name="data"]}[Content],
    _bangdo = Excel.CurrentWorkbook(){[Name="bang_do"]}[Content],
    ket_qua = Table.ReplaceValue(_data, each [TEN], each [LOAI],(x,y,z)=> x*Record.FieldOrDefault(_bangdo{[TEN=y]}?,z)??"chua co gia",{"VALUE"})
in
ket_qua
1756029156162.png
 
Thử với đoạn M Code sau :
...
typed = Table.TransformColumnTypes(src, {{"TEN", type text}, {"A", Int64.Type}, {"B", Int64.Type}, {"C", Int64.Type}}),
...
Step này do PQ tự sinh ra và nó vô ích vì Cả 3 cột A, B, C sẽ bị gộp thành 1.
Sau đó có 1 step tính toán trên cột gộp, tính xong thì cũng xóa cột gộp đó.
Vì vậy step Change Type tôi thường làm sau cùng hoặc khi cần thiết. Step tự sinh tôi thường xóa đi.

Đặc biệt khi bảng có rất nhiều cột nhưng chỉ sử dụng 1 số cột thì change type xong xóa đi thì change làm gì.
 

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

Back
Top Bottom