@lightdash/common 0.2406.0 → 0.2408.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (232) hide show
  1. package/dist/cjs/.tsbuildinfo +1 -1
  2. package/dist/cjs/compiler/exploreCompiler.d.ts +12 -0
  3. package/dist/cjs/compiler/exploreCompiler.d.ts.map +1 -1
  4. package/dist/cjs/compiler/exploreCompiler.js +68 -5
  5. package/dist/cjs/compiler/exploreCompiler.js.map +1 -1
  6. package/dist/cjs/compiler/exploreCompiler.mock.d.ts +14 -0
  7. package/dist/cjs/compiler/exploreCompiler.mock.d.ts.map +1 -1
  8. package/dist/cjs/compiler/exploreCompiler.mock.js +331 -5
  9. package/dist/cjs/compiler/exploreCompiler.mock.js.map +1 -1
  10. package/dist/cjs/compiler/exploreCompiler.test.js +87 -0
  11. package/dist/cjs/compiler/exploreCompiler.test.js.map +1 -1
  12. package/dist/cjs/compiler/lightdashProjectConfig.d.ts.map +1 -1
  13. package/dist/cjs/compiler/lightdashProjectConfig.js +2 -1
  14. package/dist/cjs/compiler/lightdashProjectConfig.js.map +1 -1
  15. package/dist/cjs/compiler/translator.mock.d.ts +3 -0
  16. package/dist/cjs/compiler/translator.mock.d.ts.map +1 -1
  17. package/dist/cjs/compiler/translator.mock.js +19 -1
  18. package/dist/cjs/compiler/translator.mock.js.map +1 -1
  19. package/dist/cjs/compiler/translator.test.js +7 -0
  20. package/dist/cjs/compiler/translator.test.js.map +1 -1
  21. package/dist/cjs/ee/AiAgent/chartConfig/slack/generateBarVizConfigTool/getVerticalBarChartEchartsConfig.d.ts.map +1 -1
  22. package/dist/cjs/ee/AiAgent/chartConfig/slack/generateBarVizConfigTool/getVerticalBarChartEchartsConfig.js +8 -20
  23. package/dist/cjs/ee/AiAgent/chartConfig/slack/generateBarVizConfigTool/getVerticalBarChartEchartsConfig.js.map +1 -1
  24. package/dist/cjs/ee/AiAgent/chartConfig/slack/generateTimeSeriesVizConfigTool/getTimeSeriesChartEchartsConfig.d.ts.map +1 -1
  25. package/dist/cjs/ee/AiAgent/chartConfig/slack/generateTimeSeriesVizConfigTool/getTimeSeriesChartEchartsConfig.js +9 -19
  26. package/dist/cjs/ee/AiAgent/chartConfig/slack/generateTimeSeriesVizConfigTool/getTimeSeriesChartEchartsConfig.js.map +1 -1
  27. package/dist/cjs/ee/AiAgent/chartConfig/slack/runQueryTool/viz/bar.js +1 -1
  28. package/dist/cjs/ee/AiAgent/chartConfig/slack/runQueryTool/viz/bar.js.map +1 -1
  29. package/dist/cjs/ee/AiAgent/chartConfig/slack/runQueryTool/viz/funnel.d.ts.map +1 -1
  30. package/dist/cjs/ee/AiAgent/chartConfig/slack/runQueryTool/viz/funnel.js +10 -3
  31. package/dist/cjs/ee/AiAgent/chartConfig/slack/runQueryTool/viz/funnel.js.map +1 -1
  32. package/dist/cjs/ee/AiAgent/chartConfig/slack/runQueryTool/viz/horizontalBar.js +1 -1
  33. package/dist/cjs/ee/AiAgent/chartConfig/slack/runQueryTool/viz/horizontalBar.js.map +1 -1
  34. package/dist/cjs/ee/AiAgent/chartConfig/slack/runQueryTool/viz/line.d.ts.map +1 -1
  35. package/dist/cjs/ee/AiAgent/chartConfig/slack/runQueryTool/viz/line.js +2 -1
  36. package/dist/cjs/ee/AiAgent/chartConfig/slack/runQueryTool/viz/line.js.map +1 -1
  37. package/dist/cjs/ee/AiAgent/chartConfig/slack/runQueryTool/viz/pie.d.ts.map +1 -1
  38. package/dist/cjs/ee/AiAgent/chartConfig/slack/runQueryTool/viz/pie.js +13 -6
  39. package/dist/cjs/ee/AiAgent/chartConfig/slack/runQueryTool/viz/pie.js.map +1 -1
  40. package/dist/cjs/ee/AiAgent/chartConfig/slack/runQueryTool/viz/scatter.d.ts.map +1 -1
  41. package/dist/cjs/ee/AiAgent/chartConfig/slack/runQueryTool/viz/scatter.js +2 -1
  42. package/dist/cjs/ee/AiAgent/chartConfig/slack/runQueryTool/viz/scatter.js.map +1 -1
  43. package/dist/cjs/ee/AiAgent/chartConfig/slack/shared/getCommonEChartsConfig.d.ts +6 -2
  44. package/dist/cjs/ee/AiAgent/chartConfig/slack/shared/getCommonEChartsConfig.d.ts.map +1 -1
  45. package/dist/cjs/ee/AiAgent/chartConfig/slack/shared/getCommonEChartsConfig.js +30 -14
  46. package/dist/cjs/ee/AiAgent/chartConfig/slack/shared/getCommonEChartsConfig.js.map +1 -1
  47. package/dist/cjs/schemas/json/chart-as-code-1.0.json +418 -42
  48. package/dist/cjs/schemas/json/lightdash-dbt-2.0.json +14 -0
  49. package/dist/cjs/types/content.d.ts +1 -0
  50. package/dist/cjs/types/content.d.ts.map +1 -1
  51. package/dist/cjs/types/dbt.d.ts +1 -0
  52. package/dist/cjs/types/dbt.d.ts.map +1 -1
  53. package/dist/cjs/types/dbt.js +1 -0
  54. package/dist/cjs/types/dbt.js.map +1 -1
  55. package/dist/cjs/types/errors.d.ts +10 -0
  56. package/dist/cjs/types/errors.d.ts.map +1 -1
  57. package/dist/cjs/types/errors.js +27 -2
  58. package/dist/cjs/types/errors.js.map +1 -1
  59. package/dist/cjs/types/field.d.ts +4 -3
  60. package/dist/cjs/types/field.d.ts.map +1 -1
  61. package/dist/cjs/types/field.js.map +1 -1
  62. package/dist/cjs/types/periodOverPeriodComparison.d.ts +19 -1
  63. package/dist/cjs/types/periodOverPeriodComparison.d.ts.map +1 -1
  64. package/dist/cjs/types/periodOverPeriodComparison.js +36 -3
  65. package/dist/cjs/types/periodOverPeriodComparison.js.map +1 -1
  66. package/dist/cjs/types/periodOverPeriodComparison.test.d.ts +2 -0
  67. package/dist/cjs/types/periodOverPeriodComparison.test.d.ts.map +1 -0
  68. package/dist/cjs/types/periodOverPeriodComparison.test.js +81 -0
  69. package/dist/cjs/types/periodOverPeriodComparison.test.js.map +1 -0
  70. package/dist/cjs/types/savedCharts.d.ts +3 -0
  71. package/dist/cjs/types/savedCharts.d.ts.map +1 -1
  72. package/dist/cjs/types/savedCharts.js.map +1 -1
  73. package/dist/cjs/types/space.d.ts +2 -1
  74. package/dist/cjs/types/space.d.ts.map +1 -1
  75. package/dist/cjs/types/space.js.map +1 -1
  76. package/dist/cjs/visualizations/types/index.d.ts +1 -1
  77. package/dist/cjs/visualizations/types/index.d.ts.map +1 -1
  78. package/dist/esm/.tsbuildinfo +1 -1
  79. package/dist/esm/compiler/exploreCompiler.d.ts +12 -0
  80. package/dist/esm/compiler/exploreCompiler.d.ts.map +1 -1
  81. package/dist/esm/compiler/exploreCompiler.js +66 -4
  82. package/dist/esm/compiler/exploreCompiler.js.map +1 -1
  83. package/dist/esm/compiler/exploreCompiler.mock.d.ts +14 -0
  84. package/dist/esm/compiler/exploreCompiler.mock.d.ts.map +1 -1
  85. package/dist/esm/compiler/exploreCompiler.mock.js +329 -3
  86. package/dist/esm/compiler/exploreCompiler.mock.js.map +1 -1
  87. package/dist/esm/compiler/exploreCompiler.test.js +89 -2
  88. package/dist/esm/compiler/exploreCompiler.test.js.map +1 -1
  89. package/dist/esm/compiler/lightdashProjectConfig.d.ts.map +1 -1
  90. package/dist/esm/compiler/lightdashProjectConfig.js +2 -1
  91. package/dist/esm/compiler/lightdashProjectConfig.js.map +1 -1
  92. package/dist/esm/compiler/translator.mock.d.ts +3 -0
  93. package/dist/esm/compiler/translator.mock.d.ts.map +1 -1
  94. package/dist/esm/compiler/translator.mock.js +18 -0
  95. package/dist/esm/compiler/translator.mock.js.map +1 -1
  96. package/dist/esm/compiler/translator.test.js +8 -1
  97. package/dist/esm/compiler/translator.test.js.map +1 -1
  98. package/dist/esm/ee/AiAgent/chartConfig/slack/generateBarVizConfigTool/getVerticalBarChartEchartsConfig.d.ts.map +1 -1
  99. package/dist/esm/ee/AiAgent/chartConfig/slack/generateBarVizConfigTool/getVerticalBarChartEchartsConfig.js +8 -20
  100. package/dist/esm/ee/AiAgent/chartConfig/slack/generateBarVizConfigTool/getVerticalBarChartEchartsConfig.js.map +1 -1
  101. package/dist/esm/ee/AiAgent/chartConfig/slack/generateTimeSeriesVizConfigTool/getTimeSeriesChartEchartsConfig.d.ts.map +1 -1
  102. package/dist/esm/ee/AiAgent/chartConfig/slack/generateTimeSeriesVizConfigTool/getTimeSeriesChartEchartsConfig.js +9 -19
  103. package/dist/esm/ee/AiAgent/chartConfig/slack/generateTimeSeriesVizConfigTool/getTimeSeriesChartEchartsConfig.js.map +1 -1
  104. package/dist/esm/ee/AiAgent/chartConfig/slack/runQueryTool/viz/bar.js +1 -1
  105. package/dist/esm/ee/AiAgent/chartConfig/slack/runQueryTool/viz/bar.js.map +1 -1
  106. package/dist/esm/ee/AiAgent/chartConfig/slack/runQueryTool/viz/funnel.d.ts.map +1 -1
  107. package/dist/esm/ee/AiAgent/chartConfig/slack/runQueryTool/viz/funnel.js +10 -3
  108. package/dist/esm/ee/AiAgent/chartConfig/slack/runQueryTool/viz/funnel.js.map +1 -1
  109. package/dist/esm/ee/AiAgent/chartConfig/slack/runQueryTool/viz/horizontalBar.js +1 -1
  110. package/dist/esm/ee/AiAgent/chartConfig/slack/runQueryTool/viz/horizontalBar.js.map +1 -1
  111. package/dist/esm/ee/AiAgent/chartConfig/slack/runQueryTool/viz/line.d.ts.map +1 -1
  112. package/dist/esm/ee/AiAgent/chartConfig/slack/runQueryTool/viz/line.js +2 -1
  113. package/dist/esm/ee/AiAgent/chartConfig/slack/runQueryTool/viz/line.js.map +1 -1
  114. package/dist/esm/ee/AiAgent/chartConfig/slack/runQueryTool/viz/pie.d.ts.map +1 -1
  115. package/dist/esm/ee/AiAgent/chartConfig/slack/runQueryTool/viz/pie.js +13 -6
  116. package/dist/esm/ee/AiAgent/chartConfig/slack/runQueryTool/viz/pie.js.map +1 -1
  117. package/dist/esm/ee/AiAgent/chartConfig/slack/runQueryTool/viz/scatter.d.ts.map +1 -1
  118. package/dist/esm/ee/AiAgent/chartConfig/slack/runQueryTool/viz/scatter.js +2 -1
  119. package/dist/esm/ee/AiAgent/chartConfig/slack/runQueryTool/viz/scatter.js.map +1 -1
  120. package/dist/esm/ee/AiAgent/chartConfig/slack/shared/getCommonEChartsConfig.d.ts +6 -2
  121. package/dist/esm/ee/AiAgent/chartConfig/slack/shared/getCommonEChartsConfig.d.ts.map +1 -1
  122. package/dist/esm/ee/AiAgent/chartConfig/slack/shared/getCommonEChartsConfig.js +30 -14
  123. package/dist/esm/ee/AiAgent/chartConfig/slack/shared/getCommonEChartsConfig.js.map +1 -1
  124. package/dist/esm/schemas/json/chart-as-code-1.0.json +418 -42
  125. package/dist/esm/schemas/json/lightdash-dbt-2.0.json +14 -0
  126. package/dist/esm/types/content.d.ts +1 -0
  127. package/dist/esm/types/content.d.ts.map +1 -1
  128. package/dist/esm/types/dbt.d.ts +1 -0
  129. package/dist/esm/types/dbt.d.ts.map +1 -1
  130. package/dist/esm/types/dbt.js +1 -0
  131. package/dist/esm/types/dbt.js.map +1 -1
  132. package/dist/esm/types/errors.d.ts +10 -0
  133. package/dist/esm/types/errors.d.ts.map +1 -1
  134. package/dist/esm/types/errors.js +23 -0
  135. package/dist/esm/types/errors.js.map +1 -1
  136. package/dist/esm/types/field.d.ts +4 -3
  137. package/dist/esm/types/field.d.ts.map +1 -1
  138. package/dist/esm/types/field.js.map +1 -1
  139. package/dist/esm/types/periodOverPeriodComparison.d.ts +19 -1
  140. package/dist/esm/types/periodOverPeriodComparison.d.ts.map +1 -1
  141. package/dist/esm/types/periodOverPeriodComparison.js +32 -2
  142. package/dist/esm/types/periodOverPeriodComparison.js.map +1 -1
  143. package/dist/esm/types/periodOverPeriodComparison.test.d.ts +2 -0
  144. package/dist/esm/types/periodOverPeriodComparison.test.d.ts.map +1 -0
  145. package/dist/esm/types/periodOverPeriodComparison.test.js +79 -0
  146. package/dist/esm/types/periodOverPeriodComparison.test.js.map +1 -0
  147. package/dist/esm/types/savedCharts.d.ts +3 -0
  148. package/dist/esm/types/savedCharts.d.ts.map +1 -1
  149. package/dist/esm/types/savedCharts.js.map +1 -1
  150. package/dist/esm/types/space.d.ts +2 -1
  151. package/dist/esm/types/space.d.ts.map +1 -1
  152. package/dist/esm/types/space.js.map +1 -1
  153. package/dist/esm/visualizations/types/index.d.ts +1 -1
  154. package/dist/esm/visualizations/types/index.d.ts.map +1 -1
  155. package/dist/types/.tsbuildinfo +1 -1
  156. package/dist/types/compiler/exploreCompiler.d.ts +12 -0
  157. package/dist/types/compiler/exploreCompiler.d.ts.map +1 -1
  158. package/dist/types/compiler/exploreCompiler.js +66 -4
  159. package/dist/types/compiler/exploreCompiler.js.map +1 -1
  160. package/dist/types/compiler/exploreCompiler.mock.d.ts +14 -0
  161. package/dist/types/compiler/exploreCompiler.mock.d.ts.map +1 -1
  162. package/dist/types/compiler/exploreCompiler.mock.js +329 -3
  163. package/dist/types/compiler/exploreCompiler.mock.js.map +1 -1
  164. package/dist/types/compiler/exploreCompiler.test.js +89 -2
  165. package/dist/types/compiler/exploreCompiler.test.js.map +1 -1
  166. package/dist/types/compiler/lightdashProjectConfig.d.ts.map +1 -1
  167. package/dist/types/compiler/lightdashProjectConfig.js +2 -1
  168. package/dist/types/compiler/lightdashProjectConfig.js.map +1 -1
  169. package/dist/types/compiler/translator.mock.d.ts +3 -0
  170. package/dist/types/compiler/translator.mock.d.ts.map +1 -1
  171. package/dist/types/compiler/translator.mock.js +18 -0
  172. package/dist/types/compiler/translator.mock.js.map +1 -1
  173. package/dist/types/compiler/translator.test.js +8 -1
  174. package/dist/types/compiler/translator.test.js.map +1 -1
  175. package/dist/types/ee/AiAgent/chartConfig/slack/generateBarVizConfigTool/getVerticalBarChartEchartsConfig.d.ts.map +1 -1
  176. package/dist/types/ee/AiAgent/chartConfig/slack/generateBarVizConfigTool/getVerticalBarChartEchartsConfig.js +8 -20
  177. package/dist/types/ee/AiAgent/chartConfig/slack/generateBarVizConfigTool/getVerticalBarChartEchartsConfig.js.map +1 -1
  178. package/dist/types/ee/AiAgent/chartConfig/slack/generateTimeSeriesVizConfigTool/getTimeSeriesChartEchartsConfig.d.ts.map +1 -1
  179. package/dist/types/ee/AiAgent/chartConfig/slack/generateTimeSeriesVizConfigTool/getTimeSeriesChartEchartsConfig.js +9 -19
  180. package/dist/types/ee/AiAgent/chartConfig/slack/generateTimeSeriesVizConfigTool/getTimeSeriesChartEchartsConfig.js.map +1 -1
  181. package/dist/types/ee/AiAgent/chartConfig/slack/runQueryTool/viz/bar.js +1 -1
  182. package/dist/types/ee/AiAgent/chartConfig/slack/runQueryTool/viz/bar.js.map +1 -1
  183. package/dist/types/ee/AiAgent/chartConfig/slack/runQueryTool/viz/funnel.d.ts.map +1 -1
  184. package/dist/types/ee/AiAgent/chartConfig/slack/runQueryTool/viz/funnel.js +10 -3
  185. package/dist/types/ee/AiAgent/chartConfig/slack/runQueryTool/viz/funnel.js.map +1 -1
  186. package/dist/types/ee/AiAgent/chartConfig/slack/runQueryTool/viz/horizontalBar.js +1 -1
  187. package/dist/types/ee/AiAgent/chartConfig/slack/runQueryTool/viz/horizontalBar.js.map +1 -1
  188. package/dist/types/ee/AiAgent/chartConfig/slack/runQueryTool/viz/line.d.ts.map +1 -1
  189. package/dist/types/ee/AiAgent/chartConfig/slack/runQueryTool/viz/line.js +2 -1
  190. package/dist/types/ee/AiAgent/chartConfig/slack/runQueryTool/viz/line.js.map +1 -1
  191. package/dist/types/ee/AiAgent/chartConfig/slack/runQueryTool/viz/pie.d.ts.map +1 -1
  192. package/dist/types/ee/AiAgent/chartConfig/slack/runQueryTool/viz/pie.js +13 -6
  193. package/dist/types/ee/AiAgent/chartConfig/slack/runQueryTool/viz/pie.js.map +1 -1
  194. package/dist/types/ee/AiAgent/chartConfig/slack/runQueryTool/viz/scatter.d.ts.map +1 -1
  195. package/dist/types/ee/AiAgent/chartConfig/slack/runQueryTool/viz/scatter.js +2 -1
  196. package/dist/types/ee/AiAgent/chartConfig/slack/runQueryTool/viz/scatter.js.map +1 -1
  197. package/dist/types/ee/AiAgent/chartConfig/slack/shared/getCommonEChartsConfig.d.ts +6 -2
  198. package/dist/types/ee/AiAgent/chartConfig/slack/shared/getCommonEChartsConfig.d.ts.map +1 -1
  199. package/dist/types/ee/AiAgent/chartConfig/slack/shared/getCommonEChartsConfig.js +30 -14
  200. package/dist/types/ee/AiAgent/chartConfig/slack/shared/getCommonEChartsConfig.js.map +1 -1
  201. package/dist/types/schemas/json/chart-as-code-1.0.json +418 -42
  202. package/dist/types/schemas/json/lightdash-dbt-2.0.json +14 -0
  203. package/dist/types/types/content.d.ts +1 -0
  204. package/dist/types/types/content.d.ts.map +1 -1
  205. package/dist/types/types/dbt.d.ts +1 -0
  206. package/dist/types/types/dbt.d.ts.map +1 -1
  207. package/dist/types/types/dbt.js +1 -0
  208. package/dist/types/types/dbt.js.map +1 -1
  209. package/dist/types/types/errors.d.ts +10 -0
  210. package/dist/types/types/errors.d.ts.map +1 -1
  211. package/dist/types/types/errors.js +23 -0
  212. package/dist/types/types/errors.js.map +1 -1
  213. package/dist/types/types/field.d.ts +4 -3
  214. package/dist/types/types/field.d.ts.map +1 -1
  215. package/dist/types/types/field.js.map +1 -1
  216. package/dist/types/types/periodOverPeriodComparison.d.ts +19 -1
  217. package/dist/types/types/periodOverPeriodComparison.d.ts.map +1 -1
  218. package/dist/types/types/periodOverPeriodComparison.js +32 -2
  219. package/dist/types/types/periodOverPeriodComparison.js.map +1 -1
  220. package/dist/types/types/periodOverPeriodComparison.test.d.ts +2 -0
  221. package/dist/types/types/periodOverPeriodComparison.test.d.ts.map +1 -0
  222. package/dist/types/types/periodOverPeriodComparison.test.js +79 -0
  223. package/dist/types/types/periodOverPeriodComparison.test.js.map +1 -0
  224. package/dist/types/types/savedCharts.d.ts +3 -0
  225. package/dist/types/types/savedCharts.d.ts.map +1 -1
  226. package/dist/types/types/savedCharts.js.map +1 -1
  227. package/dist/types/types/space.d.ts +2 -1
  228. package/dist/types/types/space.d.ts.map +1 -1
  229. package/dist/types/types/space.js.map +1 -1
  230. package/dist/types/visualizations/types/index.d.ts +1 -1
  231. package/dist/types/visualizations/types/index.d.ts.map +1 -1
  232. package/package.json +3 -3
@@ -9,6 +9,18 @@ type Reference = {
9
9
  refTable: string;
10
10
  refName: string;
11
11
  };
12
+ /**
13
+ * Check if the SQL contains any aggregation functions.
14
+ *
15
+ * This is used to determine if a non-aggregate metric with dimension references
16
+ * should be allowed. In Looker, it's common to define metrics as type:number
17
+ * with aggregation functions in the SQL field. These are valid in Lightdash
18
+ * because the aggregation happens in the SQL itself.
19
+ *
20
+ * @param sql - The SQL expression to check
21
+ * @returns True if the SQL contains aggregation functions, false otherwise
22
+ */
23
+ export declare const sqlContainsAggregation: (sql: string | undefined | null) => boolean;
12
24
  type FieldContext = {
13
25
  fieldType: 'metric' | 'dimension' | 'custom_dimension' | 'join' | 'sql_where';
14
26
  fieldName: string;
@@ -1 +1 @@
1
- {"version":3,"file":"exploreCompiler.d.ts","sourceRoot":"","sources":["../../../src/compiler/exploreCompiler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAE9E,OAAO,EAEH,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,OAAO,EACZ,KAAK,WAAW,EAEhB,KAAK,KAAK,EACb,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAKH,KAAK,uBAAuB,EAC5B,KAAK,0BAA0B,EAC/B,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,SAAS,EAEd,KAAK,MAAM,EACd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,EAEH,KAAK,eAAe,EACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAkB9D,eAAO,MAAM,wBAAwB,QACY,CAAC;AAElD,KAAK,SAAS,GAAG;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,KAAK,YAAY,GAAG;IAChB,SAAS,EACH,QAAQ,GACR,WAAW,GACX,kBAAkB,GAClB,MAAM,GACN,WAAW,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACrB,CAAC;AACF,eAAO,MAAM,kBAAkB,QACtB,MAAM,gBACG,MAAM,KACrB,SAaF,CAAC;AAEF,eAAO,MAAM,gBAAgB,QAAS,MAAM,KAAG,MAAM,EAGhD,CAAC;AAEN,eAAO,MAAM,kBAAkB,QACtB,MAAM,gBACG,MAAM,KACrB,SAAS,EACiE,CAAC;AAE9E,MAAM,MAAM,iBAAiB,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC9B,cAAc,EAAE,mBAAmB,CAAC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACrD,eAAe,CAAC,EAAE,sBAAsB,CAAC,WAAW,CAAC,CAAC;IACtD,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC3B,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,sBAAsB,CAAC,YAAY,CAAC,CAAC;CAC5D,CAAC;AAcF;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACjC;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACrC,CAAC;AAEF,qBAAa,eAAe;IACxB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAsB;IAEtD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;gBAG7C,eAAe,EAAE,mBAAmB,EACpC,OAAO,GAAE,sBAA2B;IAMxC,cAAc,CAAC,EACX,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,SAAS,EACT,YAAY,EACZ,MAAM,EACN,cAAc,EACd,UAAU,EACV,SAAS,EACT,OAAO,EACP,OAAO,EACP,eAAe,EACf,IAAI,EACJ,iBAAiB,EACjB,MAAM,EACN,iBAAiB,GACpB,EAAE,iBAAiB,GAAG,OAAO;IA2T9B;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,wBAAwB;IAYvC;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAYpC,YAAY,CACR,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAC7B,mBAAmB,EAAE,MAAM,EAAE,GAC9B,aAAa;IAoHhB,OAAO,CAAC,MAAM,CAAC,6BAA6B;IAyC5C,aAAa,CACT,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAC7B,mBAAmB,EAAE,MAAM,EAAE,GAC9B,cAAc;IAgDjB,gBAAgB,CACZ,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAC7B,mBAAmB,EAAE,MAAM,EAAE,GAC9B;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;KAAE;IAkIjD,gBAAgB,CACZ,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAC7B,mBAAmB,EAAE,MAAM,EAAE,GAC9B,iBAAiB;IAwCpB,mBAAmB,CACf,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAC9B;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;KAAE;IA6BjD,yBAAyB,CACrB,SAAS,EAAE,kBAAkB,EAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAC7B,mBAAmB,EAAE,MAAM,EAAE,GAC9B,IAAI,CACH,0BAA0B,EAC1B,aAAa,GAAG,kBAAkB,GAAG,qBAAqB,CAC7D;IA8CD,sBAAsB,CAClB,eAAe,EAAE,eAAe,EAChC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAC7B,mBAAmB,EAAE,MAAM,EAAE,GAC9B,uBAAuB;IAiB1B,yBAAyB,CACrB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAC7B,YAAY,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,YAAY,GAC5B;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;KAAE;IAuCjD,sBAAsB,CAClB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAC7B,YAAY,EAAE,MAAM,EACpB,mBAAmB,EAAE,MAAM,EAAE,EAC7B,YAAY,CAAC,EAAE,YAAY,GAC5B;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;KAAE;IA2CjD,qBAAqB,CACjB,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,GAAG,OAAO,CAAC,EAC1C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAC9B;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;KAAE;IAmBjD,WAAW,CACP,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAC7B,mBAAmB,EAAE,MAAM,EAAE,GAC9B,mBAAmB;CA8BzB;AAED,eAAO,MAAM,8BAA8B,kBACxB,MAAM,qBACF,iBAAiB,WAC3B,OAAO,uBACK,mBAAmB,eAC3B,eAAe,uBACP,MAAM,EAAE,sBA8BhC,CAAC"}
1
+ {"version":3,"file":"exploreCompiler.d.ts","sourceRoot":"","sources":["../../../src/compiler/exploreCompiler.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,31 @@ import { getCategoriesFromResource, getSpotlightConfigurationForResource, } from
9
9
  import { getAvailableParameterNames, getAvailableParametersFromTables, getParameterReferences, getParameterReferencesFromSqlAndFormat, validateParameterNames, validateParameterReferences, } from './parameters';
10
10
  // exclude lightdash prefix from variable pattern
11
11
  export const lightdashVariablePattern = /\$\{((?!(lightdash|ld)\.)[a-zA-Z0-9_.]+)\}/g;
12
+ /**
13
+ * Regex pattern to detect SQL aggregation functions.
14
+ * Used to allow dimension references in non-aggregate metrics when
15
+ * the SQL itself contains an aggregation function (common Looker pattern).
16
+ *
17
+ * Matches: sum(, count(, avg(, etc. with word boundary to avoid false positives
18
+ * like "summary" matching "sum".
19
+ */
20
+ const SQL_AGGREGATION_FUNCTIONS_PATTERN = /\b(sum|count|avg|average|min|max|median|stddev|stddev_pop|stddev_samp|variance|var_pop|var_samp|percentile|percentile_cont|percentile_disc|count_distinct|approx_count_distinct|any_value|array_agg|string_agg|group_concat|listagg|corr|covar_pop|covar_samp|mode|approx_percentile)\s*\(/i;
21
+ /**
22
+ * Check if the SQL contains any aggregation functions.
23
+ *
24
+ * This is used to determine if a non-aggregate metric with dimension references
25
+ * should be allowed. In Looker, it's common to define metrics as type:number
26
+ * with aggregation functions in the SQL field. These are valid in Lightdash
27
+ * because the aggregation happens in the SQL itself.
28
+ *
29
+ * @param sql - The SQL expression to check
30
+ * @returns True if the SQL contains aggregation functions, false otherwise
31
+ */
32
+ export const sqlContainsAggregation = (sql) => {
33
+ if (!sql)
34
+ return false;
35
+ return SQL_AGGREGATION_FUNCTIONS_PATTERN.test(sql);
36
+ };
12
37
  export const getParsedReference = (ref, currentTable) => {
13
38
  // Reference to another dimension
14
39
  const split = ref.split('.');
@@ -408,10 +433,47 @@ export class ExploreCompiler {
408
433
  fieldType: 'metric',
409
434
  fieldName: metric.name,
410
435
  };
411
- const compiledReference = isNonAggregateMetric(metric) ||
412
- isPostCalculationMetric(metric)
413
- ? this.compileMetricReference(p1, tables, metric.table, availableParameters, fieldContext)
414
- : this.compileDimensionReference(p1, tables, metric.table, fieldContext);
436
+ // Determine how to resolve the reference:
437
+ // - Post-calculation metrics can ONLY reference other metrics
438
+ // - Non-aggregate metrics without aggregation can only reference other metrics
439
+ // - Non-aggregate metrics that have aggregation in their SQL can
440
+ // reference BOTH dimensions AND metrics (common Looker pattern like
441
+ // type:number with sql: "sum(${dim}) / ${metric}")
442
+ // - Aggregate metrics can only reference dimensions
443
+ const isNonAggregate = isNonAggregateMetric(metric);
444
+ const isPostCalc = isPostCalculationMetric(metric);
445
+ const hasAggregationInSql = isNonAggregate && sqlContainsAggregation(metric.sql);
446
+ // Check what type the reference is (dimension or metric)
447
+ const { refTable, refName } = getParsedReference(p1, metric.table);
448
+ const referencedTable = getReferencedTable(refTable, tables);
449
+ const isDimensionRef = referencedTable?.dimensions[refName] !== undefined;
450
+ const isMetricRef = referencedTable?.metrics[refName] !== undefined;
451
+ let compiledReference;
452
+ if (isPostCalc) {
453
+ // Post-calc metrics can ONLY reference other metrics
454
+ compiledReference = this.compileMetricReference(p1, tables, metric.table, availableParameters, fieldContext);
455
+ }
456
+ else if (isNonAggregate && !hasAggregationInSql) {
457
+ // Non-aggregate metrics without SQL aggregation can only reference metrics
458
+ compiledReference = this.compileMetricReference(p1, tables, metric.table, availableParameters, fieldContext);
459
+ }
460
+ else if (hasAggregationInSql) {
461
+ // Non-aggregate metrics WITH SQL aggregation can reference both
462
+ // dimensions and metrics - detect based on what the reference actually is
463
+ if (isDimensionRef) {
464
+ compiledReference = this.compileDimensionReference(p1, tables, metric.table, fieldContext);
465
+ }
466
+ else if (isMetricRef) {
467
+ compiledReference = this.compileMetricReference(p1, tables, metric.table, availableParameters, fieldContext);
468
+ }
469
+ else {
470
+ throw new CompileError(`Metric "${metric.name}" references "${p1}" which is neither a dimension nor a metric`, {});
471
+ }
472
+ }
473
+ else {
474
+ // Aggregate metrics can only reference dimensions
475
+ compiledReference = this.compileDimensionReference(p1, tables, metric.table, fieldContext);
476
+ }
415
477
  tablesReferences = new Set([
416
478
  ...tablesReferences,
417
479
  ...compiledReference.tablesReferences,
@@ -1 +1 @@
1
- {"version":3,"file":"exploreCompiler.js","sourceRoot":"","sources":["../../../src/compiler/exploreCompiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exploreCompiler.js","sourceRoot":"","sources":["../../../src/compiler/exploreCompiler.ts"],"names":[],"mappings":"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"}
@@ -44,6 +44,13 @@ export declare const joinedExploreWithJoinAliasAndSubsetOfFieldsThatDontIncludeS
44
44
  export declare const compiledJoinedExploreWithJoinAliasAndSubsetOfFieldsThatDontIncludeSqlFields: Explore;
45
45
  export declare const exploreWithMetricNumber: UncompiledExplore;
46
46
  export declare const exploreWithMetricNumberCompiled: Explore;
47
+ /**
48
+ * Test case for non-aggregate metric (type: NUMBER) that has an aggregation
49
+ * function in its SQL and references a dimension. This pattern is common in
50
+ * Looker where type:number measures have sql like "count(distinct ${user_id})".
51
+ */
52
+ export declare const exploreWithNonAggregateMetricWithAggregationInSql: UncompiledExplore;
53
+ export declare const exploreWithNonAggregateMetricWithAggregationInSqlCompiled: Explore;
47
54
  export declare const tablesWithMetricsWithFilters: Record<string, Table>;
48
55
  export declare const exploreWithRequiredAttributes: UncompiledExplore;
49
56
  export declare const exploreWithRequiredAttributesCompiled: Explore;
@@ -60,4 +67,11 @@ export declare const simpleJoinedExploreWithBaseTableDescription: UncompiledExpl
60
67
  export declare const compiledSimpleJoinedExploreWithBaseTableDescription: Explore;
61
68
  export declare const joinedExploreOverridingJoinDescription: UncompiledExplore;
62
69
  export declare const compiledJoinedExploreOverridingJoinDescription: Explore;
70
+ /**
71
+ * Test case for non-aggregate metric (type: NUMBER) that has aggregation
72
+ * in SQL and references BOTH dimensions AND metrics. This pattern is common
73
+ * in Looker where type:number measures have sql like "sum(${dim}) / ${metric}".
74
+ */
75
+ export declare const exploreWithMixedDimensionAndMetricReferences: UncompiledExplore;
76
+ export declare const exploreWithMixedDimensionAndMetricReferencesCompiled: Explore;
63
77
  //# sourceMappingURL=exploreCompiler.mock.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"exploreCompiler.mock.d.ts","sourceRoot":"","sources":["../../../src/compiler/exploreCompiler.mock.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exploreCompiler.mock.d.ts","sourceRoot":"","sources":["../../../src/compiler/exploreCompiler.mock.ts"],"names":[],"mappings":"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"}
@@ -23,12 +23,11 @@ export const warehouseClientMock = {
23
23
  pageCount: 0,
24
24
  rows: [],
25
25
  }),
26
- streamQuery: (_query, streamCallback) => {
27
- streamCallback({
26
+ streamQuery: async (_query, streamCallback) => {
27
+ await streamCallback({
28
28
  fields: {},
29
29
  rows: [],
30
30
  });
31
- return Promise.resolve();
32
31
  },
33
32
  executeAsyncQuery: async () => ({
34
33
  queryId: null,
@@ -1497,6 +1496,196 @@ export const exploreWithMetricNumberCompiled = {
1497
1496
  },
1498
1497
  },
1499
1498
  };
1499
+ /**
1500
+ * Test case for non-aggregate metric (type: NUMBER) that has an aggregation
1501
+ * function in its SQL and references a dimension. This pattern is common in
1502
+ * Looker where type:number measures have sql like "count(distinct ${user_id})".
1503
+ */
1504
+ export const exploreWithNonAggregateMetricWithAggregationInSql = {
1505
+ ...exploreBase,
1506
+ baseTable: 'events',
1507
+ spotlightConfig: DEFAULT_SPOTLIGHT_CONFIG,
1508
+ meta: {},
1509
+ tables: {
1510
+ events: {
1511
+ name: 'events',
1512
+ label: 'events',
1513
+ database: 'database',
1514
+ schema: 'schema',
1515
+ sqlTable: 'test.events',
1516
+ sqlWhere: undefined,
1517
+ dimensions: {
1518
+ user_id: {
1519
+ fieldType: FieldType.DIMENSION,
1520
+ type: DimensionType.STRING,
1521
+ name: 'user_id',
1522
+ label: 'user_id',
1523
+ table: 'events',
1524
+ tableLabel: 'events',
1525
+ sql: '${TABLE}.user_id',
1526
+ source: sourceMock,
1527
+ hidden: false,
1528
+ },
1529
+ amount: {
1530
+ fieldType: FieldType.DIMENSION,
1531
+ type: DimensionType.NUMBER,
1532
+ name: 'amount',
1533
+ label: 'amount',
1534
+ table: 'events',
1535
+ tableLabel: 'events',
1536
+ sql: '${TABLE}.amount',
1537
+ source: sourceMock,
1538
+ hidden: false,
1539
+ },
1540
+ status: {
1541
+ fieldType: FieldType.DIMENSION,
1542
+ type: DimensionType.STRING,
1543
+ name: 'status',
1544
+ label: 'status',
1545
+ table: 'events',
1546
+ tableLabel: 'events',
1547
+ sql: '${TABLE}.status',
1548
+ source: sourceMock,
1549
+ hidden: false,
1550
+ },
1551
+ },
1552
+ metrics: {
1553
+ // Non-aggregate (NUMBER) with count(distinct) - should allow dimension ref
1554
+ user_count: {
1555
+ fieldType: FieldType.METRIC,
1556
+ type: MetricType.NUMBER,
1557
+ name: 'user_count',
1558
+ label: 'user_count',
1559
+ table: 'events',
1560
+ tableLabel: 'events',
1561
+ sql: 'count(distinct ${user_id})',
1562
+ source: sourceMock,
1563
+ hidden: false,
1564
+ },
1565
+ // Non-aggregate (NUMBER) with stddev - should allow dimension ref
1566
+ amount_stddev: {
1567
+ fieldType: FieldType.METRIC,
1568
+ type: MetricType.NUMBER,
1569
+ name: 'amount_stddev',
1570
+ label: 'amount_stddev',
1571
+ table: 'events',
1572
+ tableLabel: 'events',
1573
+ sql: 'stddev(${amount})',
1574
+ source: sourceMock,
1575
+ hidden: false,
1576
+ },
1577
+ // Non-aggregate (NUMBER) with CASE containing aggregation
1578
+ conditional_count: {
1579
+ fieldType: FieldType.METRIC,
1580
+ type: MetricType.NUMBER,
1581
+ name: 'conditional_count',
1582
+ label: 'conditional_count',
1583
+ table: 'events',
1584
+ tableLabel: 'events',
1585
+ sql: "CASE WHEN ${status} = 'active' THEN count(distinct ${user_id}) ELSE 0 END",
1586
+ source: sourceMock,
1587
+ hidden: false,
1588
+ },
1589
+ // Non-aggregate (NUMBER) with COALESCE-wrapped aggregation
1590
+ safe_avg: {
1591
+ fieldType: FieldType.METRIC,
1592
+ type: MetricType.NUMBER,
1593
+ name: 'safe_avg',
1594
+ label: 'safe_avg',
1595
+ table: 'events',
1596
+ tableLabel: 'events',
1597
+ sql: 'COALESCE(avg(${amount}), 0)',
1598
+ source: sourceMock,
1599
+ hidden: false,
1600
+ },
1601
+ },
1602
+ lineageGraph: {},
1603
+ groupLabel: undefined,
1604
+ source: sourceMock,
1605
+ },
1606
+ },
1607
+ };
1608
+ export const exploreWithNonAggregateMetricWithAggregationInSqlCompiled = {
1609
+ name: exploreWithNonAggregateMetricWithAggregationInSql.name,
1610
+ label: exploreWithNonAggregateMetricWithAggregationInSql.label,
1611
+ baseTable: exploreWithNonAggregateMetricWithAggregationInSql.baseTable,
1612
+ tags: exploreWithNonAggregateMetricWithAggregationInSql.tags,
1613
+ targetDatabase: exploreWithNonAggregateMetricWithAggregationInSql.targetDatabase,
1614
+ warehouse: exploreWithNonAggregateMetricWithAggregationInSql.warehouse,
1615
+ ymlPath: exploreWithNonAggregateMetricWithAggregationInSql.ymlPath,
1616
+ sqlPath: exploreWithNonAggregateMetricWithAggregationInSql.sqlPath,
1617
+ groupLabel: exploreWithNonAggregateMetricWithAggregationInSql.groupLabel,
1618
+ databricksCompute: exploreWithNonAggregateMetricWithAggregationInSql.databricksCompute,
1619
+ spotlight: {
1620
+ visibility: 'show',
1621
+ categories: [],
1622
+ },
1623
+ joinedTables: [],
1624
+ tables: {
1625
+ events: {
1626
+ name: 'events',
1627
+ label: 'events',
1628
+ database: 'database',
1629
+ schema: 'schema',
1630
+ sqlTable: 'test.events',
1631
+ sqlWhere: undefined,
1632
+ uncompiledSqlWhere: undefined,
1633
+ dimensions: {
1634
+ user_id: {
1635
+ ...exploreWithNonAggregateMetricWithAggregationInSql
1636
+ .tables.events.dimensions.user_id,
1637
+ compiledSql: '"events".user_id',
1638
+ tablesReferences: ['events'],
1639
+ },
1640
+ amount: {
1641
+ ...exploreWithNonAggregateMetricWithAggregationInSql
1642
+ .tables.events.dimensions.amount,
1643
+ compiledSql: '"events".amount',
1644
+ tablesReferences: ['events'],
1645
+ },
1646
+ status: {
1647
+ ...exploreWithNonAggregateMetricWithAggregationInSql
1648
+ .tables.events.dimensions.status,
1649
+ compiledSql: '"events".status',
1650
+ tablesReferences: ['events'],
1651
+ },
1652
+ },
1653
+ metrics: {
1654
+ user_count: {
1655
+ ...exploreWithNonAggregateMetricWithAggregationInSql
1656
+ .tables.events.metrics.user_count,
1657
+ compiledSql: 'count(distinct ("events".user_id))',
1658
+ tablesReferences: ['events'],
1659
+ showUnderlyingValues: undefined,
1660
+ },
1661
+ amount_stddev: {
1662
+ ...exploreWithNonAggregateMetricWithAggregationInSql
1663
+ .tables.events.metrics.amount_stddev,
1664
+ compiledSql: 'stddev(("events".amount))',
1665
+ tablesReferences: ['events'],
1666
+ showUnderlyingValues: undefined,
1667
+ },
1668
+ conditional_count: {
1669
+ ...exploreWithNonAggregateMetricWithAggregationInSql
1670
+ .tables.events.metrics.conditional_count,
1671
+ compiledSql: `CASE WHEN ("events".status) = 'active' THEN count(distinct ("events".user_id)) ELSE 0 END`,
1672
+ tablesReferences: ['events'],
1673
+ showUnderlyingValues: undefined,
1674
+ },
1675
+ safe_avg: {
1676
+ ...exploreWithNonAggregateMetricWithAggregationInSql
1677
+ .tables.events.metrics.safe_avg,
1678
+ compiledSql: 'COALESCE(avg(("events".amount)), 0)',
1679
+ tablesReferences: ['events'],
1680
+ showUnderlyingValues: undefined,
1681
+ },
1682
+ },
1683
+ lineageGraph: {},
1684
+ groupLabel: undefined,
1685
+ source: sourceMock,
1686
+ },
1687
+ },
1688
+ };
1500
1689
  export const tablesWithMetricsWithFilters = {
1501
1690
  table1: {
1502
1691
  name: 'table1',
@@ -2064,4 +2253,141 @@ export const compiledJoinedExploreOverridingJoinDescription = {
2064
2253
  },
2065
2254
  },
2066
2255
  };
2256
+ /**
2257
+ * Test case for non-aggregate metric (type: NUMBER) that has aggregation
2258
+ * in SQL and references BOTH dimensions AND metrics. This pattern is common
2259
+ * in Looker where type:number measures have sql like "sum(${dim}) / ${metric}".
2260
+ */
2261
+ export const exploreWithMixedDimensionAndMetricReferences = {
2262
+ ...exploreBase,
2263
+ baseTable: 'events',
2264
+ spotlightConfig: DEFAULT_SPOTLIGHT_CONFIG,
2265
+ meta: {},
2266
+ tables: {
2267
+ events: {
2268
+ name: 'events',
2269
+ label: 'events',
2270
+ database: 'database',
2271
+ schema: 'schema',
2272
+ sqlTable: 'test.events',
2273
+ sqlWhere: undefined,
2274
+ dimensions: {
2275
+ user_id: {
2276
+ fieldType: FieldType.DIMENSION,
2277
+ type: DimensionType.STRING,
2278
+ name: 'user_id',
2279
+ label: 'user_id',
2280
+ table: 'events',
2281
+ tableLabel: 'events',
2282
+ sql: '${TABLE}.user_id',
2283
+ source: sourceMock,
2284
+ hidden: false,
2285
+ },
2286
+ amount: {
2287
+ fieldType: FieldType.DIMENSION,
2288
+ type: DimensionType.NUMBER,
2289
+ name: 'amount',
2290
+ label: 'amount',
2291
+ table: 'events',
2292
+ tableLabel: 'events',
2293
+ sql: '${TABLE}.amount',
2294
+ source: sourceMock,
2295
+ hidden: false,
2296
+ },
2297
+ },
2298
+ metrics: {
2299
+ // Non-aggregate (NUMBER) metric with aggregation in SQL (Looker pattern)
2300
+ user_count: {
2301
+ fieldType: FieldType.METRIC,
2302
+ type: MetricType.NUMBER,
2303
+ name: 'user_count',
2304
+ label: 'user_count',
2305
+ table: 'events',
2306
+ tableLabel: 'events',
2307
+ sql: 'count(distinct ${user_id})',
2308
+ source: sourceMock,
2309
+ hidden: false,
2310
+ },
2311
+ // Non-aggregate (NUMBER) with BOTH dimension AND metric references
2312
+ // This pattern is: sum(${dim}) / ${metric}
2313
+ amount_per_user: {
2314
+ fieldType: FieldType.METRIC,
2315
+ type: MetricType.NUMBER,
2316
+ name: 'amount_per_user',
2317
+ label: 'amount_per_user',
2318
+ table: 'events',
2319
+ tableLabel: 'events',
2320
+ sql: 'sum(${amount}) / NULLIF(${user_count}, 0)',
2321
+ source: sourceMock,
2322
+ hidden: false,
2323
+ },
2324
+ },
2325
+ lineageGraph: {},
2326
+ groupLabel: undefined,
2327
+ source: sourceMock,
2328
+ },
2329
+ },
2330
+ };
2331
+ export const exploreWithMixedDimensionAndMetricReferencesCompiled = {
2332
+ name: exploreWithMixedDimensionAndMetricReferences.name,
2333
+ label: exploreWithMixedDimensionAndMetricReferences.label,
2334
+ baseTable: exploreWithMixedDimensionAndMetricReferences.baseTable,
2335
+ tags: exploreWithMixedDimensionAndMetricReferences.tags,
2336
+ targetDatabase: exploreWithMixedDimensionAndMetricReferences.targetDatabase,
2337
+ warehouse: exploreWithMixedDimensionAndMetricReferences.warehouse,
2338
+ ymlPath: exploreWithMixedDimensionAndMetricReferences.ymlPath,
2339
+ sqlPath: exploreWithMixedDimensionAndMetricReferences.sqlPath,
2340
+ groupLabel: exploreWithMixedDimensionAndMetricReferences.groupLabel,
2341
+ databricksCompute: exploreWithMixedDimensionAndMetricReferences.databricksCompute,
2342
+ spotlight: {
2343
+ visibility: 'show',
2344
+ categories: [],
2345
+ },
2346
+ joinedTables: [],
2347
+ tables: {
2348
+ events: {
2349
+ name: 'events',
2350
+ label: 'events',
2351
+ database: 'database',
2352
+ schema: 'schema',
2353
+ sqlTable: 'test.events',
2354
+ sqlWhere: undefined,
2355
+ uncompiledSqlWhere: undefined,
2356
+ dimensions: {
2357
+ user_id: {
2358
+ ...exploreWithMixedDimensionAndMetricReferences.tables
2359
+ .events.dimensions.user_id,
2360
+ compiledSql: '"events".user_id',
2361
+ tablesReferences: ['events'],
2362
+ },
2363
+ amount: {
2364
+ ...exploreWithMixedDimensionAndMetricReferences.tables
2365
+ .events.dimensions.amount,
2366
+ compiledSql: '"events".amount',
2367
+ tablesReferences: ['events'],
2368
+ },
2369
+ },
2370
+ metrics: {
2371
+ user_count: {
2372
+ ...exploreWithMixedDimensionAndMetricReferences.tables
2373
+ .events.metrics.user_count,
2374
+ compiledSql: 'count(distinct ("events".user_id))',
2375
+ tablesReferences: ['events'],
2376
+ showUnderlyingValues: undefined,
2377
+ },
2378
+ amount_per_user: {
2379
+ ...exploreWithMixedDimensionAndMetricReferences.tables
2380
+ .events.metrics.amount_per_user,
2381
+ // amount is a dimension, user_count is a metric
2382
+ compiledSql: 'sum(("events".amount)) / NULLIF((count(distinct ("events".user_id))), 0)',
2383
+ tablesReferences: ['events'],
2384
+ showUnderlyingValues: undefined,
2385
+ },
2386
+ },
2387
+ lineageGraph: {},
2388
+ groupLabel: undefined,
2389
+ source: sourceMock,
2390
+ },
2391
+ },
2392
+ };
2067
2393
  //# sourceMappingURL=exploreCompiler.mock.js.map