Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
What is functionality of mode function? May be someone can explain to me and give me some example.
Thanks
Hi Danny,
Mode as an aggregation function basically calculates the occurence or frequency of a value over a range of records and gives the one occuring most commonly, if two top most occuring values have equal frequency than it will return null like any other aggregation function.
eg.
TabA:
LOAD * INLINE [
A, B
1, d
1, d
1, d
1, g
1, h
2, g
2, g
2, g
2, l
];
Final:
Load
A,
Mode(B)
Resident TabA Group By A;
OutPut of Final Will Be
Final:
A,Mode(b)
1,d
2,g
Hi Danny,
Mode as an aggregation function basically calculates the occurence or frequency of a value over a range of records and gives the one occuring most commonly, if two top most occuring values have equal frequency than it will return null like any other aggregation function.
eg.
TabA:
LOAD * INLINE [
A, B
1, d
1, d
1, d
1, g
1, h
2, g
2, g
2, g
2, l
];
Final:
Load
A,
Mode(B)
Resident TabA Group By A;
OutPut of Final Will Be
Final:
A,Mode(b)
1,d
2,g
Mode() finds the most commonly-occurring value, the mode value, in the aggregated data. The Mode() function can process text values as well as numeric values.
Syntax:
Mode([{SetExpression}] [TOTAL [<fld {,fld}>]] expr)
Return data type: dual
Arguments:
Argument | Description |
---|---|
expr | The expression or field containing the data to be measured. |
SetExpression | By default, the aggregation function will aggregate over the set of possible records defined by the selection. An alternative set of records can be defined by a set analysis expression. |
TOTAL | If the word TOTAL occurs before the function arguments, the calculation is made over all possible values given the current selections, and not just those that pertain to the current dimensional value, that is, it disregards the chart dimensions. The TOTAL qualifier may be followed by a list of one or more field names within angle brackets <fld>. These field names should be a subset of the chart dimension variables. |
Examples and results:
Customer | Product | UnitSales | UnitPrice |
---|---|---|---|
Astrida | AA | 4 | 16 |
Astrida | AA | 10 | 15 |
Astrida | BB | 9 | 9 |
Betacab | BB | 5 | 10 |
Betacab | CC | 2 | 20 |
Betacab | DD | - | 25 |
Canutility | AA | 8 | 15 |
Canutility | CC | - | 19 |
Examples | Results |
---|---|
Mode(UnitPrice) Make the selection Customer A. | 15, because this is the most commonly-occurring value in UnitSales. Returns NULL (-). No single value occurs more often than another. |
Mode(Product) Make the selection Customer A | AA, because this is the most commonly occurring value in Product. Returns NULL (-). No single value occurs more often than another. |
Mode(TOTAL UnitPrice) | 15, because the TOTAL qualifier means the most commonly occurring value is still 15, even disregarding the chart dimensions. |
Make the selection Customer B. Mode)({1} TOTAL UnitPrice) | 15, independent of the selection made, because the Set Analysis expression {1} defines the set of records to be evaluated as ALL, no matter what selection is made. |
Data used in examples:
ProductData:
LOAD * inline [
Customer|Product|UnitSales|UnitPrice
Astrida|AA|4|16
Astrida|AA|10|15
Astrida|BB|9|9
Betacab|BB|5|10
Betacab|CC|2|20
Betacab|DD||25
Canutility|AA|8|15
Canutility|CC||19
] (delimiter is '|');