Lookup Mapping (LKUM) là công cụ giúp kết nối 2 danh mục tham chiếu (ví dụ danh mục tham chiếu A và B) lại với nhau và đặc biệt được theo dõi theo thời điểm mapping.
Mục đích của việc sử dụng LKUM là biết được tại thời điểm/khoảng thời gian truy vấn cho trước, thì mã của danh mục tham chiếu A sẽ được mapping với mã nào của danh mục tham chiếu B.
Ưu điểm của LKUM là sẽ giúp cho việc theo dõi lịch sử thay đổi của các đối tượng một cách khoa học và hiệu quả.
LKUM được ứng dụng trong các trường hợp ví dụ sau:
▪Cho biết phòng ban của nhân viên X tại thời điểm truy vấn theo ngày; trong đó Nhân viên (pbs.BO.HR.EMP) và Phòng ban (LookupCategory: DEPT) là 2 danh mục tham chiếu.
▪Cho biết phòng ban của toàn bộ nhân viên tại thời điểm truy vấn theo ngày; trong đó Nhân viên (pbs.BO.HR.EMP) và Phòng ban (LookupCategory: DEPT) là 2 danh mục tham chiếu.
▪Cho biết lịch sử thay đổi địa điểm làm việc của nhân viên X theo từng ngày trong khoảng thời gian truy vấn (từ ngày - đến ngày); trong đó Nhân viên (pbs.BO.HR.EMP) và Địa điểm làm việc (LookupCategory: COSO) là 2 danh mục tham chiếu.
▪Cho biết lịch sử thay đổi địa điểm làm việc của nhân viên X theo từng tháng trong khoảng thời gian truy vấn (từ tháng - đến tháng); trong đó Nhân viên (pbs.BO.HR.EMP) và Địa điểm làm việc (LookupCategory: COSO) là 2 danh mục tham chiếu.
▪...
* Lưu ý
❑Có thể áp dụng LKUM cho nhiều trường hợp khác như xem lịch sử chuyển trường của học sinh, máy móc thiết bị tại thời điểm truy vấn đang ở kho nào, ...
❑2 danh mục tham chiếu được mapping với nhau có thể là từ danh mục của tính năng A và danh mục pbs.BO.LOOKUP, hoặc từ danh mục của 2 tính năng A và B, hoặc từ 2 danh mục trong tính năng pbs.BO.LOOKUP
pbs.BO.LKUMCâu lệnh mở tính năng Lookup Mapping - Mapping mã tìm kiếm. |
Giao diện tính năng Mapping mã tìm kiếm và các điểm trên form nhập liệu cần lưu ý như sau:
OrgCategory |
Mã danh mục đối tượng gốc. ▪Nếu từ Danh mục tìm tiếm thì chọn mã LookupCategory. ▪Nếu từ tính năng thì nhập mã tính năng. Ví dụ EMP, NA, LO, ... ▪Hoặc các mã tự do (định nghĩa tại pbs.BO.CATEGORY) |
---|---|
OrgCode (1) |
Mã tìm kiếm từ danh mục gốc. |
TargetCategory |
Mã danh mục đối tượng mục tiêu. |
TargetCode (2) |
Mã tìm kiếm từ đối tượng mục tiêu, giá trị này được mapping cho một hoặc nhiều đối tượng của danh mục gốc (1). |
Map Set |
Mã tìm kiếm |
LineNo |
Số thứ tự dòng nhảy tự động |
MapDate |
Ghi nhận ngày mapping |
MapPeriod |
Ghi nhận kỳ mapping |
MapTime |
Ghi nhận giờ mapping |
Notes |
Ghi chú |
* Trong trường hợp MapDate trùng nhau, thì chương trình sẽ lấy kết quả dựa vào 2 tiêu chí tiếp theo là MapTime và LineNo. |
LKUM được sử dụng bằng cú pháp tag hoặc user table trên báo cáo. Ví dụ dưới đây sẽ hướng dẫn chi tiết từng cách dùng của LKUM trong từng trường hợp.
Trong hệ thống quản lý nhân sự của công ty ABC có dữ liệu như sau:
1. Danh mục Nhân viên (pbs.BO.HR.EMP)
2. Danh mục phòng ban thuộc LookupCategory: DEPT (pbs.BO.CATEGORY)
Hai danh mục này được mapping với nhau (pbs.BO.LKUM) theo bảng bên dưới:
Mã lookup OrgCategory |
Nhân viên OrgCode |
Mã lookup TargetCategory |
Phòng ban TargetCode |
Từ ngày MapDate |
EMP |
E001 |
DEPT |
P01 - Nhân sự |
01/01/2016 |
EMP |
E002 |
DEPT |
P01 - Nhân sự |
01/01/2016 |
EMP |
E003 |
DEPT |
P02 - Marketing |
01/01/2016 |
EMP |
E004 |
DEPT |
P02 - Marketing |
01/01/2016 |
EMP |
E005 |
DEPT |
P03 - Kế toán |
01/01/2016 |
EMP |
E001 |
DEPT |
P02 - Marketing |
01/05/2016 |
Theo bảng dữ liệu trên thì 2 danh mục được mapping là Nhân viên (pbs.BO.HR.EMP) là danh mục tìm kiếm gốc và DEPT (pbs.BO.LOOKUP) là danh mục tìm kiếm mục tiêu.
Trong suốt ví vụ này, người viết thực hiện trên các công cụ sau:
▪Excel template: TestLKUM.template.xlsx
▪Chạy lệnh xuất kết quả ra Excel: pbs.BO.Output.ToExcel?$template=TestLKUM
LKUM được dùng với cú pháp tag như sau: <#MLookup(TargetCategory;OrgCategory;OrgCode;Date;Time - optional)> Tag này cho biết giá trị tìm kiếm mục tiêu của một đối tượng nào đó tại thời điểm truy vấn theo ngày. Ví dụ: phòng ban của nhân viên X, cơ sở học của học sinh Y, ....
Ví dụ: Cho biết phòng ban của nhân viên E001 tại ngày 05/03/2016 và 05/06/2016. Cú pháp sử dụng tag <#MLookup()> và kết quả như sau: ▪<#MLookup(DEPT;EMP;E001;20160305)> ---> P01 - Nhân sự ▪<#MLookup(DEPT;EMP;E001;20160605)> ---> P02 - Marketing
|
LKUM được dùng với user table trong template excel trong các trường hợp: User table 1: user table(LKUM?MapDate=T&.....other filters) ▪Nếu MapDate không được xác định, ngày hiện tại (T) sẽ được dùng để thay thế. ▪User table này liệt kê giá trị tìm kiếm mục tiêu của các đối tượng tại thời điểm truy vấn theo một ngày cụ thể.
Ví dụ: Cho biết phòng ban của nhân viên trong công ty ABC, tại ngày 01/06/2016. Cú pháp sử dụng user table như sau: user table(LKUM?MapDate=20160601&OrgCategory=EMP&TargetCategory=DEPT)
User table 2: user table(LKUMDateHistory?Date=<<20150101..20151231&OrgCategory=&OrgCode=&TargetCategory=) ▪Nếu Date không được xác định, ngày hiện tại (T) sẽ được dùng. OrgCode có thể là tiêu chí <all>, hoặc <<aaa..bbb ▪User table này xây dựng một bảng dữ liệu liệt kê lịch sử thay đổi các giá trị mục tiêu của đối tượng nào đó theo từng ngày trong thời điểm truy vấn (từ ngày..đến ngày). ▪Category, Code là các thông tin đầu vào bắt buộc.
Ví dụ: Cho biết địa điểm làm việc của nhân viên E001 theo từng ngày với khoảng thời gian truy vấn từ ngày 01/01/2016 đến 05/01/2016). Cú pháp sử dụng user table như sau: user table(LKUMDateHistory?Date=<<20160101..20160105&OrgCategory=EMP&OrgCode=E001&TargetCategory=DEPT)
User table 3: user table(LKUMPeriodHistory?Period=<<2015001..2015011&OrgCategory=&OrgCode=&TargetCategory=) ▪Nếu Period không được xác định, tháng hiện tại sẽ được dùng. OrgCode có thể là tiêu chí <all>, hoặc <<aaa..bbb ▪User table này xây dựng một bảng dữ liệu liệt kê lịch sử thay đổi các giá trị tìm kiếm của đối tượng nào đó theo từng tháng trong thời điểm truy vấn (từ tháng..đến tháng). ▪Giá trị tìm kiếm mục tiêu sẽ được trả về dựa theo ngày cuối cùng trong tháng để xác định. * ▪Category, Code là các thông tin đầu vào bắt buộc.
Ví dụ 4: Cho biết địa điểm làm việc của nhân viên E001 theo từng tháng với khoảng thời gian truy vấn từ tháng 03/2016 - đến 07/2016. Cú pháp sử dụng user table như sau: user table(LKUMPeriodHistory?Period=<<2016003..2016007&OrgCategory=EMP&OrgCode=E001&TargetCategory=DEPT)
|
________________________
Updated date: 18/05/2016