COUNT
Counts a number of rows in a report based on a condition.
Syntax
[GROUP] COUNT(*) [ WHERE condition ] - condition is a boolean expression evaluated to compute the aggregate value.
Usage
This aggregate report instruction
returns the total number of records qualified by the
optional WHERE condition.
The WHERE condition is evaluated after any OUTPUT TO REPORT execution. Even if it is
typically used in AFTER GROUP
OF blocks, the aggregate expression is not evaluated in that block. Changing values
of the WHERE clause in the AFTER GROUP context will not have an
immediate effect.
Using the GROUP keyword
causes the aggregate instructions to include only
data of the current group of records that have the same value for
the variable that you specify in the AFTER
GROUP OF control block.
Example
The following fragment of a report definition uses the AFTER
GROUP OF control block and GROUP keyword
to form sets of records depending on how many items are in each order.
The last PRINT statement calculates the total price
of each order, adds a shipping charge, and prints the result. Because
no WHERE clause is specified here,
GROUP SUM() combines the total_price of every
item in the group included in the order.
AFTER GROUP OF number
SKIP 1 LINE
PRINT 4 SPACES, "Shipping charges for the order: ",
ship_charge USING "$$$$.&&"
PRINT 4 SPACES, "Count of small orders: ",
GROUP COUNT(*) WHERE total_price < 200.00 USING "##,###"
SKIP 1 LINE
PRINT 5 SPACES, "Total amount for the order: ",
ship_charge + GROUP SUM(total_price) USING "$$,$$$,$$$.&&"