Get certified for free when you join Fabric Data Days 2026 and dive into Fabric, Power BI, SQL, AI, and other essential data skills.
Join nowTry your skills in the Power BI Dataviz World Championship! Round one ends June 26. Join now
Can someone clarify if there is any dfference between these to for examaple
= let alist = {"a","b","b","c","d","e"} , rlist = {"b","d","c"}
in
List.RemoveMatchingItems( alist , rlist )
= let alist = {"a","b","b","c","d","e"} , rlist = {"b","d","c"}
in
List.RemoveItems( alist , rlist )so looking at docs, it seems to suggest that with Matching only 1 "b" would be removed, but this does not seem to be the case,
can anyone help with how these to differ , if they do?
Solved! Go to Solution.
The difference is that List.RemoveMatchingItems supports an optional equationCriteria function where you can define what "matching" means.
Hey!
Like @lbendlin says with List.RemoveMatchingItems you have a little more control on how he sees matches. For example, if you have a list that randomly has some Uppercase and lowercase words, you can use a comparison criteria to make power query ignore Uppercases. See the code below:
let
// our list of names
Source = {
"Luke", "Leia",
"C3PO", "R2D2",
"Darth Vader", "Anakin Skywalker",
"Leia", "Chewbacca"
},
// the list with characters we want to remove
RemoveList = {
"r2d2",
"LEia"
},
// with Comparer.OrdinalIgnoreCase we can ignore all the uppercase letters so he matches correctly
Result = List.RemoveMatchingItems(
Source,
RemoveList,
Comparer.OrdinalIgnoreCase
)
in
Result
Hopefully this explains it!
Hey!
Like @lbendlin says with List.RemoveMatchingItems you have a little more control on how he sees matches. For example, if you have a list that randomly has some Uppercase and lowercase words, you can use a comparison criteria to make power query ignore Uppercases. See the code below:
let
// our list of names
Source = {
"Luke", "Leia",
"C3PO", "R2D2",
"Darth Vader", "Anakin Skywalker",
"Leia", "Chewbacca"
},
// the list with characters we want to remove
RemoveList = {
"r2d2",
"LEia"
},
// with Comparer.OrdinalIgnoreCase we can ignore all the uppercase letters so he matches correctly
Result = List.RemoveMatchingItems(
Source,
RemoveList,
Comparer.OrdinalIgnoreCase
)
in
Result
Hopefully this explains it!
The difference is that List.RemoveMatchingItems supports an optional equationCriteria function where you can define what "matching" means.
Thank you both ,
Richard.
| User | Count |
|---|---|
| 3 | |
| 3 | |
| 2 | |
| 2 | |
| 1 |
| User | Count |
|---|---|
| 11 | |
| 9 | |
| 5 | |
| 4 | |
| 4 |