cube-js/cube · error · UserError

Values required for filter: ${JSON.stringify(f)}

Error message

Values required for filter: ${JSON.stringify(f)}

What it means

Validation guard in normalizeQueryFilters: a filter uses an operator that requires values (any operator except set, notSet, or measureFilter) but `values` is missing, null, or an empty array. Set/notSet/measureFilter are value-less operators and are exempt.

Source

Thrown at packages/cubejs-api-gateway/src/query.js:377

    if (f.or) {
      res.or = normalizeQueryFilters(f.or, timezone);
      return res;
    }
    if (f.and) {
      res.and = normalizeQueryFilters(f.and, timezone);
      return res;
    }

    if (!f.operator) {
      throw new UserError(`Operator required for filter: ${JSON.stringify(f)}`);
    }

    if (operators.indexOf(f.operator) === -1) {
      throw new UserError(`Operator ${f.operator} not supported for filter: ${JSON.stringify(f)}`);
    }

    if ((!f.values || f.values.length === 0) && ['set', 'notSet', 'measureFilter'].indexOf(f.operator) === -1) {
      throw new UserError(`Values required for filter: ${JSON.stringify(f)}`);
    }

    if (f.values) {
      res.values = f.values.map(v => (v != null ? v.toString() : v));
    }

    if (f.dimension) {
      res.member = f.dimension;
      delete res.dimension;
    }

    return normalizeDateFilterValues(res, timezone);
  })
);

/**
 * Parse incoming member expression
 * @param {unknown} expression

View on GitHub (pinned to 7d981676b3)

Solutions

  1. Provide a non-empty `values` array for the filter.
  2. If the intent is an existence check, switch the operator to "set" or "notSet", which require no values.
  3. Verify the client is not stripping empty arrays during JSON serialization.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at packages/cubejs-api-gateway/src/query.js:377 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of cube-js/cube@7d981676b3 (2026-09-02). Data as JSON: /api/errors/5ae423bb8513570e. Report an issue: GitHub.