diff --git a/packages/cubejs-schema-compiler/src/adapter/Granularity.ts b/packages/cubejs-schema-compiler/src/adapter/Granularity.ts index 47c5068ffc4c3..6ad793c437c4b 100644 --- a/packages/cubejs-schema-compiler/src/adapter/Granularity.ts +++ b/packages/cubejs-schema-compiler/src/adapter/Granularity.ts @@ -44,7 +44,7 @@ export class Granularity { this.granularityInterval = customGranularity.interval; if (customGranularity.origin) { - this.origin = moment(new Date(customGranularity.origin)); + this.origin = moment.tz(customGranularity.origin, 'UTC'); } else if (customGranularity.offset) { this.granularityOffset = customGranularity.offset; this.origin = addInterval(this.origin, parseSqlInterval(customGranularity.offset)); @@ -61,6 +61,13 @@ export class Granularity { return this.granularity; } + if (this.origin) { + return this.query.minGranularity( + this.granularityFromInterval(), + this.query.granularityFor(this.origin.utc()) + ); + } + if (this.granularityOffset) { return this.query.minGranularity( this.granularityFromInterval(),