3 Replies Latest reply: May 15, 2014 10:07 AM by Data Kruncher RSS

    Wildcard characters in data

    BradH _

      Using Monarch Pro 10.

       

      I'm having an issue dealing with filters and data containing asterisks.  I have a 3-character data field with several values I want to filter out, and one of those values is, explicitly, "***". 

       

      After contacting support via phone there is apparently no way to escape or otherwise use wildcards in the actual data. 

       

      One funny comment here is that one of the responses is that the help says not to use wildcards in the incoming data...of course if we had that level of control over the incoming data we likely wouldn't be using Monarch, would we?

       

      Sample calculated filter:

       

      .NotIn.("***","SEE","USE")

       

      How I'd expect to be able to do this:

       

      .NotIn.("\*\*\*","SEE","USE")

       

      This is something I'd consider a bug, not a feature request, and it is almost frightening to think this was overlooked in the development of Monarch.

       

       

      Edit:  Yes, I can use other methods to deal with this, pre-processing through sed or something, but in part this defeats the benefits of using a tool like Monarch.

       

      Edit:  I do have a work-around using only Monarch.  I created a Lookup field based on the field I'm filtering, assigning a value based on the original field containing "***" and the other values.  I can then filter against that field.  Clumsy, but works.

        • Wildcard characters in data
          Data Kruncher

          If you can't isolate the wildcard, then try to isolate the other characters instead. Sort of...

           

          An asterisk is ASCII 42, so you could build a filter to find them using something like:

           

          (asc(left(,1))<41 .or. asc(left(,1))>43) .And. .NotIn.("SEE","USE")[/CODE]

           

          I think that I got the booleans right there.

           

          If you want to isolate asterisks then something like:

          asc(left(A,1))>41 .and. asc(left(A,1))<43[/CODE]

           

          works just fine.

           

          That said, I agree with you: requiring such an approach is far from optimal.