Skip to content

Commit a234e1f

Browse files
committed
add comments
1 parent 3133762 commit a234e1f

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1209,6 +1209,8 @@ export class PreAggregations {
12091209
columns: columnsFor(targetDimensionsReferences, dimensionsReferences, preAggregation)
12101210
.concat(columnsFor(targetTimeDimensionsReferences, timeDimensionsReferences, preAggregation))
12111211
.concat(columnsFor(targetMeasuresReferences, measuresReferences, preAggregation))
1212+
// Deduplicate columns, for case when targetTimeDimensionsReferences has the same column as targetDimensionsReferences
1213+
// Concat order is important, targetDimensionsReferences should override targetTimeDimensionsReferences
12121214
.reduce((acc, v) => {
12131215
if (!acc.includes(v)) {
12141216
acc.push(v);
@@ -1281,6 +1283,7 @@ export class PreAggregations {
12811283

12821284
const renderedReference = {
12831285
...(this.measuresRenderedReference(preAggregationForQuery)),
1286+
// Merge order is important, dimensionsRenderedReference must override timeDimensionsRenderedReference
12841287
...(this.timeDimensionsRenderedReference(rollupGranularity, preAggregationForQuery)),
12851288
...(this.dimensionsRenderedReference(preAggregationForQuery)),
12861289
};
@@ -1348,6 +1351,9 @@ export class PreAggregations {
13481351
}
13491352

13501353
timeDimensionsRenderedReference(rollupGranularity, preAggregationForQuery) {
1354+
// We have to support 2 time dimensions references
1355+
// In the case where the original time column was added as a dimension in the rollup - the engine will use the original value overridden using dimension references
1356+
// Otherwise, the cube will use a truncated time representation, but with the original column name
13511357
const rollupTimeDimensions = this.rollupTimeDimensions(preAggregationForQuery).flatMap(td => {
13521358
const timeDimension = this.query.newTimeDimension(td);
13531359
return [

0 commit comments

Comments
 (0)