3 Replies Latest reply on Oct 6, 2015 11:59 AM by erolst

    portal filtering with multiple criteria

    AdamReed_1

      Hello,

       

      Please forgive my inexperience.

       

      I've looked at some of the other posts about portal filtering with multiple criteria, and mine seems a simpler question.  My aim is to have a portal row visible only when the publisher has print rights and the contract has not been terminated or cancelled prior to signature.  I'm unable to figure out why the following seems to only apply the first of these three criteria:

       

      contract::rights print = "Publisher" and (contract::contract status ≠ "Terminated" or contract::contract status ≠ "Cancelled Prior to Signature")

       

      Thanks for any help.

       

      Adam

        • 1. Re: portal filtering with multiple criteria
          erolst

          Try

           

          contract::rights print = "Publisher"

          and

          not (contract::contract status = "Terminated" or contract::contract status = "Cancelled Prior to Signature")

          • 2. Re: portal filtering with multiple criteria
            AdamReed_1

            Thank you very much -- I wasn't able to get "not" to work, but reversing the approach as you suggest and using xor did work.

            • 3. Re: portal filtering with multiple criteria
              erolst

              AdamReed_1 wrote:

               

              Thank you very much -- I wasn't able to get "not" to work, but reversing the approach as you suggest and using xor did work.

               

              You could also use:

               

              contract::rights print = "Publisher"

              and

              (contract::contract status "Terminated" and contract::contract status "Cancelled Prior to Signature")

               

              Common negation switch in Boolean logic.

               

              The main thing is that you want to return records where both conditions are False (like above) or neither (= not (either)) is True; your original code returned all records where either was false – which are effectively all, and that gave the impression that the filter condition wasn't applied.