Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
8 years ago
Solved

Categorize and label data based on a range

Hi,

I would like to categorize customers by their annual revenue using a definition in a separate table.
I assume it’s best done with a calculated column.

 

I use following formula now.

=IF(AllAccounts[Revenue of customer group]<10000;"Portfolio";
IF(AllAccounts[Revenue of customer group]<100000;"Account";
IF(AllAccounts[Revenue of customer group]<200000;"Strategic-";"Strategic+")))

 

I prefer to relate to a table with the definition as this allows for changing the definitions in a later stage in an easier way.

I’ve found “Data categorization and labeling based on date range” but can’t apply that to what I want.

  • Anonymous's avatar
    Anonymous
    8 years ago

    Anonymous,

    Create the AccountType column using DAX below in the AllAccounts table.

    Account Type = CALCULATE(FIRSTNONBLANK(relatetable[Account type],relatetable[Account type]),FILTER(relatetable,relatetable[Lower cut-off]<=AllAccounts[Revenue of customer group]&&relatetable[Upper cut-off]>=AllAccounts[Revenue of customer group]))




    Regards,
    Lydia

  • Hi,

     

    Write this calculated column formula in the Data Table

     

    =CALCULATE(FIRSTNONBLANK(limits[Account Type],1),FILTER(limits,limits[Lower cut-off]<=EARLIER(Data[Revenue of Customer Group])&&limits[Upper cut-off]>=EARLIER(Data[Revenue of Customer Group])))

     

    Hope this helps.

  • Anonymous's avatar
    Anonymous
    8 years ago

    Works! Now I need to find out why it works.

    Many thanks, Lydia

8 Replies

  • Hi,

     

    Write this calculated column formula in the Data Table

     

    =CALCULATE(FIRSTNONBLANK(limits[Account Type],1),FILTER(limits,limits[Lower cut-off]<=EARLIER(Data[Revenue of Customer Group])&&limits[Upper cut-off]>=EARLIER(Data[Revenue of Customer Group])))

     

    Hope this helps.

    • Anonymous's avatar
      Anonymous
      Not applicable

      Hi Ashish_Mathur,

      Works! Now I need to find out why it works.

      Many thanks, Ashish!

    • TheBishopEmpire's avatar
      TheBishopEmpire
      Frequent Visitor

      This DAX formula worked for me. Ashish, could you explain the formula a bit further so that I can understand how the "EARLIER" functions work in this case? 

      Thanks in advance. 

      • Ashish_Mathur's avatar
        Ashish_Mathur
        Super User

        You are welcome.  The EARLIER() function can be understood as the value in the current row of the column specified in the EARLIER() function.

  • Anonymous's avatar
    Anonymous
    Not applicable

    Anonymous,

    Create the AccountType column using DAX below in the AllAccounts table.

    Account Type = CALCULATE(FIRSTNONBLANK(relatetable[Account type],relatetable[Account type]),FILTER(relatetable,relatetable[Lower cut-off]<=AllAccounts[Revenue of customer group]&&relatetable[Upper cut-off]>=AllAccounts[Revenue of customer group]))




    Regards,
    Lydia

    • Anonymous's avatar
      Anonymous
      Not applicable

      Works! Now I need to find out why it works.

      Many thanks, Lydia

  • Anonymous's avatar
    Anonymous
    Not applicable

    Thank you both for the solutions. This will help me furhter in understanding the matter.

    /EJ