Combination (AND) of multiple conditions


I am again struggling with a combination of conditions and cannot find where the issue is…

Since the answer to exclusivity is False, there should be no text?

When the answer to exclusivity is True, Premium TV still remains there

When I select them all, it is almost good, except for the Premium TV again…

What am I doing wrong please?


You’re most likely missing parentheses!

You absolutely want to put parentheses around mixes of AND / OR / NOT. There are mathematical rules that the software will use when you don’t put in any parentheses, but nobody but die-hard mathematicians can remember those rules. For all us mere mortals, you just want to use parentheses to avoid these difficult-to-remember rules.

Let me know if it still doesn’t work after you’ve inserted parentheses (particularly around the NOT).

I experimented with different types combinations of the parentheses.
The best I could get is:

As long as the exclusivity is true, all of the conditions work as they should.

When exclusivity is false, it doesn’t work anymore…

Hi Tom,

You’re missing an @ before the Exclusivity = true

As explained at the bottom of Conditional text - ClauseBuddy Help when you are using advanced conditions (combining AND/OR/NOT) you must use @ to identify your questions.

In short, advanced users like you should always use the @ to refer to questions, because you will typically be mixing very easy conditions (e.g. a simple Exclusivity = true) with quite advanced conditions (such as the one you are struggling with). What you were doing, was to mix the simple grammar with the advanced grammar.

A few tips:

  1. Use the inspector, by clicking on an expression and choosing “Inspect”.


The breakdown at the left will show you how ClauseBuddy thinks about your conditions.

For example, your simple Exclusivity = true shows the following breakdown:


While your advanced condition shows

You can see here that something funny is going on. ClauseBuddy treats your entire condition as a comparison between, on the one hand, the word “Exclusivity” and, on the other hand, the symbol true, and various sub-expressions.

When you then add a @ to Exclusivity, you can see that it does a proper breakdown, with proper comparisons.

  1. I would actually have written your conditions as follows:

  • So first you have a paragraph condition of exclusivity being true; this will make the entire paragraph go away when there’s no exclusivity.
  • Then, within the paragraph (notice the white space on the first line right after the = true !), you have a single block of text with a condition between curly braces, that switches between your three situations of Pay TV and/or SVOD.

Although everyone has personal preferences on how to express conditions, usually this switch within the curly braces is easier to understand. For both your future self and your colleagues who need to maintain this document, it’s probably easier to grasp what you’re doing here.

1 Like

Perhaps an interesting background comment:

What you are running into here, is the problem that an easy approach (= questions without @, meant for small conditions, designed not to scare new users) actually becomes a difficult & hairy problem, with a lot of complexity — as evidenced by the fact that you had to write a question on this forum.

Programmers sometimes refer to this conundrum as “easy is not simple”, as a kind of paradox. When you are dealing with complex situations (such as your multi-level conditional text) you should stay away from the seemingly easy solutions, and instead directly go for the more capable tools (in casu the use of @ everywhere).

A good presentation by one of the gurus is here:

Similarly, typical low-code tools that are super easy to start with, will actually cost you much more effort and head-scratching in the long run. As ClauseBuddy has a mixed audience (very new users & very advanced users), we have to cater to both, hence the reason why there’s this somewhat blurry dividing line of the @ being “usually not, but sometimes effectively” necessary.

The additional ‘@’ did indeed do the trick! Thanks again for the support!