Hey there! I am testing Cube with Metabase as described here. Not quite sure where the issues really are, in Metabase or Cube. Have defined cubes (basically tables) and views (basically metrics) in Cube and synced to Metabase:
Both cubes and views have been "materialized" as tables in Databases, I can run a query and get results. But cube views should not be visible in Metabase Metrics?
We don't officially support Cube, so if they have some sort of nonstandard Postgres setup with limited permissions over the information schema, then that's probably breaking Metabase's usual sync query for discovering the fields (when you click Sync from Admin Options > Databases, it should show an error in Troubleshooting > Logs).
In their docs they mention this Semantic Layer Sync which should sync the model with this custom tool. Did you use that in this setup?
Hmm, it looks like Semantic Layer Sync is what needed for Cube to match entities. Nope, I used SQL API instead because Cube does not support SQL API for authentication, asks for username+password
When it comes to the error message I got in Metabase, yeah, I should have attached logs :
[e1d8f777-ecd9-4fd2-96ed-88b5cba7b921] 2025-06-23T13:27:09+02:00 ERROR metabase.query-permissions.impl ,clojure.lang.ExceptionInfo: Error calculating permissions for query {:query {:database 7, :type :query, :query {:source-table 2701}}}, at metabase.query_permissions.impl$legacy_mbql_required_perms.invokeStatic(impl.clj:200), at metabase.query_permissions.impl$legacy_mbql_required_perms.invoke(impl.clj:178), at metabase.query_permissions.impl$required_perms_for_query.invokeStatic(impl.clj:227), at metabase.query_permissions.impl$required_perms_for_query.doInvoke(impl.clj:218), at clojure.lang.RestFn.invoke(RestFn.java:413), at metabase.query_permissions.impl$can_run_query_QMARK_76657__76659.invokeStatic(impl.clj:331), at metabase.query_permissions.impl$can_run_query_QMARK_76657__76659.invoke(impl.clj:327), at metabase.query_permissions.impl$can_query_table_QMARK_76668__76669.invokeStatic(impl.clj:346), at metabase.query_permissions.impl$can_query_table_QMARK_76668__76669.invoke(impl.clj:342), at metabase.view_log.events.view_log$publish_event_BANG__primary_method_metabase_view_log_events_view_log_table_read.invokeStatic(view_log.clj:212), at metabase.view_log.events.view_log$publish_event_BANG__primary_method_metabase_view_log_events_view_log_table_read.invoke(view_log.clj:199), at methodical.util.FnWithMeta.invoke(util.clj:46), at methodical.impl.combo.operator$invoke_fn$fn__20023.invoke(operator.clj:69), at methodical.impl.combo.operator$fn__20044$fn__20045$fn__20046.invoke(operator.clj:112), at clojure.core$comp$fn__5895.invoke(core.clj:2587), at metabase.events.impl$publish_event_BANG__around_method_default$fn__43547.invoke(impl.clj:109), at metabase.events.impl$publish_event_BANG__around_method_default.invokeStatic(impl.clj:106), at metabase.events.impl$publish_event_BANG__around_method_default.invoke(impl.clj:91), at methodical.impl.combo.common$partial_STAR_$fn__19908.invoke(common.clj:12)
[e1d8f777-ecd9-4fd2-96ed-88b5cba7b921] 2025-06-23T13:27:10+02:00 ERROR metabase.query-processor.middleware.catch-exceptions Error processing query: No fields found for table "total_orders_yearly".
{:database_id 7,
:parameterized false,
:started_at #t "2025-06-23T11:27:09.587460293Z[GMT]",
:via
[{:status :failed,
:class clojure.lang.ExceptionInfo,
:error
"Error preprocessing query in clojure.lang.AFunction$1@47cc8727: No fields found for table \"total_orders_yearly\".",
:stacktrace
["--> query_processor.preprocess$preprocess80082__80083$fn__80084$fn__80085.invoke(preprocess.clj:181)"
"query_processor.preprocess$preprocess80082__80083$fn__80084.invoke(preprocess.clj:154)"
"query_processor.setup$do_with_qp_setup77195__77196.invokeStatic(setup.clj:225)"
"query_processor.setup$do_with_qp_setup77195__77196.invoke(setup.clj:216)"
"query_processor.preprocess$preprocess80082__80083.invokeStatic(preprocess.clj:152)"
"query_processor.preprocess$preprocess80082__80083.invoke(preprocess.clj:148)"
"query_processor$process_query_STAR__STAR_.invokeStatic(query_processor.clj:47)"
"query_processor$process_query_STAR__STAR_.invoke(query_processor.clj:45)"
"query_processor.middleware.enterprise$fn__76942$handle_audit_app_internal_queries__76943$fn__76945.invoke(enterprise.clj:135)"
"query_processor.middleware.enterprise$handle_audit_app_internal_queries_middleware$fn__76953.invoke(enterprise.clj:142)"
"query_processor.middleware.process_userland_query$process_userland_query_middleware85893__85894$fn__85895.invoke(process_userland_query.clj:177)"
"query_processor.middleware.catch_exceptions$catch_exceptions85958__85959$fn__85960.invoke(catch_exceptions.clj:135)"
"query_processor$process_query85999__86000$fn__86001.invoke(query_processor.clj:81)"
"query_processor.setup$do_with_canceled_chan77190__77191$fn__77192.invoke(setup.clj:187)"
"query_processor.setup$do_with_database_local_settings77183__77184$fn__77185.invoke(setup.clj:181)"
"query_processor.setup$do_with_driver77176__77177$fn__77178$fn__77179.invoke(setup.clj:166)"
"driver$do_with_driver.invokeStatic(driver.clj:48)"
"driver$do_with_driver.invoke(driver.clj:43)"
"query_processor.setup$do_with_driver77176__77177$fn__77178.invoke(setup.clj:165)"
"query_processor.setup$do_with_metadata_provider77167__77168$fn__77169$fn__77172.invoke(setup.clj:151)"
"query_processor.store$do_with_metadata_provider53934__53935.invokeStatic(store.clj:169)"
"query_processor.store$do_with_metadata_provider53934__53935.invoke(store.clj:155)"
"query_processor.store$do_with_metadata_provider53934__53935.invokeStatic(store.clj:162)"
"query_processor.store$do_with_metadata_provider53934__53935.invoke(store.clj:155)"
"query_processor.setup$do_with_metadata_provider77167__77168$fn__77169.invoke(setup.clj:150)"
"query_processor.setup$do_with_resolved_database77157__77158$fn__77159.invoke(setup.clj:128)"
"query_processor.setup$do_with_qp_setup77195__77196.invokeStatic(setup.clj:232)"
"query_processor.setup$do_with_qp_setup77195__77196.invoke(setup.clj:216)"
"query_processor$process_query85999__86000.invokeStatic(query_processor.clj:79)"
"query_processor$process_query85999__86000.invoke(query_processor.clj:72)"
"query_processor.api$run_streaming_query93224__93227$fn__93231.invoke(api.clj:91)"
"query_processor.streaming$_streaming_response$fn__91267$fn__91268$fn__91269.invoke(streaming.clj:185)"
"query_processor.streaming$_streaming_response$fn__91267$fn__91268.invoke(streaming.clj:183)"
"query_processor.streaming$do_with_streaming_rff.invokeStatic(streaming.clj:174)"
"query_processor.streaming$do_with_streaming_rff.invoke(streaming.clj:161)"
"query_processor.streaming$_streaming_response$fn__91267.invoke(streaming.clj:180)"
"server.streaming_response$do_f_STAR_.invokeStatic(streaming_response.clj:79)"
"server.streaming_response$do_f_STAR_.invoke(streaming_response.clj:77)"
"server.streaming_response$do_f_async$task__89174.invoke(streaming_response.clj:94)"],
:error_type :q...