@@ -296,6 +296,7 @@ describe('SQL Generation', () => {
296
296
\${FILTER_PARAMS.visitor_checkins.created_at.filter('created_at')} AND
297
297
\${FILTER_GROUP(FILTER_PARAMS.visitor_checkins.created_at.filter("(created_at - INTERVAL '3 DAY')"), FILTER_PARAMS.visitor_checkins.source.filter('source'))}
298
298
\`,
299
+ sql_alias: \`vc\`,
299
300
300
301
rewriteQueries: true,
301
302
@@ -568,28 +569,28 @@ describe('SQL Generation', () => {
568
569
visitors__created_at_day : '2017-01-02T00:00:00.000Z' ,
569
570
visitors__visitor_revenue : '100' ,
570
571
visitors__visitor_count : '1' ,
571
- visitor_checkins__visitor_checkins_count : '3' ,
572
+ vc__visitor_checkins_count : '3' ,
572
573
visitors__per_visitor_revenue : '100'
573
574
} ,
574
575
{
575
576
visitors__created_at_day : '2017-01-04T00:00:00.000Z' ,
576
577
visitors__visitor_revenue : '200' ,
577
578
visitors__visitor_count : '1' ,
578
- visitor_checkins__visitor_checkins_count : '2' ,
579
+ vc__visitor_checkins_count : '2' ,
579
580
visitors__per_visitor_revenue : '200'
580
581
} ,
581
582
{
582
583
visitors__created_at_day : '2017-01-05T00:00:00.000Z' ,
583
584
visitors__visitor_revenue : null ,
584
585
visitors__visitor_count : '1' ,
585
- visitor_checkins__visitor_checkins_count : '1' ,
586
+ vc__visitor_checkins_count : '1' ,
586
587
visitors__per_visitor_revenue : null
587
588
} ,
588
589
{
589
590
visitors__created_at_day : '2017-01-06T00:00:00.000Z' ,
590
591
visitors__visitor_revenue : null ,
591
592
visitors__visitor_count : '2' ,
592
- visitor_checkins__visitor_checkins_count : '0' ,
593
+ vc__visitor_checkins_count : '0' ,
593
594
visitors__per_visitor_revenue : null
594
595
}
595
596
]
@@ -627,7 +628,7 @@ describe('SQL Generation', () => {
627
628
} , [ {
628
629
visitors__visitor_revenue : '300' ,
629
630
visitors__visitor_count : '5' ,
630
- visitor_checkins__visitor_checkins_count : '6' ,
631
+ vc__visitor_checkins_count : '6' ,
631
632
visitors__per_visitor_revenue : '60'
632
633
} ] ) ) ;
633
634
@@ -748,22 +749,22 @@ describe('SQL Generation', () => {
748
749
{
749
750
visitors__created_at_day : '2017-01-02T00:00:00.000Z' ,
750
751
visitors__revenue_rolling : null ,
751
- visitor_checkins__visitor_checkins_count : '3'
752
+ vc__visitor_checkins_count : '3'
752
753
} ,
753
754
{
754
755
visitors__created_at_day : '2017-01-04T00:00:00.000Z' ,
755
756
visitors__revenue_rolling : '100' ,
756
- visitor_checkins__visitor_checkins_count : '2'
757
+ vc__visitor_checkins_count : '2'
757
758
} ,
758
759
{
759
760
visitors__created_at_day : '2017-01-05T00:00:00.000Z' ,
760
761
visitors__revenue_rolling : '200' ,
761
- visitor_checkins__visitor_checkins_count : '1'
762
+ vc__visitor_checkins_count : '1'
762
763
} ,
763
764
{
764
765
visitors__created_at_day : '2017-01-06T00:00:00.000Z' ,
765
766
visitors__revenue_rolling : '500' ,
766
- visitor_checkins__visitor_checkins_count : '0'
767
+ vc__visitor_checkins_count : '0'
767
768
}
768
769
] ) ) ;
769
770
@@ -979,7 +980,7 @@ describe('SQL Generation', () => {
979
980
return dbRunner . testQuery ( query . buildSqlAndParams ( ) ) . then ( res => {
980
981
console . log ( JSON . stringify ( res ) ) ;
981
982
expect ( res ) . toEqual (
982
- [ { visitor_checkins__revenue_per_checkin : '50' } ]
983
+ [ { vc__revenue_per_checkin : '50' } ]
983
984
) ;
984
985
} ) ;
985
986
} ) ;
@@ -1000,7 +1001,7 @@ describe('SQL Generation', () => {
1000
1001
return dbRunner . testQuery ( query . buildSqlAndParams ( ) ) . then ( res => {
1001
1002
console . log ( JSON . stringify ( res ) ) ;
1002
1003
expect ( res ) . toEqual (
1003
- [ { visitor_checkins__google_sourced_checkins : '1' } ]
1004
+ [ { vc__google_sourced_checkins : '1' } ]
1004
1005
) ;
1005
1006
} ) ;
1006
1007
} ) ;
@@ -1024,7 +1025,7 @@ describe('SQL Generation', () => {
1024
1025
return dbRunner . testQuery ( query . buildSqlAndParams ( ) ) . then ( res => {
1025
1026
console . log ( JSON . stringify ( res ) ) ;
1026
1027
expect ( res ) . toEqual (
1027
- [ { visitor_checkins__google_sourced_checkins : '1' } ]
1028
+ [ { vc__google_sourced_checkins : '1' } ]
1028
1029
) ;
1029
1030
} ) ;
1030
1031
} ) ;
@@ -1435,19 +1436,78 @@ describe('SQL Generation', () => {
1435
1436
} ]
1436
1437
} , [
1437
1438
{
1438
- visitor_checkins__cards_count : '0' ,
1439
+ vc__cards_count : '0' ,
1439
1440
visitors__visitor_revenue : '300'
1440
1441
} ,
1441
1442
{
1442
- visitor_checkins__cards_count : '1' ,
1443
+ vc__cards_count : '1' ,
1443
1444
visitors__visitor_revenue : '100'
1444
1445
} ,
1445
1446
{
1446
- visitor_checkins__cards_count : null ,
1447
+ vc__cards_count : null ,
1447
1448
visitors__visitor_revenue : null
1448
1449
}
1449
1450
] ) ) ;
1450
1451
1452
+ it ( 'ungrouped cumulative query' , async ( ) => {
1453
+ await compiler . compile ( ) ;
1454
+
1455
+ const query = new PostgresQuery ( { joinGraph, cubeEvaluator, compiler } , {
1456
+ measures : [
1457
+ 'visitor_checkins.visitor_checkins_count' ,
1458
+ 'visitor_checkins.visitorCheckinsRolling' ,
1459
+ ] ,
1460
+ dimensions : [
1461
+ 'visitor_checkins.id'
1462
+ ] ,
1463
+ timeDimensions : [ {
1464
+ dimension : 'visitor_checkins.created_at' ,
1465
+ granularity : 'day' ,
1466
+ dateRange : [ '2017-01-01' , '2017-01-30' ]
1467
+ } ] ,
1468
+ timezone : 'America/Los_Angeles' ,
1469
+ filters : [ ] ,
1470
+ order : [ {
1471
+ id : 'visitor_checkins.id'
1472
+ } ] ,
1473
+ ungrouped : true
1474
+ } ) ;
1475
+
1476
+ console . log ( query . buildSqlAndParams ( ) ) ;
1477
+
1478
+ return dbRunner . testQuery ( query . buildSqlAndParams ( ) ) . then ( res => {
1479
+ console . log ( JSON . stringify ( res ) ) ;
1480
+ expect ( res ) . toEqual (
1481
+ [
1482
+ {
1483
+ vc__id : 3 ,
1484
+ vc__created_at_day : '2017-01-04T00:00:00.000Z' ,
1485
+ vc__visitor_checkins_count : 1 ,
1486
+ vc__visitor_checkins_rolling : 1
1487
+ } ,
1488
+ {
1489
+ vc__id : 4 ,
1490
+ vc__created_at_day : '2017-01-04T00:00:00.000Z' ,
1491
+ vc__visitor_checkins_count : 1 ,
1492
+ vc__visitor_checkins_rolling : 1
1493
+ } ,
1494
+ {
1495
+ vc__id : 5 ,
1496
+ vc__created_at_day : '2017-01-04T00:00:00.000Z' ,
1497
+ vc__visitor_checkins_count : 1 ,
1498
+ vc__visitor_checkins_rolling : 1
1499
+ } ,
1500
+ {
1501
+ vc__id : 6 ,
1502
+ vc__created_at_day : '2017-01-05T00:00:00.000Z' ,
1503
+ vc__visitor_checkins_count : 1 ,
1504
+ vc__visitor_checkins_rolling : 1
1505
+ }
1506
+ ]
1507
+ ) ;
1508
+ } ) ;
1509
+ } ) ;
1510
+
1451
1511
it ( 'join rollup pre-aggregation' , async ( ) => {
1452
1512
await compiler . compile ( ) ;
1453
1513
@@ -1490,7 +1550,7 @@ describe('SQL Generation', () => {
1490
1550
expect ( res ) . toEqual (
1491
1551
[
1492
1552
{
1493
- visitor_checkins__source : 'google' ,
1553
+ vc__source : 'google' ,
1494
1554
visitors__created_at_day : '2017-01-02T00:00:00.000Z' ,
1495
1555
visitors__per_visitor_revenue : '100'
1496
1556
}
@@ -1537,7 +1597,7 @@ describe('SQL Generation', () => {
1537
1597
console . log ( JSON . stringify ( res ) ) ;
1538
1598
expect ( res ) . toEqual (
1539
1599
[ {
1540
- visitor_checkins__source : 'google' ,
1600
+ vc__source : 'google' ,
1541
1601
visitors__created_at_day : '2017-01-02T00:00:00.000Z' ,
1542
1602
visitors__visitor_revenue : '100'
1543
1603
} ]
@@ -1564,7 +1624,7 @@ describe('SQL Generation', () => {
1564
1624
return dbRunner . testQuery ( query . buildSqlAndParams ( ) ) . then ( res => {
1565
1625
console . log ( JSON . stringify ( res ) ) ;
1566
1626
expect ( res ) . toEqual (
1567
- [ { visitor_checkins__revenue_per_checkin : '60' } ]
1627
+ [ { vc__revenue_per_checkin : '60' } ]
1568
1628
) ;
1569
1629
} ) ;
1570
1630
} ) ;
@@ -1590,7 +1650,7 @@ describe('SQL Generation', () => {
1590
1650
return dbRunner . testQuery ( query . buildSqlAndParams ( ) ) . then ( res => {
1591
1651
console . log ( JSON . stringify ( res ) ) ;
1592
1652
expect ( res ) . toEqual (
1593
- [ { visitor_checkins__revenue_per_checkin : '50' } ]
1653
+ [ { vc__revenue_per_checkin : '50' } ]
1594
1654
) ;
1595
1655
} ) ;
1596
1656
} ) ;
@@ -1635,12 +1695,12 @@ describe('SQL Generation', () => {
1635
1695
ungrouped : true ,
1636
1696
allowUngroupedWithoutPrimaryKey : true ,
1637
1697
} , [
1638
- { visitor_checkins__created_at_day : '2017-01-02T00:00:00.000Z' , visitor_checkins__google_sourced_checkins : null } ,
1639
- { visitor_checkins__created_at_day : '2017-01-03T00:00:00.000Z' , visitor_checkins__google_sourced_checkins : null } ,
1640
- { visitor_checkins__created_at_day : '2017-01-04T00:00:00.000Z' , visitor_checkins__google_sourced_checkins : null } ,
1641
- { visitor_checkins__created_at_day : '2017-01-04T00:00:00.000Z' , visitor_checkins__google_sourced_checkins : null } ,
1642
- { visitor_checkins__created_at_day : '2017-01-04T00:00:00.000Z' , visitor_checkins__google_sourced_checkins : null } ,
1643
- { visitor_checkins__created_at_day : '2017-01-05T00:00:00.000Z' , visitor_checkins__google_sourced_checkins : 1 } ,
1698
+ { vc__created_at_day : '2017-01-02T00:00:00.000Z' , vc__google_sourced_checkins : null } ,
1699
+ { vc__created_at_day : '2017-01-03T00:00:00.000Z' , vc__google_sourced_checkins : null } ,
1700
+ { vc__created_at_day : '2017-01-04T00:00:00.000Z' , vc__google_sourced_checkins : null } ,
1701
+ { vc__created_at_day : '2017-01-04T00:00:00.000Z' , vc__google_sourced_checkins : null } ,
1702
+ { vc__created_at_day : '2017-01-04T00:00:00.000Z' , vc__google_sourced_checkins : null } ,
1703
+ { vc__created_at_day : '2017-01-05T00:00:00.000Z' , vc__google_sourced_checkins : 1 } ,
1644
1704
] ) ) ;
1645
1705
1646
1706
it ( 'ungrouped filtered distinct count' , ( ) => runQueryTest ( {
@@ -1659,12 +1719,12 @@ describe('SQL Generation', () => {
1659
1719
ungrouped : true ,
1660
1720
allowUngroupedWithoutPrimaryKey : true ,
1661
1721
} , [
1662
- { visitor_checkins__created_at_day : '2017-01-02T00:00:00.000Z' , visitor_checkins__unique_google_sourced_checkins : null } ,
1663
- { visitor_checkins__created_at_day : '2017-01-03T00:00:00.000Z' , visitor_checkins__unique_google_sourced_checkins : null } ,
1664
- { visitor_checkins__created_at_day : '2017-01-04T00:00:00.000Z' , visitor_checkins__unique_google_sourced_checkins : null } ,
1665
- { visitor_checkins__created_at_day : '2017-01-04T00:00:00.000Z' , visitor_checkins__unique_google_sourced_checkins : null } ,
1666
- { visitor_checkins__created_at_day : '2017-01-04T00:00:00.000Z' , visitor_checkins__unique_google_sourced_checkins : null } ,
1667
- { visitor_checkins__created_at_day : '2017-01-05T00:00:00.000Z' , visitor_checkins__unique_google_sourced_checkins : 1 } ,
1722
+ { vc__created_at_day : '2017-01-02T00:00:00.000Z' , vc__unique_google_sourced_checkins : null } ,
1723
+ { vc__created_at_day : '2017-01-03T00:00:00.000Z' , vc__unique_google_sourced_checkins : null } ,
1724
+ { vc__created_at_day : '2017-01-04T00:00:00.000Z' , vc__unique_google_sourced_checkins : null } ,
1725
+ { vc__created_at_day : '2017-01-04T00:00:00.000Z' , vc__unique_google_sourced_checkins : null } ,
1726
+ { vc__created_at_day : '2017-01-04T00:00:00.000Z' , vc__unique_google_sourced_checkins : null } ,
1727
+ { vc__created_at_day : '2017-01-05T00:00:00.000Z' , vc__unique_google_sourced_checkins : 1 } ,
1668
1728
] ) ) ;
1669
1729
1670
1730
it ( 'ungrouped ratio measure' , ( ) => runQueryTest ( {
@@ -1683,12 +1743,12 @@ describe('SQL Generation', () => {
1683
1743
ungrouped : true ,
1684
1744
allowUngroupedWithoutPrimaryKey : true ,
1685
1745
} , [
1686
- { visitor_checkins__created_at_day : '2017-01-02T00:00:00.000Z' , visitor_checkins__unique_sources_per_checking : 1 } ,
1687
- { visitor_checkins__created_at_day : '2017-01-03T00:00:00.000Z' , visitor_checkins__unique_sources_per_checking : 1 } ,
1688
- { visitor_checkins__created_at_day : '2017-01-04T00:00:00.000Z' , visitor_checkins__unique_sources_per_checking : 1 } ,
1689
- { visitor_checkins__created_at_day : '2017-01-04T00:00:00.000Z' , visitor_checkins__unique_sources_per_checking : 1 } ,
1690
- { visitor_checkins__created_at_day : '2017-01-04T00:00:00.000Z' , visitor_checkins__unique_sources_per_checking : 1 } ,
1691
- { visitor_checkins__created_at_day : '2017-01-05T00:00:00.000Z' , visitor_checkins__unique_sources_per_checking : 1 } ,
1746
+ { vc__created_at_day : '2017-01-02T00:00:00.000Z' , vc__unique_sources_per_checking : 1 } ,
1747
+ { vc__created_at_day : '2017-01-03T00:00:00.000Z' , vc__unique_sources_per_checking : 1 } ,
1748
+ { vc__created_at_day : '2017-01-04T00:00:00.000Z' , vc__unique_sources_per_checking : 1 } ,
1749
+ { vc__created_at_day : '2017-01-04T00:00:00.000Z' , vc__unique_sources_per_checking : 1 } ,
1750
+ { vc__created_at_day : '2017-01-04T00:00:00.000Z' , vc__unique_sources_per_checking : 1 } ,
1751
+ { vc__created_at_day : '2017-01-05T00:00:00.000Z' , vc__unique_sources_per_checking : 1 } ,
1692
1752
] ) ) ;
1693
1753
1694
1754
it ( 'builds geo dimension' , ( ) => runQueryTest ( {
@@ -2116,7 +2176,7 @@ describe('SQL Generation', () => {
2116
2176
} ] ,
2117
2177
order : [ ]
2118
2178
} , [
2119
- { visitor_checkins__visitor_checkins_count : '4' }
2179
+ { vc__visitor_checkins_count : '4' }
2120
2180
] )
2121
2181
) ;
2122
2182
@@ -2150,7 +2210,7 @@ describe('SQL Generation', () => {
2150
2210
} ] ,
2151
2211
order : [ ]
2152
2212
} , [
2153
- { visitor_checkins__visitor_checkins_count : '4' }
2213
+ { vc__visitor_checkins_count : '4' }
2154
2214
] )
2155
2215
) ;
2156
2216
@@ -2168,7 +2228,7 @@ describe('SQL Generation', () => {
2168
2228
} ] ,
2169
2229
order : [ ]
2170
2230
} , [
2171
- { visitor_checkins__visitor_checkins_count : '4' }
2231
+ { vc__visitor_checkins_count : '4' }
2172
2232
] )
2173
2233
) ;
2174
2234
@@ -2204,7 +2264,7 @@ describe('SQL Generation', () => {
2204
2264
} ] ,
2205
2265
order : [ ]
2206
2266
} , [
2207
- { visitor_checkins__visitor_checkins_count : '1' }
2267
+ { vc__visitor_checkins_count : '1' }
2208
2268
] )
2209
2269
) ;
2210
2270
@@ -2244,7 +2304,7 @@ describe('SQL Generation', () => {
2244
2304
} ] ,
2245
2305
order : [ ]
2246
2306
} , [
2247
- { visitor_checkins__visitor_checkins_count : '1' }
2307
+ { vc__visitor_checkins_count : '1' }
2248
2308
] )
2249
2309
) ;
2250
2310
@@ -2711,11 +2771,11 @@ describe('SQL Generation', () => {
2711
2771
[ {
2712
2772
visitors__percentage_of_total : 9 ,
2713
2773
visitors__revenue : '100' ,
2714
- visitor_checkins__source : 'google'
2774
+ vc__source : 'google'
2715
2775
} , {
2716
2776
visitors__percentage_of_total : 91 ,
2717
2777
visitors__revenue : '1000' ,
2718
- visitor_checkins__source : null
2778
+ vc__source : null
2719
2779
} ]
2720
2780
) ) ;
2721
2781
0 commit comments