Forum Discussion

rclay78's avatar
rclay78
Frequent Visitor
6 years ago
Solved

Create new Column based on other column data

Please bare with me as I have only started using Power Bi and DAX a few months ago. With that said, I am trying to create a new column in my current table that is based on text string of another column. My table is tickets and the column I am looking at is labeled data. Basicaly like this: If 'Tickets'[data] contains abc then return abc to new column and if 'Tickets'[Data] contains "efg" then return efc in new column, etc, etc. I have about 5 different values I want to create in the new column.  A little confused how to proceed. Any help would be great.

 

 
  • Anonymous's avatar
    Anonymous
    6 years ago

    Hi rclay78 ,

     

    You may try this calculated column.

    New Column = 
    SWITCH (
        TRUE (),
        CONTAINSSTRING ( 'Tickets'[data], "abc" ), "abc",
        CONTAINSSTRING ( 'Tickets'[data], "efg" ), "efg",
        CONTAINSSTRING ( 'Tickets'[data], "hjk" ), "hjk",
        CONTAINSSTRING ( 'Tickets'[data], "awd" ), "awd",
        CONTAINSSTRING ( 'Tickets'[data], "dbb" ), "dbb"
    )

     

    Reference: SWITCH function
                     CONTAINSSTRING function


    Best Regards,
    Stephen Tao

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

4 Replies

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi rclay78 ,

     

    You may try this calculated column.

    New Column = 
    SWITCH (
        TRUE (),
        CONTAINSSTRING ( 'Tickets'[data], "abc" ), "abc",
        CONTAINSSTRING ( 'Tickets'[data], "efg" ), "efg",
        CONTAINSSTRING ( 'Tickets'[data], "hjk" ), "hjk",
        CONTAINSSTRING ( 'Tickets'[data], "awd" ), "awd",
        CONTAINSSTRING ( 'Tickets'[data], "dbb" ), "dbb"
    )

     

    Reference: SWITCH function
                     CONTAINSSTRING function


    Best Regards,
    Stephen Tao

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

  • mahoneypat's avatar
    mahoneypat
    Microsoft Employee

    You can use a nested if then else to get your result in a custom column in the query editor

     

    = if Text.Contains([Data], "abc") then "abc" else if Text.Contains([Data], "efg") then "efg" else ...

     

    There are more sophisticated ways to do it but that should get you started.

     

    If this works for you, please mark it as the solution.  Kudos are appreciated too.  Please let me know if not.

    Regards,

    Pat

    • rclay78's avatar
      rclay78
      Frequent Visitor

      I already have my table established. I am wanting to create a new column in DAX

       

      • mahoneypat's avatar
        mahoneypat
        Microsoft Employee

        Ok.  You can do the same nested IF approach in DAX

         

        NewColumn = IF(SEARCH("abc", Table[TextColumn]),,0)>0, "abc", IF("efg", ...

         

        If this works for you, please mark it as the solution.  Kudos are appreciated too.  Please let me know if not.

        Regards,

        Pat