So sánh giá trị hiện tại với n giá trị liền kề trong Power Querry

Liên hệ QC

songcham85

Thành viên mới
Tham gia
11/8/19
Bài viết
5
Được thích
0
Em chào anh chị,mong anh chị giúp đỡ.
Em muốn lập 1 hàm trong Power Querry với điều kiện : Nếu giá trị hiện tại lớn hơn giá trị lớn nhất của 10 giá trị liền kề thì là 1, còn không là không 0.
Đây là công thức trong excel em làm : =IF(Table2[@DT]>=MAX(OFFSET(Table2[@DT],-1,0,10,1)),1,0)
Em muốn làm công thức tương tự trong Powe Querry thì làm như thế nào ạ ?!
Em cám ơn.
123.png
 

File đính kèm

  • Lấy n giá trị.xlsx
    12.7 KB · Đọc: 3
Dùng hàm lồng:
- Tạo cột Index
- Vị trí dòng hiện tại: n = [Index]
- Loại trừ n dòng: TableNew = Table.Skip(Table2, n)
- Lấy bảng 10 dòng từ bảng TableNew: TableNew2 = Table.FirstN(TableNew,10)
- Giá trị lớn nhất của 10 dòng: DTMax10 = List.Max(TableNew2[DT])
- Thêm cột: each if [DT] > DTMax10 then 1 else 0

Gộp lại:
PHP:
NewColumn = Table.AddColumn(AddIndex,"New", each if [DT]> List.Max(Table.FirstN(Table.Skip(AddIndex,[Index]),10)[DT]) then 1 else 0)
 
Có thể thay Table.FirstN(Table.Skip(AddIndex,[Index]),10)[DT] bằng Table.Range:
PHP:
NewColumn = Table.AddColumn(AddIndex,"New", each if [DT]> List.Max(Table.Range(AddIndex,[Index],10)[DT]) then 1 else 0)
 
Cám ơn anh đã trả lời giúp,
Em gặp 2 vấn đề như sau với code của anh ( do em mới học Power Querry, có học chậm mong anh bỏ qua), nhờ anh giải đáp :
- index như hình dưới giới hạn tới 1000, mà data của em tới 100000 dòng thì làm như thế nào ạ. ( em tự tạo index). Hình 1
- Em add code của anh vào thì bị lỗi addindex, không biết sai ở đâu ( Em chọn add column - custom column ). ( em xoá index tự tạo trước đó rồi ).Hình 2
hinhg1.png
14.png

13.png
 

File đính kèm

  • 1000.png
    1000.png
    201.4 KB · Đọc: 7
1. Hình 1: PQ chỉ hiển thi5 1000 dòng đầu tiên bất kể cột nào, không có nghĩa là không đủ.
2. Tự tạo index bằng custom làm sao ra Index?
3. Bước tạo Index phải có tên là AddIndex chứ không phải "Added Index"
4. Hình 2: Có ô chứa tên cột mới là "New Column", câu lệnh lại thêm tên "New" vào đó nữa sinh ra lỗi 2. Paste code vào thanh công thức hoặc cửa sổ Advanced editor chứ không phải paste vào hộp thoại tạo cột.
 
Lần chỉnh sửa cuối:
Web KT
Back
Top Bottom