Predictable behaviour filtering on boolean fields

Related products: None

As a Gainsight administrator, when I select “does not equal true” as the filtering criteria for a boolean field in MDA data fetches, I expect this to be evaluate to “does not equal true” rather than “equals false”.

If it’s possible for a boolean field to contain null values — which it is — then it should be possible to include/exclude these via filters.

Support confirmed that this was expected behaviour and provided a relatively complicated workaround with multiple additional transform steps.

My suggestion would be that, if the filter behaviour can’t be changed, Gainsight should enforce a default value on boolean fields so that null values can’t exist.

+1 This has tripped me up on several occasions.  


Dealing with this now and it is very unpleasant. The null values on boolean fields are unintuitive, and not handled effectively in filter settings (you cannot set the operator for a boolean to is/is not null) - meaning that you have to use an additional case statement to account for null values as well as false etc. Basically recreating what should be the initial behavior of the boolean field to begin with.


+1 Across the board.

You know you’re a true Gainsight administrator when you’ve wrestled with the true / false / null conundrum, which is particularly an issue on Boolean field types due to filter limitations.

Because of this, I always always always take the following steps when I add a Boolean field:

  • Create the field, setting a default value.
  • Run a one-time rule to force all records in the object to have the default value in the newly-created field.
  • Only then, implement whatever business rules I want to layer on.

Basically, I don’t ever have Booleans field types with null values.


Would love to see this get some attention/acknowledgment from Product. yes, @matthew_lind’s workaround works - but the workaround should not be necessary. Boolean fields should default to false on all records (existing or new) unless otherwise flagged.


Boolean fields outside of Gainsight support NULLs and should be allowed. Something could be true, false or unknown.

 

Confirmed in Journey Orchestrator > Programs > Query Builder, if you want to filter on a boolean field that contains NULLs you simply cannot.


Also want to mention, and not sure if there is another post about this elsewhere, but this a systemic problem with Null values across the platform in general and not unique to Boolean fields.

Another example is something like this where you’re trying to compare two fields to see if they have the same value, rather than specific field operators:

 

GS_Field_Name != (Field) SFDC_Field_Name

 

If either field on the record you’re looking at has a null value, then that record will fail to pass the filter, even if your situation is:

 

GS_Field_Name value = Gainsight

SFDC_Field_Name value = Null

 

While they are not the same and should meet your criteria, they won’t, because the Null value comparison just doesn’t exist as a function.


+1 on this. Small yet huge product gap.


@PavanCh to put this on your radar.