Skip to content
Snippets Groups Projects
Commit bc64380f authored by Simon Belak's avatar Simon Belak
Browse files

Wrap values in aggregations, test Metric and breakout [ci all]

parent c9ca2dfb
No related branches found
No related tags found
No related merge requests found
......@@ -157,7 +157,7 @@
(str/join (str " " (name operator) " ")
(map expression-ag-arg->name args)))
;; for unnamed normal aggregations, the column alias is always the same as the ag type except for `:distinct` with
;; for unnamed normal aggregations, the column alias is always the same as the ag type except for `:distinct` which
;; is called `:count` (WHY?)
[:distinct _]
"count"
......
......@@ -87,7 +87,7 @@
[{:keys [source-query], :as inner-query}]
(let [inner-query (cond-> inner-query
source-query (update :source-query wrap-value-literals-in-mbql-query))]
(mbql.u/replace-in inner-query [:filter]
(mbql.u/replace inner-query
[(clause :guard #{:= :!= :< :> :<= :>=}) field (x :guard raw-value?)]
[clause field (add-type-info x (type-info field))]
......
(ns metabase.query-processor-test.share-test
(:require [metabase.models.segment :refer [Segment]]
(:require [metabase.models
[metric :refer [Metric]]
[segment :refer [Segment]]]
[metabase.query-processor-test :refer :all]
[metabase.test.data :as data]
[metabase.test.data.datasets :as datasets]
......@@ -14,20 +16,31 @@
double))
(datasets/expect-with-drivers (non-timeseries-drivers-with-feature :basic-aggregations)
1.47
(->> {:aggregation [[:+ [:/ [:share [:< [:field-id (data/id :venues :price)] 4]] 2] 1]]}
nil
(->> {:aggregation [[:share [:< [:field-id (data/id :venues :price)] 4]]]
:filter [:> [:field-id (data/id :venues :price)] Long/MAX_VALUE]}
(data/run-mbql-query venues)
rows
ffirst
double))
ffirst))
(datasets/expect-with-drivers (non-timeseries-drivers-with-feature :basic-aggregations)
nil
(->> {:aggregation [[:share [:< [:field-id (data/id :venues :price)] 4]]]
:filter [:> [:field-id (data/id :venues :price)] Long/MAX_VALUE]}
[[2 0M]
[3 0M]
[4 0.5M]
[5 0.14285714285714285714285714M]]
(->> {:aggregation [[:share [:< [:field-id (data/id :venues :price)] 2]]]
:breakout [[:field-id (data/id :venues :category_id)]]
:limit 4}
(data/run-mbql-query venues)
rows))
(datasets/expect-with-drivers (non-timeseries-drivers-with-feature :basic-aggregations)
1.47
(->> {:aggregation [[:+ [:/ [:share [:< [:field-id (data/id :venues :price)] 4]] 2] 1]]}
(data/run-mbql-query venues)
rows
ffirst))
ffirst
double))
(datasets/expect-with-drivers (non-timeseries-drivers-with-feature :basic-aggregations)
0.94
......@@ -39,3 +52,14 @@
rows
ffirst
double)))
(datasets/expect-with-drivers (non-timeseries-drivers-with-feature :basic-aggregations)
0.94
(tt/with-temp* [Metric [{metric-id :id} {:table_id (data/id :venues)
:definition {:source-table (data/id :venues)
:aggregation [:share [:< [:field-id (data/id :venues :price)] 4]]}}]]
(->> {:aggregation [[:metric metric-id]]}
(data/run-mbql-query venues)
rows
ffirst
double)))
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment