Mapping mã tìm kiếm (Lookup Mapping)

Navigation:  Các công cụ phát triển phần mềm > Xử lý dữ liệu (Data Processing) > Các lệnh tìm kiếm & tra cứu >

Mapping mã tìm kiếm (Lookup Mapping)

Previous pageReturn to chapter overviewNext page
Show/Hide Hidden Text

Mapping mã tìm kiếm là gì?

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

 

Thiết lập LKUM

tipbulb           pbs.BO.LKUM

Câ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:

lkum_001_zoom43

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.

 

Sử dụng LKUM

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)

lkum_002_zoom20

2. Danh mục phòng ban thuộc LookupCategory: DEPT (pbs.BO.CATEGORY)

lkum_003a_zoom20
 

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

 

lkum_005_zoom36

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

<%EXTOGGLE%>Tag <#MLookup()>

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.

nut_arrow 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

 

<%EXTOGGLE%>User Table(LKUM...)

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.

nut_arrow Cú pháp sử dụng user table như sau: user table(LKUM?MapDate=20160601&OrgCategory=EMP&TargetCategory=DEPT)

MapDate

MapPeriod

OrgCategory

OrgCode

TargetCategory

TargetCode

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/05/2016

 

EMP

E001

DEPT

P02 - Marketing

 

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).

nut_arrow Cú pháp sử dụng user table như sau: user table(LKUMDateHistory?Date=<<20160101..20160105&OrgCategory=EMP&OrgCode=E001&TargetCategory=DEPT)

MapDate

MapPeriod

OrgCategory

OrgCode

TargetCategory

TargetCode

01/01/2016

 

EMP

E001

DEPT

P01 - Nhân sự

02/01/2016

 

EMP

E001

DEPT

P01 - Nhân sự

03/01/2016

 

EMP

E001

DEPT

P01 - Nhân sự

04/01/2016

 

EMP

E001

DEPT

P01 - Nhân sự

05/01/2016

 

EMP

E001

DEPT

P01 - Nhân sự

 

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.

nut_arrow Cú pháp sử dụng user table như sau: user table(LKUMPeriodHistory?Period=<<2016003..2016007&OrgCategory=EMP&OrgCode=E001&TargetCategory=DEPT)

MapDate

MapPeriod

OrgCategory

OrgCode

TargetCategory

TargetCode

01/01/2016

2016003

EMP

E001

DEPT

P01 - Nhân sự

01/01/2016

2016004

EMP

E001

DEPT

P01 - Nhân sự

01/05/2016

2016005

EMP

E001

DEPT

P02 - Marketing*

01/05/2016

2016006

EMP

E001

DEPT

P02 - Marketing

01/05/2016

2016007

EMP

E001

DEPT

P02 - Marketing

 

 

________________________

Updated date: 18/05/2016