Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
I find using applymap over intervalmatch function better.As we know intervalmatch creates couple of tables (includes a synthetic table-which we should try to avoid).
As I am not very experienced QV professional,just wondering if you can always replace intervalmatch with applymap.(unless we want to display start,end of categories on sheet objects).
//if you have fewer buckets,use inline wizard otherwise dump your data onto an excel file.
//Tenure
TenureCategoryfn:
mapping LOAD * INLINE [
Tenure, TenureCategory
0, New
1, 1 to 3
2, 1 to 3
3, 3 to 5
4, 3 to 5
];
EmployeeData:
Load
// ..other fields,
applymap('TenureCategoryfn',age(termdate,joindate),'>5') as TenureCategory
from [.\datasource\HR Data.txt]
////Tenure - commented out
//TenureCategoryfn:
//LOAD * INLINE [
// Start, End, AgeCategory
// 0, 0, New
// 1, 2, 1 to 3
// 3, 4, 3 to 5
// 5, 500, >5
//];
//intervalmatch(Tenure) load Start,End resident TenureCategoryfn;
Thanks.
Raj wrote:
includes a synthetic table-which we should try to avoid).
You can eliminate the extra table and synthetic key by usng JOIN in the IntervalMatch. For example:
JOIN (mytab) IntervalMatch (Date) LOAD RangeStart, RangeEnd
Raj wrote:
...,just wondering if you can always replace intervalmatch with applymap.(unless we want to display start,end of categories on sheet objects).
No, they are not interchangeable. applyMap creates a 1:1 relationship. intervalMatch creates a 1:n relationship.
Your example above correctly uses mapping. IntervalMatch would be unnecessary unless Tenure could map into multiple Categories.
-Rob