@@ -3148,16 +3148,20 @@ m:datetime | x:integer | d:boolean
3148
3148
3149
3149
sumWithConditions
3150
3150
required_capability: stats_with_filtered_surrogate_fixed
3151
+ required_capability: aggregate_metric_double_convert_to
3151
3152
3152
3153
FROM employees
3154
+ | EVAL agg_metric = TO_AGGREGATE_METRIC_DOUBLE(1)
3153
3155
| STATS sum1 = SUM(1),
3154
3156
sum2 = SUM(1) WHERE emp_no == 10080,
3155
3157
sum3 = SUM(1) WHERE emp_no < 10080,
3156
- sum4 = SUM(1) WHERE emp_no >= 10080
3158
+ sum4 = SUM(1) WHERE emp_no >= 10080,
3159
+ sum5 = SUM(agg_metric),
3160
+ sum6 = SUM(agg_metric) WHERE emp_no == 10080
3157
3161
;
3158
3162
3159
- sum1:long | sum2:long | sum3:long | sum4:long
3160
- 100 | 1 | 79 | 21
3163
+ sum1:long | sum2:long | sum3:long | sum4:long | sum5:double | sum6:double
3164
+ 100 | 1 | 79 | 21 | 100.0 | 1.0
3161
3165
;
3162
3166
3163
3167
weightedAvgWithConditions
@@ -3168,11 +3172,13 @@ ROW x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
3168
3172
| STATS w_avg1 = WEIGHTED_AVG(x, 1) WHERE x == 5,
3169
3173
w_avg2 = WEIGHTED_AVG(x, x) WHERE x == 5,
3170
3174
w_avg3 = WEIGHTED_AVG(x, 2) WHERE x <= 5,
3171
- w_avg4 = WEIGHTED_AVG(x, x) WHERE x > 5
3175
+ w_avg4 = WEIGHTED_AVG(x, x) WHERE x > 5,
3176
+ w_avg5 = WEIGHTED_AVG([1,2,3], 1),
3177
+ w_avg6 = WEIGHTED_AVG([1,2,3], 1) WHERE x == 5
3172
3178
;
3173
3179
3174
- w_avg1:double | w_avg2:double | w_avg3:double | w_avg4:double
3175
- 5.0 | 5.0 | 3.0 | 8.25
3180
+ w_avg1:double | w_avg2:double | w_avg3:double | w_avg4:double | w_avg5:double | w_avg6:double
3181
+ 5.0 | 5.0 | 3.0 | 8.25 | 2.0 | 2.0
3176
3182
;
3177
3183
3178
3184
maxWithConditions
@@ -3182,11 +3188,14 @@ required_capability: aggregate_metric_double_convert_to
3182
3188
ROW x = [1, 2, 3, 4, 5]
3183
3189
| MV_EXPAND x
3184
3190
| EVAL agg_metric = TO_AGGREGATE_METRIC_DOUBLE(x)
3185
- | STATS max = MAX(agg_metric) WHERE x <= 3
3191
+ | STATS max1 = MAX(agg_metric) WHERE x <= 3,
3192
+ max2 = MAX(agg_metric),
3193
+ max3 = MAX(x),
3194
+ max4 = MAX(x) WHERE x > 3
3186
3195
;
3187
3196
3188
- max :double
3189
- 3.0
3197
+ max1 :double | max2:double | max3:integer | max4:integer
3198
+ 3.0 | 5.0 | 5 | 5
3190
3199
;
3191
3200
3192
3201
minWithConditions
@@ -3196,11 +3205,14 @@ required_capability: aggregate_metric_double_convert_to
3196
3205
ROW x = [1, 2, 3, 4, 5]
3197
3206
| MV_EXPAND x
3198
3207
| EVAL agg_metric = TO_AGGREGATE_METRIC_DOUBLE(x)
3199
- | STATS min = MIN(agg_metric) WHERE x >= 3
3208
+ | STATS min1 = MIN(agg_metric) WHERE x <= 3,
3209
+ min2 = MIN(agg_metric),
3210
+ min3 = MIN(x),
3211
+ min4 = MIN(x) WHERE x > 3
3200
3212
;
3201
3213
3202
- min :double
3203
- 3.0
3214
+ min1 :double | min2:double | min3:integer | min4:integer
3215
+ 1.0 | 1.0 | 1 | 4
3204
3216
;
3205
3217
3206
3218
countWithConditions
@@ -3211,14 +3223,17 @@ ROW x = [1, 2, 3, 4, 5]
3211
3223
| MV_EXPAND x
3212
3224
| EVAL agg_metric = TO_AGGREGATE_METRIC_DOUBLE(x)
3213
3225
| STATS count1 = COUNT(x) WHERE x >= 3,
3214
- count2 = COUNT(agg_metric) WHERE x >=3,
3215
- count3 = COUNT(4) WHERE x >= 3,
3216
- count4 = COUNT(*) WHERE x >= 3,
3217
- count5 = COUNT([1,2,3]) WHERE x >= 3
3226
+ count2 = COUNT(x),
3227
+ count3 = COUNT(agg_metric),
3228
+ count4 = COUNT(agg_metric) WHERE x >=3,
3229
+ count5 = COUNT(4) WHERE x >= 3,
3230
+ count6 = COUNT(*) WHERE x >= 3,
3231
+ count7 = COUNT([1,2,3]) WHERE x >= 3,
3232
+ count8 = COUNT([1,2,3])
3218
3233
;
3219
3234
3220
- count1:long | count2:long | count3:long | count4:long | count5:long
3221
- 3 | 3 | 3 | 3 | 9
3235
+ count1:long | count2:long | count3:long | count4:long | count5:long | count6:long | count7:long | count8:long
3236
+ 3 | 5 | 5 | 3 | 3 | 3 | 9 | 15
3222
3237
;
3223
3238
3224
3239
countDistinctWithConditions
@@ -3228,11 +3243,13 @@ ROW x = [1, 2, 3, 4, 5]
3228
3243
| MV_EXPAND x
3229
3244
| EVAL agg_metric = TO_AGGREGATE_METRIC_DOUBLE(x)
3230
3245
| STATS count1 = COUNT_DISTINCT(x) WHERE x <= 3,
3231
- count2 = COUNT_DISTINCT(1) WHERE x <= 3
3246
+ count2 = COUNT_DISTINCT(x),
3247
+ count3 = COUNT_DISTINCT(1) WHERE x <= 3,
3248
+ count4 = COUNT_DISTINCT(1)
3232
3249
;
3233
3250
3234
- count1:long | count2:long
3235
- 3 | 1
3251
+ count1:long | count2:long | count3:long | count4:long
3252
+ 3 | 5 | 1 | 1
3236
3253
;
3237
3254
3238
3255
avgWithConditions
@@ -3243,24 +3260,26 @@ ROW x = [1, 2, 3, 4, 5]
3243
3260
| MV_EXPAND x
3244
3261
| EVAL agg_metric = TO_AGGREGATE_METRIC_DOUBLE(x)
3245
3262
| STATS avg1 = AVG(x) WHERE x <= 3,
3246
- avg2 = AVG(agg_metric) WHERE x <=3
3263
+ avg2 = AVG(x),
3264
+ avg3 = AVG(agg_metric) WHERE x <=3,
3265
+ avg4 = AVG(agg_metric)
3247
3266
;
3248
3267
3249
- avg1:double | avg2:double
3250
- 2.0 | 2 .0
3268
+ avg1:double | avg2:double | avg3:double | avg4:double
3269
+ 2.0 | 3.0 | 2.0 | 3 .0
3251
3270
;
3252
3271
3253
3272
percentileWithConditions
3254
3273
required_capability: stats_with_filtered_surrogate_fixed
3255
3274
3256
3275
ROW x = [1, 2, 3, 4, 5]
3257
3276
| MV_EXPAND x
3258
- | STATS percentile1 = PERCENTILE(x, 100 ) WHERE x <= 3,
3259
- percentile2 = PERCENTILE(x, 100 )
3277
+ | STATS percentile1 = PERCENTILE(x, 50 ) WHERE x <= 3,
3278
+ percentile2 = PERCENTILE(x, 50 )
3260
3279
;
3261
3280
3262
3281
percentile1:double | percentile2:double
3263
- 3 .0 | 5 .0
3282
+ 2 .0 | 3 .0
3264
3283
;
3265
3284
3266
3285
medianWithConditions
@@ -3270,25 +3289,27 @@ ROW x = [1, 2, 3, 4, 5]
3270
3289
| MV_EXPAND x
3271
3290
| STATS median1 = MEDIAN(x) WHERE x <= 3,
3272
3291
median2 = MEDIAN(x),
3273
- median3 = MEDIAN([5,6,7,8,9]) WHERE x <= 3
3292
+ median3 = MEDIAN([5,6,7,8,9]) WHERE x <= 3,
3293
+ median4 = MEDIAN([5,6,7,8,9])
3274
3294
;
3275
3295
3276
- median1:double | median2:double | median3:double
3277
- 2.0 | 3.0 | 7.0
3296
+ median1:double | median2:double | median3:double | median4:double
3297
+ 2.0 | 3.0 | 7.0 | 7.0
3278
3298
;
3279
3299
3280
3300
medianAbsoluteDeviationWithConditions
3281
3301
required_capability: stats_with_filtered_surrogate_fixed
3282
3302
3283
3303
ROW x = [1, 2, 3, 4, 5]
3284
3304
| MV_EXPAND x
3285
- | STATS median_deviation1 = MEDIAN_ABSOLUTE_DEVIATION(x) WHERE x <= 3,
3286
- median_deviation2 = MEDIAN_ABSOLUTE_DEVIATION(x),
3287
- median_deviation3 = MEDIAN_ABSOLUTE_DEVIATION([5,6,7,8,9]) WHERE x <= 3
3305
+ | STATS median_dev1 = MEDIAN_ABSOLUTE_DEVIATION(x) WHERE x <= 3,
3306
+ median_dev2 = MEDIAN_ABSOLUTE_DEVIATION(x),
3307
+ median_dev3 = MEDIAN_ABSOLUTE_DEVIATION([5,6,7,8,9]) WHERE x <= 3,
3308
+ median_dev4 = MEDIAN_ABSOLUTE_DEVIATION([5,6,7,8,9])
3288
3309
;
3289
3310
3290
- median_deviation1 :double | median_deviation2 :double | median_deviation3 :double
3291
- 1.0 | 1.0 | 1.0
3311
+ median_dev1 :double | median_dev2 :double | median_dev3 :double | median_dev4:double
3312
+ 1.0 | 1.0 | 1.0 | 1.0
3292
3313
;
3293
3314
3294
3315
topWithConditions
0 commit comments