Skip to content

Commit 5195b1e

Browse files
committed
feat(schema-compiler): Support joins for proxied time dimensions in pre-aggregations
1 parent ddd6cd3 commit 5195b1e

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

packages/cubejs-schema-compiler/src/adapter/BaseQuery.js

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3919,7 +3919,17 @@ export class BaseQuery {
39193919
const dimensionSql = this.dimensionSql(dimension);
39203920
return `select ${aggFunction}(${this.convertTz(dimensionSql)}) from ${this.cubeSql(cube)} ${this.asSyntaxTable} ${this.cubeAlias(cube)}`;
39213921
}
3922-
return null;
3922+
3923+
// Handle case that requires joins
3924+
const subQuery = this.newSubQuery({
3925+
dimensions: [dimension.dimension],
3926+
rowLimit: null,
3927+
});
3928+
3929+
const dimensionSql = subQuery.dimensionSql(dimension);
3930+
const fromClause = subQuery.query();
3931+
3932+
return `select ${aggFunction}(${subQuery.convertTz(dimensionSql)}) from ${fromClause}`;
39233933
}
39243934

39253935
cubeCardinalityQueries() { // TODO collect sub queries

0 commit comments

Comments
 (0)