Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
5 years ago
Solved

Dynamic grouping

Hi, I have a column date of birth, and I created a calculated column to create age groups, for example, 1951 - 1960, 1961 - 1770, and so on, but I want to have a dynamic age grouping where users can ...
  • v-deddai1-msft's avatar
    v-deddai1-msft
    5 years ago

    Hello @Samrawit21 ,

    Use the following measure:

    Count of Customers in each Bin =
    VAR _bandSize = Bin[Bin Value]
    VAR _YearbinTable =
        GENERATESERIES (
            MINX ( ALL ( BirthYear ), BirthYear[Value] ),
            MAXX ( ALL ( BirthYear ), BirthYear[Value] ),
            _bandSize
        )
    VAR _currYear =
        SELECTEDVALUE ( BirthYear[Value] )
    VAR _binHead =
        MAXX ( FILTER ( _YearbinTable, [Value] <= _currYear ), [Value] )
    VAR _binTail = _binHead + _bandSize
    RETURN
        IF (
            HASONEVALUE ( BirthYear[Value] ),
            IF (
                _currYear = _binHead,
                CALCULATE (
                    COUNTROWS ( DimCustomer ),
                    BirthYear[Value] >= _binHead
                        && BirthYear[Value] < _binTail
                )
            ),
            COUNTROWS ( DimCustomer )
        )

    If this post helps, then consider Accept it as the solution to help other members find it faster.

    Best regards

    Dedmon Dai