A "No matching signature..." error and performance issues might occur when you try to subset a Google BigQuery table based on a Boolean variable


Starting in SAS® Viya® Platform Stable 2025.10 and SAS® Viya® Platform LTS 2025.03, when you try to subset a Google BigQuery table based on a Boolean variable, an error similar to the following might occur:

ERROR: Prepare error: googleapi: Error 400: No matching signature for operator = for argument types: BOOL, INT64 Signature: T1 = 
T1 Unable to find common supertype for templated argument <T1> Input types for <T1>:
{INT64, BOOL}
at [1:100], 
invalidQuery

Slow performance might also occur. This issue occurs because SAS® software does not have a Boolean data type, so it uses a numeric data type in which 1 is true and 0 is false. When SAS tries to pass the query to BigQuery, it includes the comparison syntax as entered in SAS. The BigQuery database expects to see variable = true and not variable = 1.

As a result of the BigQuery error, SAS removes the comparison in the second query that is passed to the database. Due to the probable increase in the number of rows being read and more of the processing of the query being done by SAS rather than in the database, the query might take longer than if all of the database completed all of processing.