cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Haydn_R
Frequent Visitor

Create new column. Current column has values separated by a semicolon and hashtag

I current have a column called Program. The values are separate by a semicoln and hashtag. The first table below is a mock up of the data and the 2nd table is my desired result.  In the actual data there are 11 unqiue Programs that I will need to cater for.

Mocked up data

ProgramCount
Medical43
New Support59
All NRL;#Other77
Other94
Older Country;#Home and Parents;#Medical;#Work Services28
Payment Integrity89
Other37
Young and Learners;#Work Services:#Payment Integrity82

 

Desired Outcome

Progam UnqiueCount
All NRL77
Home and Parents28
Medical71
New Support59
Older Country28
Other208
Payment Integrity171
Work Services110
Young and Learners82

 

 

1 ACCEPTED SOLUTION
Jihwan_Kim
Super User
Super User

Hi,

Please check the below picture and the attached pbix file.

It is for creating a new table.

 

Jihwan_Kim_0-1675745400460.png

 

 

Desired table = 
VAR _newtable =
    ADDCOLUMNS ( Data, "@new", SUBSTITUTE ( Data[Program], ";#", "|" ) )
VAR _separate =
    ADDCOLUMNS (
        _newtable,
        "@first", PATHITEM ( [@new], 1 ),
        "@second", PATHITEM ( [@new], 2 ),
        "@third", PATHITEM ( [@new], 3 ),
        "@fourth", PATHITEM ( [@new], 4 )
    )
VAR _finaltable =
    UNION (
        SUMMARIZE ( _separate, [@first], Data[Count] ),
        SUMMARIZE ( _separate, [@second], Data[Count] ),
        SUMMARIZE ( _separate, [@third], Data[Count] ),
        SUMMARIZE ( _separate, [@fourth], Data[Count] )
    )
RETURN
    GROUPBY (
        FILTER (
            SELECTCOLUMNS (
                _finaltable,
                "@Program unique", [@first],
                "@Count", Data[Count]
            ),
            [@Program unique] <> BLANK ()
        ),
        [@Program unique],
        "Count", SUMX ( CURRENTGROUP (), [@Count] )
    )

If this post helps, then please consider accepting it as the solution to help other members find it faster, and give a big thumbs up.


Go to My LinkedIn Page


View solution in original post

2 REPLIES 2
Haydn_R
Frequent Visitor

Thank you for you assistance, it is very much appreciated.

Jihwan_Kim
Super User
Super User

Hi,

Please check the below picture and the attached pbix file.

It is for creating a new table.

 

Jihwan_Kim_0-1675745400460.png

 

 

Desired table = 
VAR _newtable =
    ADDCOLUMNS ( Data, "@new", SUBSTITUTE ( Data[Program], ";#", "|" ) )
VAR _separate =
    ADDCOLUMNS (
        _newtable,
        "@first", PATHITEM ( [@new], 1 ),
        "@second", PATHITEM ( [@new], 2 ),
        "@third", PATHITEM ( [@new], 3 ),
        "@fourth", PATHITEM ( [@new], 4 )
    )
VAR _finaltable =
    UNION (
        SUMMARIZE ( _separate, [@first], Data[Count] ),
        SUMMARIZE ( _separate, [@second], Data[Count] ),
        SUMMARIZE ( _separate, [@third], Data[Count] ),
        SUMMARIZE ( _separate, [@fourth], Data[Count] )
    )
RETURN
    GROUPBY (
        FILTER (
            SELECTCOLUMNS (
                _finaltable,
                "@Program unique", [@first],
                "@Count", Data[Count]
            ),
            [@Program unique] <> BLANK ()
        ),
        [@Program unique],
        "Count", SUMX ( CURRENTGROUP (), [@Count] )
    )

If this post helps, then please consider accepting it as the solution to help other members find it faster, and give a big thumbs up.


Go to My LinkedIn Page


Helpful resources

Announcements
Vote for T-Shirt Design

Power BI T-Shirt Design Challenge 2023

Vote for your favorite t-shirt design now through March 28.

March 2023 Update3

Power BI March 2023 Update

Find out more about the March 2023 update.

March Events 2023A

March 2023 Events

Find out more about the online and in person events happening in March!

Top Solution Authors