Mike,
Thanks for the reply. Please correct me if I'm wrong. I have a working solution for myself but I would like to understand this and, if appropriate, have the behavior changed to be more consistent.
What I believe is inconsistent is that a field with an underscore is treated differently in a straight query versus a join query. A straight query on a field called "OM_ID" returns a field in the dataset called "OM_ID" (using the ColumnName). This means the filter will use the column name. This is how it has been for a long time.
What is new is the join query returning a field called "Survey_ID" as "SurveyID" in the dataset. This means the filter requires using PropertyName and not the ColumnName.
I believe that to be consistent they should both be using the ColumnName for their resulting values that end up in the dataset.
Imagine a very realistic situation where I may execute a static method to generate a result set for me. I may have different params that go into the method that determine HOW the result set is to be prepared. In one case it might use a join query and another it might not. By default, the result set will have different named columns and any filters used on that result set would need to know how it was built. Otherwise, like me, I have to explicitly name the field using an AS to keep it consistent.
Does this make sense? I hope so. I'm just trying to understand it and express what I believe is inconsistent.
Thanks for your patience with me.
-Mark E.