Forum Discussion

DimaMD's avatar
DimaMD
Solution Sage
4 years ago
Solved

RFM segments

Hello community!

 

I've made RFM analysis in table. Score of RFM is calculated in real time with mesure.

 

I have another table with scores and names of segments. so every combined RFM score has it's own name.

 

The goal is to connect 2 tables so we can see name of segment in every customer score in table 1. But i can not do so because RFM score is calculated as mesure, and I can't figure out how to connect table with name of segments with main table. 

 

Please help me to solve this task. 

 

Example of PBIX file will be in attachment. 

  • DimaMD's avatar
    DimaMD
    4 years ago

    HI, HotChilli 
    thanks for the tip, yesterday I managed to figure it out myself and write such a measure.
    I think someone will find this measure useful

     

    Segment RFM = 
    VAR _tab = 
    SELECTCOLUMNS(
        VALUES('Sales'[ID_USER]),
        "RFM_Seg",[RFM] )
    VAR _Seg =
    SELECTCOLUMNS(_tab,
        "#RFM_S",
        LOOKUPVALUE('Segment'[Segment],Segment[ID_RFM],[RFM_Seg]))
    return
    MAXX( _Seg,[#RFM_S])

     

10 Replies

  • HotChilli's avatar
    HotChilli
    Community Champion

    Are you looking to return text from Segment column dependent on exact match with RFM measure with of ID_RFM column?

    If yes, create a measure, put RFM in a variable and use LOOKUPVALUE to return Segment

    • DimaMD's avatar
      DimaMD
      Solution Sage

      HI, HotChilli 
      thanks for the tip, yesterday I managed to figure it out myself and write such a measure.
      I think someone will find this measure useful

       

      Segment RFM = 
      VAR _tab = 
      SELECTCOLUMNS(
          VALUES('Sales'[ID_USER]),
          "RFM_Seg",[RFM] )
      VAR _Seg =
      SELECTCOLUMNS(_tab,
          "#RFM_S",
          LOOKUPVALUE('Segment'[Segment],Segment[ID_RFM],[RFM_Seg]))
      return
      MAXX( _Seg,[#RFM_S])

       

      • y5famfnatudu's avatar
        y5famfnatudu
        Resolver I

        Hello DimaMD 
        Were ALL the RFM fields R(Values), R(Score), F(Values), F(Score), M(Values), and M(Scores) created completely using just measures, or some were created using calculated columns?

        Would appreciate it so much if you can share the pbix please with me, as I'm trying to find a way to do it all based just on measures, but unfortunately I found that all sources are using calculated tables and columns.

         

        Best regards,

        Simon

  • v-robertq-msft's avatar
    v-robertq-msft
    Community Support

    Hi, 

    Glad to hear that you have solved your problem by yourself, would you like to mark your own reply as a solution so that others can learn from it too?

    Thanks in advance!

    How to Get Your Question Answered Quickly 

     

    Best Regards,

    Community Support Team _Robert Qin

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

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi Dima,

     

    I am had the same issue. But I am wondering if you can share how you segments table looks like. I am still having issues even after connecting segments tbale with my RFm scores. Thank you! 

     

    Best,

     

    Nura 

      • Anonymous's avatar
        Anonymous
        Not applicable

        Hi Dima,

        Thank you very much for sending the above file. It was very useful, however I am still getting the same error that you had. Also, after reviewing your file I realised that you have the same segment name for 

        each RFM score. Did you happen to fix that? Thank you! 

         RFM