Skip to content

Commit 17885c3

Browse files
committed
test
1 parent 22b6d81 commit 17885c3

File tree

1 file changed

+19
-5
lines changed

1 file changed

+19
-5
lines changed

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

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1190,6 +1190,8 @@ export class PreAggregations {
11901190
const targetDimensionsReferences = this.dimensionsRenderedReference(preAggregationForQuery);
11911191
const targetTimeDimensionsReferences = this.timeDimensionsRenderedReference(rollupGranularity, preAggregationForQuery);
11921192
const targetMeasuresReferences = this.measureAliasesRenderedReference(preAggregationForQuery);
1193+
// Removing duplicated dimension from targetTimeDimensionsReferences
1194+
Object.keys(targetDimensionsReferences).forEach(key => { delete targetTimeDimensionsReferences[key]; });
11931195

11941196
const columnsFor = (targetReferences, references, preAggregation) => Object.keys(targetReferences).map(
11951197
member => `${references[this.query.cubeEvaluator.pathFromArray([preAggregation.cube, member.replace(/^[^.]*\./, '')])]} ${targetReferences[member]}`
@@ -1275,8 +1277,8 @@ export class PreAggregations {
12751277

12761278
const renderedReference = {
12771279
...(this.measuresRenderedReference(preAggregationForQuery)),
1278-
...(this.dimensionsRenderedReference(preAggregationForQuery)),
12791280
...(this.timeDimensionsRenderedReference(rollupGranularity, preAggregationForQuery)),
1281+
...(this.dimensionsRenderedReference(preAggregationForQuery)),
12801282
};
12811283

12821284
return this.query.evaluateSymbolSqlWithContext(
@@ -1342,16 +1344,28 @@ export class PreAggregations {
13421344
}
13431345

13441346
timeDimensionsRenderedReference(rollupGranularity, preAggregationForQuery) {
1347+
const rollupTimeDimensions = this.rollupTimeDimensions(preAggregationForQuery).flatMap(td => {
1348+
const timeDimension = this.query.newTimeDimension(td);
1349+
return [
1350+
{ td, timeDimension },
1351+
{ td, timeDimension, withPostfix: true }
1352+
];
1353+
});
1354+
13451355
return R.pipe(
1346-
R.map((td) => {
1347-
const timeDimension = this.query.newTimeDimension(td);
1356+
R.map(({ td, timeDimension, withPostfix }) => {
1357+
const dimension = [
1358+
td.dimension,
1359+
...(withPostfix ? [td.granularity] : [])
1360+
].join('.');
1361+
13481362
return [
1349-
`${td.dimension}.${td.granularity}`,
1363+
dimension,
13501364
this.query.escapeColumnName(timeDimension.unescapedAliasName(rollupGranularity)),
13511365
];
13521366
}),
13531367
R.fromPairs,
1354-
)(this.rollupTimeDimensions(preAggregationForQuery));
1368+
)(rollupTimeDimensions);
13551369
}
13561370

13571371
rollupMembers(preAggregationForQuery, type) {

0 commit comments

Comments
 (0)