Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

What is functionality of mode function?

What is functionality of mode function? May be someone can explain to me and give me some example.

Thanks

1 Solution

Accepted Solutions
varunpbhandary
Partner - Contributor III
Partner - Contributor III

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

View solution in original post

3 Replies
varunpbhandary
Partner - Contributor III
Partner - Contributor III

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

subhash_gherade
Contributor III
Contributor III

Mode - chart function

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:

ArgumentDescription
exprThe expression or field containing the data to be measured.
SetExpressionBy 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.

See: Defining the aggregation scope

Examples and results:

CustomerProductUnitSalesUnitPrice
AstridaAA416
AstridaAA1015
AstridaBB99
BetacabBB510
BetacabCC220
BetacabDD-25
CanutilityAA815
CanutilityCC-19
ExamplesResults

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 '|');

subhash_gherade
Contributor III
Contributor III