Focal Point
Unable to Join two hold files.

This topic can be found at:
https://forums.informationbuilders.com/eve/forums/a/tpc/f/7971057331/m/3611081882

June 17, 2008, 12:19 AM
basava
Unable to Join two hold files.
Hi,

Can anyboby tell me how to join two hold files. As i am getting parsing error if i use "JOIN".
i want to display as the format mentioned below.

Accurate WTD MTD
Agree 35% 56%
Disagree 65% 44%

But i am getting in this format

Accurate WTD
Agree 35%
Disagree 65%
Accurate MTD
Agree 56%
Disagree 44%

Please find the code below.

SET ASNAMES=ON
-SET &ECHO=ALL
SET LINES = 9999
-*SET HOLDLIST = PRINTONLY
-******************************************************************************************
-DEFAULT &WK = 5
-DEFAULT &M = 8
-DEFAULT &Y = 2005
TABLE FILE T_ACC_QUALITY
SUM
CNT.ACCURATE
CNT.FAST
CNT.FRIENDLY
WHERE MO_WK_I EQ &WK
ON TABLE HOLD AS HOLD1
END
-RUN
TABLE FILE HOLD1
PRINT *
ON TABLE SAVE AS SAVE1
END
-RUN
-READ SAVE1 &ACC.I5. &FAST.I5. &FRIEND.I5.
TABLE FILE T_ACC_QUALITY
SUM
CNT.ACCURATE
CNT.FAST
CNT.FRIENDLY
WHERE MO_I EQ &M
ON TABLE HOLD AS HOLD2
END
-RUN
TABLE FILE HOLD2
PRINT *
ON TABLE SAVE AS SAVE2
END
-RUN
-READ SAVE2 &ACCM.I5. &FASTM.I5. &FRIENDM.I5.
-* *****************************************************FOR ACCURATE CATEGORY START
TABLE FILE T_ACC_QUALITY
SUM
COMPUTE WTD/D4% = IF (ACCURATE IN ('Agree' , 'StronglyAgree')) THEN ((CNT.ACCURATE/&ACC) * 100) ELSE IF (ACCURATE EQ 'Disagree') THEN ((CNT.ACCURATE/&ACC)*100) ELSE 0 ;
BY ACCURATE
WHERE MO_WK_I EQ &WK
END
-RUN

TABLE FILE T_ACC_QUALITY
SUM
COMPUTE MTD/D4% = IF ACCURATE IN ('Agree' , 'StronglyAgree') THEN ((CNT.ACCURATE/&ACCM) * 100) ELSE IF ACCURATE EQ 'Disagree' THEN ((CNT.ACCURATE/&ACCM)*100) ELSE 0 ;
BY ACCURATE
WHERE MO_I EQ &M
END
-RUN
-********************************************************FOR ACCURATE CATEGORY END

-EXIT

This message has been edited. Last edited by: basava,
June 17, 2008, 01:09 AM
Danny-SRL
Basava,
What do you want to JOIN?


Daniel
In Focus since 1982
wf 8.202M/Win10/IIS/SSA - WrapApp Front End for WF

June 17, 2008, 01:16 AM
Majid Jeddi
Hi,

I repeat the question Danny:What do you want to join.
Generally, if you want to join 2 hold files you have to hold each of them with an index.
Then you will used these 2 indexes in your join.

Majid.


WebFocus 7.6.5
AND WebLogic server as web server
sql2005 as database server
June 17, 2008, 01:59 AM
basava
HI,
Sorry i have hove not inculed the command in the code for creating index, because i was getting the parsing error.
please check the main code below.

TABLE FILE T_ACC_QUALITY
SUM
COMPUTE WTD/D4% = IF (ACCURATE IN ('Agree' , 'StronglyAgree')) THEN ((CNT.ACCURATE/&ACC) * 100) ELSE IF (ACCURATE EQ 'Disagree') THEN ((CNT.ACCURATE/&ACC)*100) ELSE 0 ;
BY ACCURATE
WHERE MO_WK_I EQ &WK
ON TABLE HOLD AS HWA1 FORMAT FOCUS INDEX ACCURATE
END
-RUN

TABLE FILE T_ACC_QUALITY
SUM
COMPUTE MTD/D4% = IF ACCURATE IN ('Agree' , 'StronglyAgree') THEN ((CNT.ACCURATE/&ACCM) * 100) ELSE IF ACCURATE EQ 'Disagree' THEN ((CNT.ACCURATE/&ACCM)*100) ELSE 0 ;
BY ACCURATE
WHERE MO_I EQ &M
ON TABLE HOLD AS HMA1 FORMAT FOCUS INDEX ACCURATE
END
-RUN

Here i want to join HWA1 & HMA1 hold files.
June 17, 2008, 02:02 AM
Danny-SRL
Basava,

Wouldn't
  
JOIN ACCURATE IN HMA1 
TO ACCURATE IN HWAI 
AS X
END

do the job?


Daniel
In Focus since 1982
wf 8.202M/Win10/IIS/SSA - WrapApp Front End for WF

June 17, 2008, 03:04 AM
basava
hi danny,

thank's alot....

i got it.
June 17, 2008, 09:06 AM
GinnyJakes
Also, FYI, the parent or host of the join does not have to be a FOCUS file with an index. A simple hold file will suffice.


Ginny
---------------------------------
Prod: WF 7.7.01 Dev: WF 7.6.9-11
Admin, MRE,self-service; adapters: Teradata, DB2, Oracle, SQL Server, Essbase, ESRI, FlexEnable, Google