Giter VIP home page Giter VIP logo

metabase / metabase Goto Github PK

View Code? Open in Web Editor NEW
36.6K 641.0 4.9K 537.49 MB

The simplest, fastest way to get business intelligence and analytics to everyone in your company :yum:

Home Page: https://metabase.com

License: Other

JavaScript 18.84% Clojure 50.73% HTML 0.01% CSS 0.21% Emacs Lisp 0.01% Shell 0.06% Dockerfile 0.01% Mustache 0.08% TypeScript 29.66% MDX 0.37%
analytics businessintelligence dashboard reporting slack clojure database metabase postgres postgresql

metabase's Issues

chart tooltips are rounding values

I noticed this on a card where the values are all from 1.0 to 0.0 and the chart is working fine, but the tooltip shows a rounded integer value instead of the original number in the data.

better handling for cards when their underlying database is deleted

if you add a database, create some cards against it, then delete the database the cards remain in a defunct state. we should figure out a more graceful way to deal with this scenario and possible 1) delete the cards or 2) show some better messaging about why they aren't working any more.

issue with mongo connection state

this came out of the logs but it's not entirely clear what triggered it. I believe it happened as part of the sync process.

java.lang.IllegalStateException: open
at org.bson.util.Assertions.isTrue(Assertions.java:36)
at com.mongodb.DBTCPConnector.getReplicaSetStatus(DBTCPConnector.java:361)
at com.mongodb.Mongo.getReplicaSetStatus(Mongo.java:446)
at com.mongodb.DB.getCommandReadPreference(DB.java:82)
at com.mongodb.DB.command(DB.java:317)
at com.mongodb.DB.command(DB.java:299)
at com.mongodb.DB.command(DB.java:374)
at com.mongodb.DB.command(DB.java:246)
at monger.core$command.invoke(core.clj:183)
at monger.collection$aggregate.invoke(collection.clj:498)
at clojure.core$eval37504.invoke(NO_SOURCE_FILE)
at clojure.lang.Compiler.eval(Compiler.java:6703)
at clojure.lang.Compiler.eval(Compiler.java:6666)
at clojure.core$eval.invoke(core.clj:2927)
at metabase.driver.mongo.query_processor$process_and_run$f__32758__auto____33362.invoke(query_processor.clj:47)
at metabase.driver.mongo.query_processor$process_and_run.invoke(query_processor.clj:39)
at metabase.driver.mongo.MongoDriver.process_query(mongo.clj:69)
at metabase.driver$process_query$fn__30094.invoke(driver.clj:132)
at metabase.driver$process_query.invoke(driver.clj:131)
at metabase.db.metadata_queries$field_query.invoke(metadata_queries.clj:14)
at metabase.db.metadata_queries$field_distinct_values.invoke(metadata_queries.clj:21)
at clojure.lang.Var.invoke(Var.java:379)
at clojure.lang.AFn.applyToHelper(AFn.java:154)
at clojure.lang.Var.applyTo(Var.java:700)
at clojure.core$apply.invoke(core.clj:624)
at metabase.util$runtime_resolved_fn$fn__6690.doInvoke(util.clj:233)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at metabase.models.field_values$create_field_values.doInvoke(field_values.clj:51)
at clojure.lang.RestFn.invoke(RestFn.java:423)
at metabase.models.field_values$create_field_values_if_needed.doInvoke(field_values.clj:64)
at clojure.lang.RestFn.invoke(RestFn.java:410)
at metabase.models.field$eval14593$fn__14595$fn__14597.invoke(field.clj:122)
at clojure.core$binding_conveyor_fn$fn__4145.invoke(core.clj:1910)
at clojure.lang.AFn.call(AFn.java:18)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)

time series randomly showing month tick

can be confusing and only happens with most recent month, it looks like. occurs in prod and staging

(February '15 shows as a tick which looks like Feb 15th when data is the beginning of month) also would be great to have the OPTION to show the points

also, the line gets weirdly thin at the end of the graph.

Need a way to minimize duplication when using icons between react and angular

So it's cool that we have less duplication between our react icons in the query builder thanks to #425, but there's also the itchy fact that we're currently using the same icon set across react and angular and the path definitions, classnames, etc reside in different places.

I'm thinking it'd be a good idea at some point to try and unify the source of truth for the icon paths and then we can use them in either context.

My current thinking is that we could stuff them into a global icon paths object for now (or a module if we stop partying like its 1999)

var MB_ICON_PATHS = {
   // icon paths
}

In icons.react.js we'd just switch the reference from

/* old this.iconPaths[this.props.name] */
var iconPath = MB_ICON_PATHS[this.props.name]

This would then allow us to clean up our angular icon directive quite a bit and could get rid of the need to have separate angular directives and partials for our icons.

Here's the general gist of the pseudo code for that directive.

angular.module('corvus.components').directive('icon', function () {
  return {
   restrict: 'E',
   templateUrl: 'icon.html'
   scope: {
     name: '@',
     width: '@?',
     height; '@?',
   },
   compile: function (element, attrs) {
      var defaultWidth = '32px',
            defaultHeight = '32px';

       attrs.path = MB_ICON_PATHS[attrs.name]

        attrs.width = attrs.width || defaultWidth;
        attrs.height = attrs.height || defaultHeight;
  }
})

this would also drastically reduce the number of XHR requests in angular land when using icons.

Note that none of that is really a big priority but it'd be nice to do to keep my life sane as we continue to edit and add icons and use them in two contexts.

@salsakran, @agilliland, @tlrobinson what do you guys think?

URL-ify categories of questions on the home page

right now "popular", "mine', and "favorites" are just state a page holds.
If they were actual routes, the history would be set and the back button would work, you could pass the link around, etc

remove field values that are no longer available in the db

Over time the set of values that are available for a given Field can change and in specific some values can go away. We should recognize this situation and remove a FieldValue entry if that value is no longer in the data.

An example recently is the Metabase 'timeseries' type display. The metadata for the field report_card.display contained FieldValues for all the charting options that were in use such as 'area', 'line', etc. When we migrated away from 'timeseries' there were no longer any rows with that value and yet it still remained a FieldValue and showed up in lists for filtering and breakouts on that table.

Enable the ability to switch from gui to sql after running a question

once you start down building a card and run it, there's no way to change to sql without starting over. This is most problematic if you just need to do something more advanced on a card and it's already properly placed on a dash. Makes more sense to be able to write sql for the same card.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.