BookmarkSubscribeRSS Feed



I have noticed functionality related to how SAS EG translates filters to code, that I would consider to be a bug (based on how I expect most users would perceive what they are doing, versus what actually happens). Take a filter where one of the conditions using custom logic:



My assumption is each line should be treated as its own "group". Thus, you need to meet the condition on each of the 5 lines, since they have AND operators between them. But when SAS EG translates this code, it does not wrap the custom filter in line 5 in parentheses. Then, since there is an "OR" in line 5, it ends up messing up the overall result and returning extra rows. If t1.BENE_SK=18350, then it does not need to pass any of the other conditions on lines 1-4.


So to me the solution would be to have SAS EG automatically wrap any custom made filter in parentheses, in the case that there are multiple conditions. This is basically a statement that the user intended this line to be its own group. Obviously the easy workaround for now is just to wrap it in parentheses yourself. But I think this is unintuitive, shouldn't be necessary, and could result in people creating queries with different behavior than they expect.


Curious what you all think, and let me know if you need more information or would like to talk about this over a call. Thanks!