1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- //
- // Example code - use without restriction.
- //
- IMPORT $;
- r := RECORD
- REAL8 Float := 0.0;
- DECIMAL8_3 Dec := 0.0;
- $.DeclareData.person.file;
- END;
- t := TABLE($.DeclareData.person.file,r);
- r XF(r L) := TRANSFORM
- SELF.float := L.PersonID / 1000;
- SELF.dec := L.PersonID / 1000;
- SELF := L;
- END;
- p := PROJECT(t,XF(LEFT));
- DSname := '~PROGGUIDE::EXAMPLEDATA::KEYS::dataset';
- IDX1name := '~PROGGUIDE::EXAMPLEDATA::KEYS::realkeytestIDX1';
- IDX2name := '~PROGGUIDE::EXAMPLEDATA::KEYS::realkeytestIDX2';
- OutName1 := '~PROGGUIDE::EXAMPLEDATA::KEYS::realkeytestout1';
- OutName2 := '~PROGGUIDE::EXAMPLEDATA::KEYS::realkeytestout2';
- OutName3 := '~PROGGUIDE::EXAMPLEDATA::KEYS::realkeytestout3';
- OutName4 := '~PROGGUIDE::EXAMPLEDATA::KEYS::realkeytestout4';
- OutName5 := '~PROGGUIDE::EXAMPLEDATA::KEYS::realkeytestout5';
- OutName6 := '~PROGGUIDE::EXAMPLEDATA::KEYS::realkeytestout6';
- DSout := OUTPUT(p,,DSname,OVERWRITE);
- ds := DATASET(DSname,r,THOR);
- idx1 := INDEX(ds,{STRING13 FloatStr := REALFORMAT(float,13,3)},{ds},IDX1name);
- idx2 := INDEX(ds,{STRING13 DecStr := (STRING13)dec},{ds},IDX2name);
- Bld1Out := BUILD(idx1,OVERWRITE);
- Bld2Out := BUILD(idx2,OVERWRITE);
- j1 := JOIN(idx1,idx2,LEFT.FloatStr = RIGHT.DecStr);
- j2 := JOIN(idx1,idx2,KEYED(LEFT.FloatStr = RIGHT.DecStr));
- j3 := JOIN(ds,idx1,KEYED((STRING10)LEFT.float = RIGHT.FloatStr));
- j4 := JOIN(ds,idx2,KEYED((STRING10)LEFT.dec = RIGHT.DecStr));
- j5 := JOIN(ds,idx1,KEYED((STRING10)LEFT.dec = RIGHT.FloatStr));
- j6 := JOIN(ds,idx2,KEYED((STRING10)LEFT.float = RIGHT.DecStr));
- JoinOut1 := OUTPUT(j1,,OutName1,OVERWRITE);
- JoinOut2 := OUTPUT(j2,,OutName2,OVERWRITE);
- JoinOut3 := OUTPUT(j3,,OutName3,OVERWRITE);
- JoinOut4 := OUTPUT(j4,,OutName4,OVERWRITE);
- JoinOut5 := OUTPUT(j5,,OutName5,OVERWRITE);
- JoinOut6 := OUTPUT(j6,,OutName6,OVERWRITE);
- SEQUENTIAL(DSout,Bld1Out,Bld2Out,JoinOut1,JoinOut2,JoinOut3,JoinOut4,JoinOut5,JoinOut6);
|