Focal Point
[CLOSED] Computed Sequential Number - Different values for Different PCHOLD

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

March 13, 2019, 10:00 AM
BobV
[CLOSED] Computed Sequential Number - Different values for Different PCHOLD
I sometimes create a sequential number using LAST in a COMPUTE to reference rows for conditions like this:
SUM
COMPUTE REC_SEQ/I8 = 1 + LAST REC_SEQ;NOPRINT
COMPUTE ACCT_CNT_TOT/I8=TOT.ACCT_CNT; NOPRINT
ACCT_CNT/I8C AS '# Accounts'
COMPUTE REMAIN/I8C =IF ( REC_SEQ EQ 1 ) THEN ACCT_CNT_TOT - ACCT ELSE ( REMAIN - ACCT_CNT );
BY WF_ITEM AS 'Criteria Group'

This REQ_SEQ starts at 1 when I output to XLSX as I would expect. However, when I try to output to HTML or PDF, the counter starts at 8.

Can anyone think of why this might occur? Is there some HTML SET command that would correct this?
thanks

Bob

This message has been edited. Last edited by: FP Mod Chuck,


WF (App Studio) 8.2.01m / Windows
Mainframe FOCUS 8
March 13, 2019, 12:47 PM
Addy
Hi Bob,
I created your compute field on CAR file and it works perfectly fine in all 3 o/p options.

If you are looking for a Sequential Counter you dont have to use LAST you can just say

COMPUTE REC_SEQ/I8 = 1 + REC_SEQ;

and it will still work.

If you have a sample code we all can look at that will be handy...


WF 8.2.04
Windows/Unix
All Formats
In Focus since 2006
March 13, 2019, 01:16 PM
BobV
Thanks for the tip about LAST. Should have realized that as I'm not doing it elsewhere.

I just did in CAR as well and works fine. So I backed out pieces of my code to see if I could find the cause.
It seems to happen when I use ON TABLE SET SUBTOTALS ABOVE
I see what it's doing because of this. The COMPUTE must recognize the total row as the final row. In my example, it's the 7th row. And it's building off that even though I'm not referencing it. Removing LAST does not fix.


WF (App Studio) 8.2.01m / Windows
Mainframe FOCUS 8
March 14, 2019, 12:26 PM
Frans
Should Remain be a value that is counting down per WF_ITEM? Then I would try solving this with PARTITION_AGGR. COMPUTE REMAIN/I8C = TOT.ACCT_CNT - PARTITION_AGGR(ACCT_CNT, WF_ITEM , B, C, SUM);

Otherwise do a
SUM
ACCT_CNT/I8C AS '# Accounts'
RANKED BY WF_ITEM AS 'Criteria Group'
ON TABLE HOLD FORMAT FOCUS
END

and do a define on this. Then sort on RANK in your next TABLE request.


Test: WF 8.2
Prod: WF 8.2
DB: Progress, REST, IBM UniVerse/UniData, SQLServer, MySQL, PostgreSQL, Oracle, Greenplum, Athena.