La sintaxis del operador IN en Cognos

Dentro de los informes de Cognos, cuando se definen filtros, aunque la mayoría de las condiciones se pueden expresar con SQL estandard, resulta que cuando quieres comparar un valor con una lista, es decir, cuando quieres utilizar el operador IN, la sintaxis no es la misma que la de SQL.

En lugar de la coma que separa los diferentes valores hay que poner un punto y coma.

Ejemplo:

  • La condición que en SQL sería:
      WHERE campo IN ('valor_1', 'valor_2', 'valor_n')
  • En un filtro de Cognos Report Studio se ha de poner como
      [campo] IN ('valor_1' ; 'valor_2' ; 'valor_n')
  • Y si estamos filtrando miembros de una dimensión o jerarquía tenemos que utilizar también una sintaxis diferente
      [nivel_jerarquia] IN ([miembro_1] , [miembro_2] , [miembro_n])

Es algo muy tonto, pero si no lo sabes puede llegar a desesperarte bastante..