| No pre-aggregates defined | The explore has no pre-aggregates configured. | Add a pre_aggregates block to your dbt model. |
| Dimension not in pre-aggregate | The query includes a dimension not covered by any pre-aggregate. | Add the missing dimension to your pre-aggregate’s dimensions list. |
| Metric not in pre-aggregate | The query includes a metric not covered by any pre-aggregate. | Add the missing metric to your pre-aggregate’s metrics list. |
| Filter dimension not in pre-aggregate | A filter references a dimension not in the pre-aggregate. | Add the filter dimension to the dimensions list — even if it’s only used for filtering, not grouping. |
| Pre-aggregate filter not satisfied | The pre-aggregate definition includes a static filter, but the query is missing it or uses a broader/incompatible filter. | Add the matching filter to the query, narrow the query filter, or create another pre-aggregate for that query pattern. |
| Non-additive metric | The query includes a metric type that can’t be re-aggregated (for example, count_distinct or median). | This metric type is not supported. See supported metric types. |
| Custom SQL metric | A metric uses a custom SQL expression. | Custom SQL metrics are not supported by pre-aggregates. |
| Granularity too fine | The query requests a finer time granularity than the pre-aggregate provides (for example, hour on a day pre-aggregate). | Either lower the pre-aggregate’s granularity or accept the warehouse query for this use case. |
| Custom dimension present | The query uses a custom dimension. | Custom dimensions are not supported by pre-aggregates. |
| Custom metric present | The query uses a custom metric. | Custom metrics are not supported by pre-aggregates. |
| Table calculation present | The query includes table calculations. | Table calculations are not supported by pre-aggregates. |
| User bypass | The user explicitly bypassed the pre-aggregate cache. | No action needed — this is intentional. |