Check your eligibility for this 50% exam voucher offer and join us for free live learning sessions to get prepared for Exam DP-700.
Get StartedDon't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.
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"
Solved! Go to Solution.
@bmk
Sorry for the the late reply. Please refer to attached sample file, I hope this is what you're looking for.
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 )
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
Sorry for the the late reply. Please refer to attached sample file, I hope this is what you're looking for.
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!
@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 )
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Check out the January 2025 Power BI update to learn about new features in Reporting, Modeling, and Data Connectivity.
User | Count |
---|---|
13 | |
11 | |
10 | |
7 | |
6 |
User | Count |
---|---|
13 | |
12 | |
12 | |
8 | |
8 |