Focal Point
[SOLVED] Min and Max Alphanumeric Character Order?

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

March 12, 2015, 05:21 PM
Max Nevill
[SOLVED] Min and Max Alphanumeric Character Order?
Hi All.

In what order does WebFocus evaluate alphanumeric type data for the min and max function? I can't seem to find something like:

A>a>1>null/missing

Why? I have 4 columns of data

Program Title (no null/missing, A62V)
Honours (most null or missing, A30V)
Major1 (some null or missing, A30V)
Ext_Minor (most null or missing, A30V)


AREA_OF_STUDY/A62V =
IF HONOURS NE '' OR HONOURS IS NOT MISSING THEN HONOURS ELSE
IF MAJOR1 NE '' OR MAJOR1 IS NOT MISSING THEN MAJOR1 ELSE
IF EXT_MINOR NE '' OR EXT_MINOR IS NOT MISSING THEN EXT_MINOR ELSE PROGRAM_TITLE


And:

HONOURS/A30V = IF LFOS EQ 'Honours' THEN FOS_DESC
MAJOR1/A30V = IF LFOS EQ 'Major' THEN FOS_DESC
EXT_MINOR/A30V = IF LFOS EQ 'Extended Minor' THEN FOS_DESC

I get way, way more blanks than I should this way. Any suggestions?

This message has been edited. Last edited by: <Kathryn Henning>,


WebFocus 8.104
Windows 7 Entreprise, SP1
March 12, 2015, 06:13 PM
susannah
sometimes it has to do with the db you're using; so do something like this.
take 1 record, 1 you know has some things missing and some not, and test it carefully.
DEFINE FILE THING
switch1/I1 = IF HONOURS IS MISSING THEN 0 ELSE 1;
switch2/I2 = IF MAJOR IS MISING THEN 0 ELSE 1;
...etc
END
TABLE FILE THING
PRINT switch1 switch2 switch3 switch4 HONOURS MAJOR EXT_MINOR PROGRAM_TITLE
IF RECORDLIMIT IS 1
(or whatever filter gets you the single record you've chosen to evaluate).
This way you'll see exactly how you're evaluating your records.
Maybe EQ '' will do it, but that won't work in 77 so just fyi.
Lots of things you can try.
ARGLEN of each value is another one, if you're really stumped.




In Focus since 1979///7706m/5 ;wintel 2008/64;OAM security; Oracle db, ///MRE/BID
March 12, 2015, 06:14 PM
Frans
AREA_OF_STUDY/A62V =
IF HONOURS GT '' THEN HONOURS ELSE
IF MAJOR1 GT '' THEN MAJOR1 ELSE
IF EXT_MINOR GT '' THEN EXT_MINOR ELSE PROGRAM_TITLE


HONOURS/A30V = IF LFOS EQ 'Honours' THEN FOS_DESC ELSE '';
MAJOR1/A30V = IF LFOS EQ 'Major' THEN FOS_DESC ELSE '';
EXT_MINOR/A30V = IF LFOS EQ 'Extended Minor' THEN FOS_DESC ELSE '';

TABLE FILE X SUM
MAX.HONOURS
MAX.MAJOR1
MAX.EXT_MINOR

Note that WebFOCUS is case sensitive, so these (Extended Minor) values should literally be in the dataset.


Test: WF 8.2
Prod: WF 8.2
DB: Progress, REST, IBM UniVerse/UniData, SQLServer, MySQL, PostgreSQL, Oracle, Greenplum, Athena.
March 13, 2015, 02:36 PM
Max Nevill
susannah thanks for the suggestions on identifying data type.

Frans your suggested solutions worked out perfectly and solved the problem I was having. Thanks!


WebFocus 8.104
Windows 7 Entreprise, SP1
March 13, 2015, 04:19 PM
susannah
be aware that won't work in 77, just a reminder




In Focus since 1979///7706m/5 ;wintel 2008/64;OAM security; Oracle db, ///MRE/BID