Forum Discussion
Extract n words from string
- 3 years ago
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.
- tamerj13 years agoCommunity Champion
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 )- bmk3 years agoHelper II
thank you!
- tamerj13 years agoCommunity Champion
bmk
The following code returns the full text incase there is no selection or if multiple items are selectedOutput = 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 )