To address @ITWhisperer's efficiency considerations, here is a literal implementation of your requirements. ``` uses side effect of SPL's liberal equality operator ```
| eval lacking = mvmap(standard, if(standard == list, null(), standard))
| eval redundant = mvmap(list, if(list == standard, null(), list))
| eval passing = mvmap(list, if(list == standard, list, null()))
| eval result = json_object("lacking", lacking, "redundant", redundant, "passing", passing) Note: Your description of a field named result requires an associative array, or hash representation, that doesn't come native in SPL. So, you can either use three separate fields as implemented in the first three lines or use a JSON representation which SPL added in 8.0, as created in line 4. Using your sample data in this emulation, | makeresults
| fields - _time
| eval list = mvappend("5", "1", "2", "3"), standard = mvappend("1", "2", "3", "4"), host = "hostA"
``` data emulation above ``` the result is host lacking list passing redundant result standard hostA 4 5 1 2 3 1 2 3 5 {"lacking":4,"redundant":5,"passing":["1","2","3"]} 1 2 3 4 Again, the use of "result" field is optional in my opinion.
... View more