cube-js/cube · error
Unexpected member type: ${type}
Error message
Unexpected member type: ${type} What it means
Reached the default arm of the member-type switch in generateIncludeMembers: the caller passed a type string other than 'measures', 'dimensions' or 'segments'. The input at fault is the type argument, not any schema member. In practice this signals an API misuse or a version mismatch between packages rather than a bad data model.
Source
Thrown at packages/cubejs-schema-compiler/src/compiler/CubeSymbols.ts:1161
...(resolvedMember.mask !== undefined ? { mask: resolvedMember.mask } : {}),
...(resolvedMember.links ? { links: resolvedMember.links } : {}),
...(resolvedMember.synthetic ? { synthetic: true } : {}),
};
} else if (type === 'segments') {
memberDefinition = {
sql,
meta: memberRef.override?.meta || resolvedMember.meta,
description: memberRef.override?.description || resolvedMember.description,
title: memberRef.override?.title || resolvedMember.title,
aliases: resolvedMember.aliases,
};
} else if (type === 'hierarchies') {
memberDefinition = {
title: memberRef.override?.title || resolvedMember.title,
levels: resolvedMember.levels,
};
} else {
throw new Error(`Unexpected member type: ${type}`);
}
return [memberRef.name || path[path.length - 1], memberDefinition];
});
}
/**
* This method is mainly used for evaluating RLS conditions and filters.
* It allows referencing security_context (lowercase) in dynamic conditions or filter values.
*
* It currently does not support async calls because inner resolveSymbol and
* resolveSymbolsCall are sync. Async support may be added later with deeper
* refactoring.
*/
public evaluateContextFunction(cube: any, contextFn: any, context: any = {}) {
return this.resolveSymbolsCall(contextFn, (name: string) => {
const resolvedSymbol = this.resolveSymbol(cube, name);
if (resolvedSymbol) {
return resolvedSymbol;View on GitHub (pinned to 7d981676b3)
Solutions
- Pass one of the supported member types: measures, dimensions, or segments
- If calling from custom code, align with the version of cubejs-schema-compiler in use
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at packages/cubejs-schema-compiler/src/compiler/CubeSymbols.ts:1161 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/469b295372840286.
Report an issue: GitHub.