-
Notifications
You must be signed in to change notification settings - Fork 0
Description
any condition means "by month", "by month of year", "by hour" etc.
It's because the ':breakout' keyword is never parsed in source code.
Driver log with ':breakout' information:
INFO metabase.driver.firebird Preprocessed Firebird MBQL query: {:source-table 243, :aggregation [[:aggregation-options [:avg [:field 2507 {:base-type :type/BigInteger, :metabase.query-processor.util.add-alias-info/source-table 243, :metabase.query-processor.util.add-alias-info/source-alias "PAYED_SUM"}]] {:name "avg", :metabase.query-processor.util.add-alias-info/source-alias "avg", :metabase.query-processor.util.add-alias-info/position 1, :metabase.query-processor.util.add-alias-info/desired-alias "avg"}]], :breakout [[:field 4532 {:base-type :type/Date, :temporal-unit :month-of-year, :metabase.query-processor.util.add-alias-info/source-table 243, :metabase.query-processor.util.add-alias-info/source-alias "DATE_", :metabase.query-processor.util.add-alias-info/desired-alias "DATE_", :metabase.query-processor.util.add-alias-info/position 0}]], :order-by [[:asc [:field 4532 {:base-type :type/Date, :temporal-unit :month-of-year, :metabase.query-processor.util.add-alias-info/source-table 243, :metabase.query-processor.util.add-alias-info/source-alias "DATE_", :metabase.query-processor.util.add-alias-info/desired-alias "DATE_", :metabase.query-processor.util.add-alias-info/position 0}]]]}
The next log record has nothing about the breakout:
DEBUG metabase.driver.firebird Formatting Firebird query with map: {:from [[[:metabase.util.honey-sql-2/identifier :table ["MB_ORDERS"]]]], :select [[[:metabase.util.honey-sql-2/identifier :field ["MB_ORDERS" "DATE_"]] [[:metabase.util.honey-sql-2/identifier :field-alias ["DATE_"]]]] [[:avg [:metabase.util.honey-sql-2/identifier :field ["MB_ORDERS" "PAYED_SUM"]]] [[:metabase.util.honey-sql-2/identifier :field-alias ["avg"]]]]], :group-by [[:metabase.util.honey-sql-2/identifier :field ["MB_ORDERS" "DATE_"]]], :order-by [[[:metabase.util.honey-sql-2/identifier :field ["MB_ORDERS" "DATE_"]] :asc]]}
As a result wrong SQL query is in the log:
DEBUG metabase.driver.firebird Generated Firebird SQL: SELECT "MB_ORDERS"."DATE_" AS "DATE_", AVG("MB_ORDERS"."PAYED_SUM") AS "avg" FROM "MB_ORDERS" GROUP BY "MB_ORDERS"."DATE_" ORDER BY "MB_ORDERS"."DATE_" ASC, params: []
But must be something like:
SELECT EXTRACT(MONTH from "MB_ORDERS"."DATE_") AS "DATE_", AVG("MB_ORDERS"."PAYED_SUM") AS "avg" FROM "MB_ORDERS" GROUP BY EXTRACT(MONTH from "MB_ORDERS"."DATE_") ORDER BY EXTRACT(MONTH from "MB_ORDERS"."DATE_")