metabase / metabase Goto Github PK
View Code? Open in Web Editor NEWThe simplest, fastest way to get business intelligence and analytics to everyone in your company :yum:
Home Page: https://metabase.com
License: Other
The simplest, fastest way to get business intelligence and analytics to everyone in your company :yum:
Home Page: https://metabase.com
License: Other
It's pretty sad looking right now.
When there are multiple ForeignKey records with the same origin field and destination field, the endpoint returns a 500.
For example:
{
"database": 7,
"type": "query",
"query": {
"source_table": 269,
"aggregation": [
"rows"
],
"breakout": [
],
"filter": [
"AND",
[
"=",
2073,
1
],
[
null,
2075,
null
]
]
}
}
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.
User Story: As an administrator I often need to see the exact email address of a user account so that I can verify where emails are being sent as well as what users should be logging in with.
It looks fine if I exclude the where statement which is strange...
At the risk of "putting the paper clip in" and then "taking the paperclip out" it is very annoying to find a saved question in the operator instance.
Titles are often inconsistent and it's hard to get a sense of what a given card has in it.
So when someone goes to the QB and hits "back" they return to the same screen
this happens.
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.
you can see the layering of the details is below the top of the card. an example of this in the picture attached...the data information from hovering is seen at the edge of the card
when a session expires, the next api call triggers a redirect to the login page, like
http://localhost:8005/accounts/login/?next=/example/admin/datasets/2/dependents
the angular side router doesn't seem to have a route for this, and it stays on the same page for me.
right now we have a couple different ways we present loading indicators. On a dashboard card we just have "Loading..." in text. In the query builder itself, we show an animated SVG spinner.
Sometimes multiple time series render and sometimes they don't on SQL backed cards that create two time series. from @RebekahHsieh
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?
Just noticing that on a time series, the point for say 2/8 is not actually aligned with the 2/8 tick. See screenshot below
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)
Seeing this on bare rows.
Pack is a decimal field but is being sorted lexically
When we can't connect to a DB we display an error meant for us and not for the user. Who is the postmaster and why would he accept TCP/IP connections. Does he have my mail, etc? Is he in fact just the headless horseman?
Can't scroll horizontally
We should show the same sort of error we do elsewhere in the site, rather than just an unstyled stack trace.
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.
try to filter on "createdAt" and the filters don't throw up a datepicker
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.
Pin charts were not working on a table w/ a latitude and a longitude column.
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.
In going over operator's cards, it's very difficult to know what cards are stale and which are still valid
see http://plnkr.co/edit/K7jS5A?p=preview for example of this bug. When floating is enabled in angular-gridster, on page re-load the vertical ordering of the boxes is changed. This is a bug in angular-gridster. If we want to use the floating feature, this bug should be fixed.
This is leftover from when "we didn't have a homepage" now that we do we should consider redirecting there instead of settings.
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
In trying to fill out metadata for Drip, it's very difficult to just remember what certain fields contain. It's cumbersome to have to open up another window with the table in question.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.