Forum Discussion

loganwol's avatar
loganwol
Microsoft Employee
9 years ago
Solved

Getting distinct values for multiple columns

Hi,

I am summarizing data from one table into another. Part of the data in the original table is a column of type text which I generate a comma delimited summary string.

 

Issues =  
    var ft = FILTER(RELATEDTABLE(Data), 
                  [ID] = Data[ID] && Data[Result] <> "Pass" && 
                  Not ISBLANK(TRIM(Data[Issue]))) 
    var issuessummary = CONCATENATEX(ft, Data[Issue], ",")
return 
     issuessummary

This works perfectly but I realized that the return values can be duplicate, so a result value string for issuessummary could equal "ABC", "DEF", "ABC", "xyz". I would like to remove the duplicate in the return string to represent "ABC", "DEF", "xyz".

Is there a way to accomplish that?


Regards

  • loganwol

     

    In this scenario, since you have duplicate Issues for same ID, you should create a "summarized" data table for filtering the context. You can create a calcuated table like below:

     

    Data2 = SUMMARIZECOLUMNS(Data[ID],Data[Issue],Data[Result])
    

    Then you can involve the calcuated table in your formula.

     

    Issues =  
        var ft = FILTER(RELATEDTABLE(Data2), 
                      [ID] = Data2[ID] && Data2[Result] <> "Pass" && 
                      Not ISBLANK(TRIM(Data2[Issue]))) 
        var issuessummary = CONCATENATEX(ft, Data2[Issue], ",")
    return 
         issuessummary

    Regards,

     

    Simon Hou

2 Replies

  • v-sihou-msft's avatar
    v-sihou-msft
    Microsoft Employee

    loganwol

     

    In this scenario, since you have duplicate Issues for same ID, you should create a "summarized" data table for filtering the context. You can create a calcuated table like below:

     

    Data2 = SUMMARIZECOLUMNS(Data[ID],Data[Issue],Data[Result])
    

    Then you can involve the calcuated table in your formula.

     

    Issues =  
        var ft = FILTER(RELATEDTABLE(Data2), 
                      [ID] = Data2[ID] && Data2[Result] <> "Pass" && 
                      Not ISBLANK(TRIM(Data2[Issue]))) 
        var issuessummary = CONCATENATEX(ft, Data2[Issue], ",")
    return 
         issuessummary

    Regards,

     

    Simon Hou

    • loganwol's avatar
      loganwol
      Microsoft Employee

      Hi Simon,

      When I tried the solution, I get an error "Cannot find table Data2" and I get red squiglly lines for the Data2[ID] and Data2[Result] values.

       

      Regards,

      Loganwol