@@ -945,45 +945,51 @@ export class BaseQuery {
945945 }
946946
947947 runningTotalDateJoinCondition ( ) {
948- return this . timeDimensions . map (
949- d => [
950- d ,
951- // eslint-disable-next-line @typescript-eslint/no-unused-vars
952- ( dateFrom , dateTo , dateField , dimensionDateFrom , dimensionDateTo ) => `${ dateField } >= ${ dimensionDateFrom } AND ${ dateField } <= ${ dateTo } `
953- ]
954- ) ;
948+ return this . timeDimensions
949+ // .filter(td => td.granularity)
950+ . map (
951+ d => [
952+ d ,
953+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
954+ ( dateFrom , dateTo , dateField , dimensionDateFrom , dimensionDateTo ) => `${ dateField } >= ${ dimensionDateFrom } AND ${ dateField } <= ${ dateTo } `
955+ ]
956+ ) ;
955957 }
956958
957959 rollingWindowToDateJoinCondition ( granularity ) {
958- return this . timeDimensions . map (
959- d => [
960- d ,
961- ( dateFrom , dateTo , dateField , dimensionDateFrom , dimensionDateTo , isFromStartToEnd ) => `${ dateField } >= ${ this . timeGroupedColumn ( granularity , dateFrom ) } AND ${ dateField } <= ${ dateTo } `
962- ]
963- ) ;
960+ return this . timeDimensions
961+ . filter ( td => td . granularity )
962+ . map (
963+ d => [
964+ d ,
965+ ( dateFrom , dateTo , dateField , dimensionDateFrom , dimensionDateTo , isFromStartToEnd ) => `${ dateField } >= ${ this . timeGroupedColumn ( granularity , dateFrom ) } AND ${ dateField } <= ${ dateTo } `
966+ ]
967+ ) ;
964968 }
965969
966970 rollingWindowDateJoinCondition ( trailingInterval , leadingInterval , offset ) {
967971 offset = offset || 'end' ;
968- return this . timeDimensions . map (
969- d => [ d , ( dateFrom , dateTo , dateField , dimensionDateFrom , dimensionDateTo , isFromStartToEnd ) => {
972+ return this . timeDimensions
973+ . filter ( td => td . granularity )
974+ . map (
975+ d => [ d , ( dateFrom , dateTo , dateField , dimensionDateFrom , dimensionDateTo , isFromStartToEnd ) => {
970976 // dateFrom based window
971- const conditions = [ ] ;
972- if ( trailingInterval !== 'unbounded' ) {
973- const startDate = isFromStartToEnd || offset === 'start' ? dateFrom : dateTo ;
974- const trailingStart = trailingInterval ? this . subtractInterval ( startDate , trailingInterval ) : startDate ;
975- const sign = offset === 'start' ? '>=' : '>' ;
976- conditions . push ( `${ dateField } ${ sign } ${ trailingStart } ` ) ;
977- }
978- if ( leadingInterval !== 'unbounded' ) {
979- const endDate = isFromStartToEnd || offset === 'end' ? dateTo : dateFrom ;
980- const leadingEnd = leadingInterval ? this . addInterval ( endDate , leadingInterval ) : endDate ;
981- const sign = offset === 'end' ? '<=' : '<' ;
982- conditions . push ( `${ dateField } ${ sign } ${ leadingEnd } ` ) ;
983- }
984- return conditions . length ? conditions . join ( ' AND ' ) : '1 = 1' ;
985- } ]
986- ) ;
977+ const conditions = [ ] ;
978+ if ( trailingInterval !== 'unbounded' ) {
979+ const startDate = isFromStartToEnd || offset === 'start' ? dateFrom : dateTo ;
980+ const trailingStart = trailingInterval ? this . subtractInterval ( startDate , trailingInterval ) : startDate ;
981+ const sign = offset === 'start' ? '>=' : '>' ;
982+ conditions . push ( `${ dateField } ${ sign } ${ trailingStart } ` ) ;
983+ }
984+ if ( leadingInterval !== 'unbounded' ) {
985+ const endDate = isFromStartToEnd || offset === 'end' ? dateTo : dateFrom ;
986+ const leadingEnd = leadingInterval ? this . addInterval ( endDate , leadingInterval ) : endDate ;
987+ const sign = offset === 'end' ? '<=' : '<' ;
988+ conditions . push ( `${ dateField } ${ sign } ${ leadingEnd } ` ) ;
989+ }
990+ return conditions . length ? conditions . join ( ' AND ' ) : '1 = 1' ;
991+ } ]
992+ ) ;
987993 }
988994
989995 /**
0 commit comments