Multiple error messages when opening a dashboard

Hello I am new here, so I hope I came to the right place!

When I open a dashboard I get multiple error logs that I don’t understand. Can someone point me to the cause or a possible solution ?

I use Metabase with MySQL sending raw queries to a SQL server database.
The dashboard has multiple field, date and text filters.

09-12 09:43:28 e[1mERROR models.paramse[0m :: Could not find matching Field ID for target: [:dimension [:template-tag date]]
clojure.lang.ExceptionInfo: Input to field-clause->id-or-literal does not match schema:

         e[0;33m  [(named (named (not (some-matching-condition? nil)) "Must be a valid instance of one of these clauses: :field-id, :field-literal, :joined-field, :fk->, :datetime-field, :expression, :binning-strategy") clause)] e[0m

 {:type :schema.core/error, :schema [#schema.core.One{:schema (recursive (var metabase.mbql.schema/Field*)), :optional? false, :name clause}], :value [nil], :error [(named (named (not (some-matching-condition? nil)) "Must be a valid instance of one of these clauses: :field-id, :field-literal, :joined-field, :fk->, :datetime-field, :expression, :binning-strategy") clause)]}
        at metabase.mbql.util$fn__21379$field_clause__GT_id_or_literal__21384.invoke(util.clj:321)
        at metabase.models.params$fn__26288$field_form__GT_id__26293$fn__26294.invoke(params.clj:29)
        at metabase.models.params$fn__26288$field_form__GT_id__26293.invoke(params.clj:21)
        at metabase.models.params$param_target__GT_field_id.invokeStatic(params.clj:66)
        at metabase.models.params$param_target__GT_field_id.invoke(params.clj:59)
        at metabase.models.params$dashboard__GT_parameter_mapping_field_ids$iter__26372__26378$fn__26379$iter__26374__26380$fn__26381$fn__26382.invoke(params.clj:176)
        at metabase.models.params$dashboard__GT_parameter_mapping_field_ids$iter__26372__26378$fn__26379$iter__26374__26380$fn__26381.invoke(params.clj:174)
        at clojure.lang.LazySeq.sval(LazySeq.java:42)
        at clojure.lang.LazySeq.seq(LazySeq.java:51)
        at clojure.lang.RT.seq(RT.java:535)
        at clojure.core$seq__5402.invokeStatic(core.clj:137)
        at clojure.core$seq__5402.invoke(core.clj:137)
        at metabase.models.params$dashboard__GT_parameter_mapping_field_ids$iter__26372__26378$fn__26379.invoke(params.clj:174)
        at clojure.lang.LazySeq.sval(LazySeq.java:42)
        at clojure.lang.LazySeq.seq(LazySeq.java:58)
        at clojure.lang.ChunkedCons.chunkedNext(ChunkedCons.java:59)
        at clojure.core$chunk_next.invokeStatic(core.clj:708)
        at clojure.core$reduce1.invokeStatic(core.clj:942)
        at clojure.core$set.invokeStatic(core.clj:4113)
        at clojure.core$set.invoke(core.clj:4105)
        at metabase.models.params$dashboard__GT_parameter_mapping_field_ids.invokeStatic(params.clj:179)
        at metabase.models.params$dashboard__GT_parameter_mapping_field_ids.invoke(params.clj:170)
        at metabase.models.params$dashboard__GT_param_field_ids.invokeStatic(params.clj:198)
        at metabase.models.params$dashboard__GT_param_field_ids.invoke(params.clj:192)
        at metabase.api.public$check_field_is_referenced_by_dashboard.invokeStatic(public.clj:332)
        at metabase.api.public$check_field_is_referenced_by_dashboard.invoke(public.clj:328)
        at metabase.api.public$dashboard_and_field_id__GT_values.invokeStatic(public.clj:352)
        at metabase.api.public$dashboard_and_field_id__GT_values.invoke(public.clj:348)
        at metabase.api.embed$fn__53170.invokeStatic(embed.clj:388)
        at metabase.api.embed$fn__53170.invoke(embed.clj:382)
        at compojure.core$wrap_response$fn__1973.invoke(core.clj:160)
        at compojure.core$wrap_route_middleware$fn__1957.invoke(core.clj:132)
        at compojure.core$wrap_route_info$fn__1962.invoke(core.clj:139)
        at compojure.core$wrap_route_matches$fn__1966.invoke(core.clj:151)
        at compojure.core$routes$fn__1985$f__1986.invoke(core.clj:198)
        at compojure.core$routes$fn__1985.invoke(core.clj:200)
        at metabase.middleware.exceptions$message_only_exceptions$fn__64056.invoke(exceptions.clj:34)
        at compojure.core$routes$fn__1985$f__1986.invoke(core.clj:198)
        at compojure.core$routes$fn__1985.invoke(core.clj:200)
        at compojure.core$make_context$handler__2013.invoke(core.clj:287)
        at compojure.core$make_context$fn__2015.invoke(core.clj:296)
        at compojure.core$routes$fn__1985$f__1986.invoke(core.clj:198)
        at compojure.core$routes$fn__1985$f__1986$respond_SINGLEQUOTE___1987.invoke(core.clj:197)
        at compojure.core$make_context$fn__2015.invoke(core.clj:297)
        at compojure.core$routes$fn__1985$f__1986.invoke(core.clj:198)
        at compojure.core$routes$fn__1985$f__1986$respond_SINGLEQUOTE___1987.invoke(core.clj:197)
        at compojure.core$make_context$fn__2015.invoke(core.clj:297)
        at compojure.core$routes$fn__1985$f__1986.invoke(core.clj:198)
        at compojure.core$routes$fn__1985$f__1986$respond_SINGLEQUOTE___1987.invoke(core.clj:197)
        at compojure.core$make_context$fn__2015.invoke(core.clj:297)
        at compojure.core$routes$fn__1985$f__1986.invoke(core.clj:198)
        at compojure.core$routes$fn__1985$f__1986$respond_SINGLEQUOTE___1987.invoke(core.clj:197)
        at compojure.core$make_context$fn__2015.invoke(core.clj:297)
        at compojure.core$routes$fn__1985$f__1986.invoke(core.clj:198)
        at compojure.core$routes$fn__1985$f__1986$respond_SINGLEQUOTE___1987.invoke(core.clj:197)
        at compojure.core$make_context$fn__2015.invoke(core.clj:297)
        at compojure.core$routes$fn__1985$f__1986.invoke(core.clj:198)
        at compojure.core$routes$fn__1985$f__1986$respond_SINGLEQUOTE___1987.invoke(core.clj:197)
        at compojure.core$make_context$fn__2015.invoke(core.clj:297)
        at compojure.core$routes$fn__1985$f__1986.invoke(core.clj:198)
        at compojure.core$routes$fn__1985$f__1986$respond_SINGLEQUOTE___1987.invoke(core.clj:197)
        at compojure.core$make_context$fn__2015.invoke(core.clj:297)
        at compojure.core$routes$fn__1985$f__1986.invoke(core.clj:198)
        at compojure.core$routes$fn__1985$f__1986$respond_SINGLEQUOTE___1987.invoke(core.clj:197)
        at compojure.core$make_context$fn__2015.invoke(core.clj:297)
        at compojure.core$routes$fn__1985$f__1986.invoke(core.clj:198)
        at compojure.core$routes$fn__1985$f__1986$respond_SINGLEQUOTE___1987.invoke(core.clj:197)
        at compojure.core$make_context$fn__2015.invoke(core.clj:297)
        at compojure.core$routes$fn__1985$f__1986.invoke(core.clj:198)
        at compojure.core$routes$fn__1985.invoke(core.clj:200)
        at clojure.lang.AFn.applyToHelper(AFn.java:160)
        at clojure.lang.AFn.applyTo(AFn.java:144)
        at clojure.core$apply.invokeStatic(core.clj:665)
        at clojure.core$apply.invoke(core.clj:660)
        at metabase.routes$fn__65132$fn__65133.doInvoke(routes.clj:56)
        at clojure.lang.RestFn.invoke(RestFn.java:436)
        at compojure.core$routes$fn__1985$f__1986.invoke(core.clj:198)
        at compojure.core$routes$fn__1985.invoke(core.clj:200)
        at compojure.core$make_context$handler__2013.invoke(core.clj:287)
        at compojure.core$make_context$fn__2015.invoke(core.clj:296)
        at compojure.core$routes$fn__1985$f__1986.invoke(core.clj:198)
        at compojure.core$routes$fn__1985$f__1986$respond_SINGLEQUOTE___1987.invoke(core.clj:197)
        at compojure.core$wrap_route_matches$fn__1966.invoke(core.clj:152)
        at compojure.core$routes$fn__1985$f__1986.invoke(core.clj:198)
        at compojure.core$routes$fn__1985$f__1986$respond_SINGLEQUOTE___1987.invoke(core.clj:197)
        at compojure.core$wrap_route_matches$fn__1966.invoke(core.clj:152)
        at compojure.core$routes$fn__1985$f__1986.invoke(core.clj:198)
        at compojure.core$routes$fn__1985$f__1986$respond_SINGLEQUOTE___1987.invoke(core.clj:197)
        at compojure.core$wrap_route_matches$fn__1966.invoke(core.clj:152)
        at compojure.core$routes$fn__1985$f__1986.invoke(core.clj:198)
        at compojure.core$routes$fn__1985.invoke(core.clj:200)
        at metabase.middleware.exceptions$catch_uncaught_exceptions$fn__64081.invoke(exceptions.clj:104)
        at metabase.middleware.exceptions$catch_api_exceptions$fn__64078.invoke(exceptions.clj:92)
        at metabase.middleware.log$log_api_call$fn__65506$fn__65507.invoke(log.clj:170)
        at toucan.db$_do_with_call_counting.invokeStatic(db.clj:202)
        at toucan.db$_do_with_call_counting.invoke(db.clj:195)
        at metabase.middleware.log$log_api_call$fn__65506.invoke(log.clj:164)
        at metabase.middleware.security$add_security_headers$fn__64044.invoke(security.clj:128)
        at metabase.middleware.json$wrap_json_body$fn__65211.invoke(json.clj:61)
        at metabase.middleware.json$wrap_streamed_json_response$fn__65229.invoke(json.clj:97)
        at ring.middleware.keyword_params$wrap_keyword_params$fn__65739.invoke(keyword_params.clj:55)
        at ring.middleware.params$wrap_params$fn__65787.invoke(params.clj:69)
        at metabase.middleware.session$bind_current_user$fn__61966$fn__61967.invoke(session.clj:193)
        at metabase.middleware.session$do_with_current_user.invokeStatic(session.clj:177)
        at metabase.middleware.session$do_with_current_user.invoke(session.clj:170)
        at metabase.middleware.session$bind_current_user$fn__61966.invoke(session.clj:192)
        at metabase.middleware.session$wrap_current_user_id$fn__61955.invoke(session.clj:161)
        at metabase.middleware.session$wrap_session_id$fn__61940.invoke(session.clj:123)
        at metabase.middleware.auth$wrap_api_key$fn__63990.invoke(auth.clj:27)
        at metabase.middleware.misc$maybe_set_site_url$fn__65533.invoke(misc.clj:56)
        at metabase.middleware.misc$bind_user_locale$fn__65536.invoke(misc.clj:72)
        at ring.middleware.cookies$wrap_cookies$fn__65659.invoke(cookies.clj:177)
        at metabase.middleware.misc$add_content_type$fn__65521.invoke(misc.clj:28)
        at metabase.middleware.misc$disable_streaming_buffering$fn__65544.invoke(misc.clj:87)
        at ring.middleware.gzip$wrap_gzip$fn__65701.invoke(gzip.clj:86)
        at ring.adapter.jetty$async_proxy_handler$fn__65307.invoke(jetty.clj:35)
        at ring.adapter.jetty.proxy$org.eclipse.jetty.server.handler.AbstractHandler$ff19274a.handle(Unknown Source)
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
        at org.eclipse.jetty.server.Server.handle(Server.java:502)
        at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:370)
        at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:267)
        at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
        at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
        at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117)
        at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
        at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
        at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
        at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
        at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
        at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
        at java.lang.Thread.run(Unknown Source)

 e[0;33m  {:name (not ("Non-blank string" "")), :display_name (not ("Non-blank string" ""))} e[0m


 ("--> sync.analyze.query_results$fn__43730$stored_column_metadata__GT_result_column_metadata__43735.invoke(query_results.clj:53)"
 "sync.analyze.query_results$results__GT_column_metadata$iter__43775__43779$fn__43780.invoke(query_results.clj:87)"
 "sync.analyze.query_results$add_insights$iter__43748__43752$fn__43753.invoke(query_results.clj:65)"
 "sync.analyze.query_results$add_insights.invokeStatic(query_results.clj:65)"
 "sync.analyze.query_results$add_insights.invoke(query_results.clj:60)"
 "sync.analyze.query_results$results__GT_column_metadata.invokeStatic(query_results.clj:88)"
 "sync.analyze.query_results$results__GT_column_metadata.invoke(query_results.clj:81)"
 "query_processor.middleware.results_metadata$record_and_return_metadata_BANG_$fn__43800.invoke(results_metadata.clj:91)"
 "query_processor.middleware.format_rows$format_rows$fn__37960.invoke(format_rows.clj:26)"
 "query_processor.middleware.add_dimension_projections$add_remapping$fn__34824.invoke(add_dimension_projections.clj:232)"
 "query_processor.middleware.add_source_metadata$add_source_metadata_for_source_queries$fn__35443.invoke(add_source_metadata.clj:107)"
 "query_processor.middleware.resolve_source_table$resolve_source_tables$fn__41084.invoke(resolve_source_table.clj:46)"
 "query_processor.middleware.add_row_count_and_status$add_row_count_and_status$fn__35303.invoke(add_row_count_and_status.clj:16)"
 "query_processor.middleware.driver_specific$process_query_in_context$fn__37447.invoke(driver_specific.clj:12)"
 "query_processor.middleware.resolve_driver$resolve_driver$fn__40698.invoke(resolve_driver.clj:22)"
 "query_processor.middleware.bind_effective_timezone$bind_effective_timezone$fn__36638$fn__36639.invoke(bind_effective_timezone.clj:9)"
 "util.date$call_with_effective_timezone.invokeStatic(date.clj:88)"
 "util.date$call_with_effective_timezone.invoke(date.clj:77)"
 "query_processor.middleware.bind_effective_timezone$bind_effective_timezone$fn__36638.invoke(bind_effective_timezone.clj:8)"
 "query_processor.middleware.store$initialize_store$fn__43825$fn__43826.invoke(store.clj:11)"
 "query_processor.store$do_with_store.invokeStatic(store.clj:46)"
 "query_processor.store$do_with_store.invoke(store.clj:40)"
 "query_processor.middleware.store$initialize_store$fn__43825.invoke(store.clj:10)"
 "query_processor.middleware.async$async__GT_sync$fn__33976.invoke(async.clj:23)"
 "query_processor.middleware.async_wait$runnable$fn__36366.invoke(async_wait.clj:89)")

Hi @susman
Which version of Metabase?

As for "Non-blank string"
Some databases (like MSSQL) returns blank names for unaliased aggregations (like COUNT(*)), which Metabase doesn’t like, since it cannot distinguish between different columns. But since Metabase 0.33, a lot has changed with how columns gets named, so this shouldn’t be an issue.
You can safely ignore that error - or rewrite all your queries to use aliases for columns.

As for Could not find matching Field ID for target
I’m not quite sure what’s going on, but it looks like your might have a Field Filter in one of the questions, which is called {{date}}, but it’s referencing a non-existing field.

@flamber

Thank you for the quick reply and the hints. I am running version 0.33.0.
I have a optional field filter called date ( a date filter) , but it works and is linked to the existing fields.

Could that be some data model issue ?

I just checked and the database type is date and not datetime, could that be the issue ?

@susman
It could have something to do with a mismatched type in the Data Model, I’m not quite sure why it’s complaining.
You want the database column type and the Metabase Field Type to match as much as possible (with very few exceptions).

Try playing around with it. Make sure to make a backup of your metadata before messing too much.

I would probably try to figure out if the error actually comes from that specific question - make a duplicate of the dashboard and remove all cards one-by-one (while saving in between), and then check the log.
And you might want to try to re-create the question, since it could be a bad reference at some point.

Do some trial-and-error - but don’t spend too much time, since like you say, everything is working, it’s just annoying spam in the log.

I think i was able to track down the problem Could not find matching Field ID for target.

I had a question for which I set a variable and linked it to a database filed over the GUI.
After removing the variable in the code lateron, there still seems to be some kind of link to the field.

1 Like

@susman
You might want to check the metadata table report_card and see if some of the columns of that question still contains references to that field - even after you’ve removed it.
If it does, then it seems like a bug and it would be great if you could give steps-to-reproduce, so it could be fixed.