Caché MultiValue Query Language (CMQL) Reference
CALC clause
[Home] [Back] [Next]
InterSystems: The power behind what matters   
Class Reference   
Search:    

Returns the calculated value for a field.
Synopsis
CALC field
Description
The CALC clause calculates the value for an I-type numeric field. CALC calculates to two decimal places. Leading and trailing zeros are suppressed.
Multiple CMQL clauses may be specified in any order. The order of application of CMQL clauses is always the same. The CALC clause is applied after the WITH clause, the SAMPLED clause (if present), and the SAMPLE clause (if present).
Examples
The following MultiValue Basic example creates an I-type field IPCT the value of which is calculated from the values of the fields PRICE and DSCPRICE:
0001 EXECUTE 'CREATE-FILE MYTESTFILE 1 1' CAPTURING STUFF 
0005 OPEN 'DICT','MYTESTFILE' TO DICT.FP ELSE ABORT 
0006 OPEN 'MYTESTFILE' TO FP ELSE ABORT 
0007 WRITE '100':@AM:'50' ON FP,3 
0008 WRITE '197':@AM:'175' ON FP,2 
0009 WRITE '203':@AM:'180' ON FP,1 
0010 
0011 WRITE 'D':@AM:1:@AM:@AM:'PRICE':@AM:'10R' ON DICT.FP,'PRICE' 
0012 WRITE 'D':@AM:2:@AM:@AM:'DSCPRICE':@AM:'10R' ON DICT.FP,'DSCPRICE' 
0013 WRITE 'I':@AM:\(TOTAL(PRICE-DSCPRICE))*100/TOTAL(PRICE)\:@AM:'MR20':@AM:'IPCT':@AM:'10R' ON DICT.FP,'IPCT' 
LIST MYTESTFILE TOTAL PRICE TOTAL DSCPRICE CALC IPCT