| Title: | FOCUS, from INFORMATION BUILDERS |
| Moderator: | ZAYIUS::BROUILLETTE |
| Created: | Thu Feb 19 1987 |
| Last Modified: | Mon May 05 1997 |
| Last Successful Update: | Fri Jun 06 1997 |
| Number of topics: | 615 |
| Total number of notes: | 1779 |
Hi,
Seems like I'm the only one entering notes in here
recently......is there anybody out there ?
Another little tadgette of a problem...has anybody managed to
resolve a many to many join yet? if so how....
I have two files, both with duplicate values over which I need
to join and pick up associated codes....
File 1 File 2
Cost Centre Cost Centre
Value Code
In both cases the Cost centre is duplicated in both files
but I need to be able to SUM value for file 1 where Code in file
2 is as specified. There are cases where Code in file 2 can have
the same Cost Centre...
File 1 File 2
---------------------------------
Record 1 XYZ XYZ
100 CODEA
Record 2 XYZ XYZ
99 CODEB
A conventional JOIN using Cost Centre only picks up the first
instance of a matching cost centre in file 2, where as a JOIN
with the ALL qualifier produces a 'duplicates in HOST' error....
Any suggestions appreciated.
Gary.
| T.R | Title | User | Personal Name | Date | Lines |
|---|---|---|---|---|---|
| 582.1 | Have you tried using a match instead of a join? | DEVLPR::CIONI | Fri Jun 03 1994 13:04 | 22 | |
Just thinking that would probably suit your purpose better Something like: MATCH FILE FILE1 SUM VALUE BY COST_CENTER RUN FILE FILE2 BY COST_CENTER BY CODE ON MATCH HOLD NEW END Your result will be all in the second file with the overlap of the sum from file1. If that hold option doesn't work - there are others to try for your needed result. Lisa | |||||
| 582.2 | FOCUS$DUFF ! | REPROT::MCSHANEG | Deceptively Co-operative | Sun Jun 05 1994 16:09 | 28 |
Lisa,
Thanks for the reply...I have, since entering my original note
attempted to use a MATCH statement but with no luck, I end up with
missing elements all over the place.. my explanation of the two files
was not very clear, the field 'cost centre' in both files occurs many
times in both files though is still the only common field, so a MATCH
didn't work as MATCH like DECODE seems to work on the first element found.
I then generated a unique file to which I managed to JOIN to two other
files so allowing a many to many join via a single common field. This
looked ok when a CHECK FILE PICT was issued, however, in attempting to
access the structure for reporting I got two FOCUS errors I've not had
before...FOC144 and FOC030, both confusing in their explanation when
considering the JOIN'd structure is supposed to be viewed by FOCUS as a
single structure.
After many late nights and much head scratching I've given up and have
written a small DTR procedure which creates unique records from the two
files and passes these back to FOCUS for the final TABLE FILE....
Thanks
Gary
look ok
| |||||
| 582.3 | DEVLPR::CIONI | Fri Jun 10 1994 12:47 | 8 | ||
Was your unique file indexed? Post your code if you can...and the error messages... I guess once I get started on trying to solve a problem, I can't put it down :^) Lisa | |||||
| 582.4 | Problem now fixed, but FYI.... | CHEFS::GARMCS::MCSHANEG | Deceptively Co-Operative | Tue Jun 14 1994 06:59 | 67 |
Lisa,
The problem has been solved now but I have attached the
two .MAS files FYI I was attempting to JOIN/MATCH. The common
field is the one flagged as occurring many times......as I say,
it's been fixed now so don't drive yourself nuts looking for a
solution....
The two error Messages were...
(FOC144) NOTE...TESTING IN INDEPENDENT SETS OF DATA ?
The request references sets of multiply occuring data which are
independent of each other.
(FOC030) SORT KEYS NOT IN PATH OF ALL VERB OBJECTS IN VERB SET
The request statement contains an illogical sort condition re-
lative to the field to be retrieved and sorted. A multi-set
request statement where each set of verb objects have their
own sort keys may be appropriate.
The error messages were a result of trying access a join
structure as follows.....a CHECK FILE PICTURE showed no
errors.
Many File A>----Unique File----< Many File B
Ta, Gary
FILE=RUTAB,
SEGNAME=WORK,SEGTYP=S1,$
FIELDNAME=COC_CODE, USAGE=A3, ACTUAL=A3,$ <<<<- Occurs many times
FIELDNAME=ROLLUP, USAGE=A4, ACTUAL=A4,$
FIELDNAME=DTL, USAGE=A1, ACTUAL=A1,$
FIELDNAME=RU_LCL, USAGE=A1, ACTUAL=A1,$
FIELDNAME=RU_ACT, USAGE=A1, ACTUAL=A1,$
FIELDNAME=RU_CON, USAGE=A1, ACTUAL=A1,$
FILE=CCACT2,SUFFIX=FIX
SEGNAME=CCACT2
FIELDNAME=JUL,E01,D7.1,D08,$
FIELDNAME=AUG,E02,D7.1,D08,$
FIELDNAME=SEP,E03,D7.1,D08,$
FIELDNAME=OCT,E04,D7.1,D08,$
FIELDNAME=NOV,E05,D7.1,D08,$
FIELDNAME=DEC,E06,D7.1,D08,$
FIELDNAME=JAN,E07,D7.1,D08,$
FIELDNAME=FEB,E08,D7.1,D08,$
FIELDNAME=MAR,E09,D7.1,D08,$
FIELDNAME=APR,E10,D7.1,D08,$
FIELDNAME=MAY,E11,D7.1,D08,$
FIELDNAME=JUN,E12,D7.1,D08,$
FIELDNAME=YEAR,E13,D9.1,D08,$
FIELDNAME=COC_CODE,E14,A3,A04, <<<<-Occurs many times
MISSING=ON,$
FIELDNAME=NATURE,E15,A3,A04,$
FIELDNAME=CMV,E16,D7.1,D08,$
FIELDNAME=FISCAL_YEAR,E17,A4,A04,
MISSING=ON,$
FIELDNAME=CCOA_GRP_DESC,E18,A25,A28,$
FIELDNAME=CCOA_DET_DESC,E19,A37,A40,$
| |||||
| 582.5 | not indexed... | PEKING::MCSHANEG | Deceptively Co-operative | Tue Jun 14 1994 17:46 | 7 |
re -1
oops..forgot to mention, the unique file used to link the two 'many'
type files was produced as a TABLE SAVE type file by using a TABLE FILE
against one on the 'many' files...
Gary.
| |||||