Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Get Fabric Certified for FREE during AI Skills Fest. This week only. Secure your voucher now.

Reply
bmk
Helper II
Helper II

Extract n words from string

Hello, I wish to extract certain number of words from the beginning of a sentence based on a delimiter, space character being the most generic.

 

Example : "word1 word2 word3 word4 word5"

Output (in case I only need first 2 words) : "word1 word2"

Output (in case I only need first 3 words) : "word1 word2 word3"

1 ACCEPTED SOLUTION
tamerj1
Community Champion
Community Champion

@bmk 
Sorry for the the late reply. Please refer to attached sample file, I hope this is what you're looking for.

1.png

Output = 
VAR N = MAX ( Selection[Last n Words] )
VAR String = SELECTEDVALUE ( 'Table'[Column] )
VAR Items = SUBSTITUTE ( String, " ", "|" )
VAR Length = COALESCE ( PATHLENGTH ( Items ), 1 )
VAR T1 = GENERATESERIES ( 1, Length, 1 )
VAR T2 = ADDCOLUMNS ( T1, "@Item", PATHITEM ( Items, [Value] ) )
VAR T3 = FILTER ( T2, [Value] <= N )
RETURN
    CONCATENATEX ( T3, [@Item], " ", [Value], ASC )

View solution in original post

5 REPLIES 5
tamerj1
Community Champion
Community Champion

@bmk 

Just to properly understand, when you say select 2 words or 3 words, do you mean select a number from a parameter table?

and how would you like to disply the rests? In table visual, each record in a row? Or you want to spilit each record into 2 or 3 rows based on the selection? Would you please be more specific and provide more details?

In general yes this can be done. 

I have a table and I wish to have a calculated column in which the first 3-5 (this is dependent on what the user selects) words of a string is selected.

No further calculations is needed. Example table is below, with first 5 words being extracted in the 'Output' column. Please let me know if this needs to be clarified further.

 

bmk_0-1674850247783.png

 

 

tamerj1
Community Champion
Community Champion

@bmk 
Sorry for the the late reply. Please refer to attached sample file, I hope this is what you're looking for.

1.png

Output = 
VAR N = MAX ( Selection[Last n Words] )
VAR String = SELECTEDVALUE ( 'Table'[Column] )
VAR Items = SUBSTITUTE ( String, " ", "|" )
VAR Length = COALESCE ( PATHLENGTH ( Items ), 1 )
VAR T1 = GENERATESERIES ( 1, Length, 1 )
VAR T2 = ADDCOLUMNS ( T1, "@Item", PATHITEM ( Items, [Value] ) )
VAR T3 = FILTER ( T2, [Value] <= N )
RETURN
    CONCATENATEX ( T3, [@Item], " ", [Value], ASC )

thank you!

tamerj1
Community Champion
Community Champion

@bmk 
The following code returns the full text incase there is no selection or if multiple items are selected

Output = 
VAR String = SELECTEDVALUE ( 'Table'[Column] )
VAR Items = SUBSTITUTE ( String, " ", "|" )
VAR Length = COALESCE ( PATHLENGTH ( Items ), 1 )
VAR N = SELECTEDVALUE ( Selection[Last n Words], Length )
VAR T1 = GENERATESERIES ( 1, Length, 1 )
VAR T2 = ADDCOLUMNS ( T1, "@Item", PATHITEM ( Items, [Value] ) )
VAR T3 = FILTER ( T2, [Value] <= N )
RETURN
    CONCATENATEX ( T3, [@Item], " ", [Value], ASC )

Helpful resources

Announcements
May Power BI Update Carousel

Power BI Monthly Update - May 2026

Check out the May 2026 Power BI update to learn about new features.

Fabric SQL PBI Data Days

Data Days 2026 coming soon!

Sign up to receive a private message when registration opens and key events begin.

New to Fabric survey Carousel

New to Fabric Survey

If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.

Power BI DataViz World Championships carousel

Power BI DataViz World Championships - June 2026

A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.