   (when-let [dimension (:dimension tag)]
     (if-let [field-id (dimension->field-id dimension)]
       (db/select-one [Field :name :parent_id :table_id], :id field-id)
-      (println "TODO - Handle non-Field-ID dimension:" dimension))))
+      (throw (Exception. (str "Don't know how to handle dimension: " dimension))))))
 
 (defn- default-value-for-tag [{:keys [default display_name required]}]
   (or default

    :dimension value))

(defn- value-for-tag [tag params]
  (parse-value-for-type (:type tag) (or (u/prog1 (param-value-for-tag tag params)
                                          (when <>
                                            (println "param-value-for-tag" <>)))
                                        (u/prog1 (dimension-value-for-tag tag)
                                          (when <>
                                            (println "dimension-value-for-tag" (u/pprint-to-str <>))))
                                        (default-value-for-tag tag))))

(defn- query->params-map [{tags :template_tags, params :parameters}]

  (let [k (keyword param)
        _ (assert (contains? params k)
            (format "Unable to substitute '%s': param not specified." param))
        v (->sql (k params))]
    (s/replace-first s match v)))

(defn- handle-simple [s params]
