Forum Discussion
Function working with String but not with Column
I got this line
Additional_Info = Table.AddColumn(Location_Office, "Additional_Info", each getRemaining("test test", Text.Split(Text.Combine({[Column2], [Column3], [Column4], [Column5]}, "#(lf)"), "#(lf)")))
which refers to these two functions:
getRemaining = (text, list) => //Read from the column "Column1" and "Column2", "Column3", "Column4", "Column5"
let
Combined = if text <> null then let
list1 = Text.Split(text, "#(lf)"),
temp = List.Difference(list1, list), //Look for matches; Fitlering them out
Combined = removeMultipleSpaces(Text.Combine(temp, " "))
in
Combined
else Combined= null
in
Combined, //Returns all NOT matching results
removeMultipleSpaces = (text) =>
let
//Split the text at each space character
SplitText = Text.Split(text," "),
//Remove the blank items from the list
ListNonBlankValues = List.Select(SplitText,each _<> ""),
//Join the list with a space character between each item
TextJoinList = Text.Combine(ListNonBlankValues," ")
in
TextJoinList,
It works perfectly fine and does what it should do but as soon as I replace the "test test" with a reference to a column [Column1] it gives me this error:
Expression.Error: The import Combined matches no exports. Did you miss a module reference?
Yes, I see that in the function steps, however, did you test nulls? What value and type is in Column 1? The reason I ask is because when if statements are included in functions and the function is invoked, the behavior is slightly different than it would be if included outside of the function.
3 Replies
- jennrattenSuper User
What is the value and type of Column1? Are there any nulls? What happens if you pass null instead of "test test"?
- AnonymousNot applicable
It can be null and text. For null I made a special case: Combined = if text <> null then let ... else Combined = null
- jennrattenSuper User
Yes, I see that in the function steps, however, did you test nulls? What value and type is in Column 1? The reason I ask is because when if statements are included in functions and the function is invoked, the behavior is slightly different than it would be if included outside of the function.