cube-js/cube · error · Error
FILTER_PARAMS arg not found for ${filter.measure || filter.d
Error message
FILTER_PARAMS arg not found for ${filter.measure || filter.dimension} What it means
FILTER_PARAMS.<member>.filter() matches the query's filter args against the filters defined in the data model to find the corresponding argument object. When no matching FILTER_PARAMS arg exists for the given measure/dimension (the filter isn't expressed via FILTER_PARAMS, or the member name doesn't match), a plain Error is thrown from filterParamArgument.
Source
Thrown at packages/cubejs-schema-compiler/src/adapter/BaseQuery.js:5392
.map(f => BaseQuery.renderFilterParams(f, filterParamArgs, allocateParam, newGroupFilter, aliases))
.map(v => ({ filterToWhere: () => v }));
return newGroupFilter({ operator: filter.operator, values }).filterToWhere();
}
const filterParams = filter.filterParams();
const filterParamArg = filterParamArgs.filter(p => {
const member = p.__member();
return member === filter.measure ||
member === filter.dimension ||
(aliases[member] && (
aliases[member] === filter.measure ||
aliases[member] === filter.dimension
));
})[0];
if (!filterParamArg) {
throw new Error(`FILTER_PARAMS arg not found for ${filter.measure || filter.dimension}`);
}
if (typeof filterParamArg.__column() !== 'function') {
return filter.conditionSql(filterParamArg.__column());
}
if (!filterParams || !filterParams.length) {
return BaseFilter.ALWAYS_TRUE;
}
// eslint-disable-next-line prefer-spread
return filterParamArg.__column().apply(
null,
filterParams.map(allocateParam),
);
}
filterGroupFunction() {View on GitHub (pinned to 7d981676b3)
Solutions
- Verify the member path in FILTER_PARAMS.<cube>.<member> exactly matches a filter defined for that member in the model
- Ensure the filter() calls are actually defined: FILTER_PARAMS.foo.bar.filter('bar') inside the member's sql/filters
- Check that the query filter being resolved belongs to the member whose FILTER_PARAMS is being evaluated
Example fix
// before (no filter defined for orders.status in model)
measure: { sql: `FILTER_PARAMS.orders.status.filter('x')` }
// after
cube(`orders`, {
measures: { count: { sql: `FILTER_PARAMS.orders.status.filter(${orders.status})`, type: 'number' } },
dimensions: { status: { sql: `status`, type: 'string' } }
}) Defensive patterns
Strategy: try-catch
Validate before calling
const defined = new Set(Object.keys(cube.filters || {}).concat(Object.keys(cube.dimensions || {}), Object.keys(cube.measures || {})));
const m = 'orders.status';
if (!defined.has(m.split('.').pop())) console.warn(`FILTER_PARAMS member may not exist: ${m}`); Type guard
const isFilterParamArg = (f) => f && typeof f.__member === 'function' && typeof f.__column === 'function';
Try / catch
try { await cubeApi.query(q); } catch (e) { if (/FILTER_PARAMS arg not found/.test(e.message)) console.error('Check FILTER_PARAMS member path and filter() definitions:', e.message); throw e; } Prevention
- Always define member filters via FILTER_PARAMS.<cube>.<member>.filter('...') in the model
- Keep FILTER_PARAMS member paths in sync when renaming cubes/members
- Only use FILTER_PARAMS on members that actually have filter conditions
When it happens
Trigger: Calling FILTER_PARAMS with a member name that has no filter() args registered in the model; using FILTER_PARAMS inside a measure whose filters don't reference that member; typo in the cube/member path inside FILTER_PARAMS.
Common situations: Renaming a cube or member but not the FILTER_PARAMS reference; applying FILTER_PARAMS to a member with no filterable condition; generating filter SQL for a query filter that doesn't correspond to any model filter param.
Related errors
- Expected one parameter but nothing found
- Expected only 2 parameters for timestamp filter but got: ${t
- Unsupported timestamp precision: ${this.query.timestampPreci
- Unsupported measure type replacement for ${sourceMeasure}: $
- Unsupported additional filters for measure ${sourceMeasure}
AI-assisted analysis of cube-js/cube@7d981676b3 (2026-09-02).
Data as JSON: /api/errors/c8e06a04cce8ccbc.
Report an issue: GitHub.