Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Chart display issue for some queries #57

Closed
madalincm opened this issue Mar 21, 2017 · 3 comments
Closed

Chart display issue for some queries #57

madalincm opened this issue Mar 21, 2017 · 3 comments
Assignees
Labels
Milestone

Comments

@madalincm
Copy link

madalincm commented Mar 21, 2017

Issue Summary:

Build identifier: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0
Window 7 64 Bit

Steps to Reproduce:

  1. Open the following query: https://sql.telemetry.mozilla.org/queries/2054#3731
  2. Hover over the chart and observe the value displayed for the 3rd and the 4th bars

Expected results:

The size of the bar is proportional with its value.

Actual results:

The bar having a value of 14.301k is having the same size as the one with value of 1.

Notes/Issues:

Verified in FF52(Win7). Issue can be reproduced in STMO-production.
Screencast for this issue:
querychartdisplayissue

@madalincm madalincm added the bug label Mar 21, 2017
@madalincm madalincm changed the title Chart display issue for some querys Chart display issue for some queries Mar 21, 2017
@rafrombrc rafrombrc added this to the 4 milestone Mar 22, 2017
@rafrombrc rafrombrc modified the milestones: 5, 4 Apr 13, 2017
@alison985
Copy link

Here's a fork showing the chart if they did a groupby and stacked it: https://sql.telemetry.mozilla.org/queries/4880/source#9978

The issue here is there are 3 column and it seems to be auto-grouping by the x-axis field and not recognizing the version distinction by default.

@alison985
Copy link

On my local test case, it should look like:
Screenshot 2017-06-20 12.25.48.png
but when I remove the groupby column it looks like this:
Screenshot 2017-06-20 12.27.08.png
Notice that the "query" column is shorter in the second picture, because unlike the production test case it is only grabbing 1 of the multiple values for query in the underlying table instead of grouping them. However, this is also an error because it falsely misrepresents the action_count of "query" as too low by discarding records.

There are a couple of paths to resolution as I see it:

  1. a) allow for multiple columns to be selected into the X axis form field so distinctions are made and more columns show up on the graph to represent all result rows and b) if there are more than 2 dimensions in a query auto-add the non-used dimensions to an "ignore column" form field/configuration value.
  2. Default stacking to enabled so people have to opt-out of seeing the distinctions should this case occur. (User error prone.)
  3. Start showing the user warnings on graph configurations that don't make sense. For instance: related to Display issue for long info displayed on the x-axis of a chart #58 {pseudocode} if x-axis label height > 50 then show warning to edit x-axis height field {/pseudocode}, related to this ticket: {pseudocode} if 2 or more dimensions then show warning to alter query to 2 columns or add group by and enable stacking {/pseudocode}
  4. Figure out a way to stop the x-axis labels from being limited to occurring in the list of values only once.
  5. something else I haven't thought of yet

The argument for option #3 in my opinion is:
i) Teaches users more about the chart edit options available to them as a side effect while correcting for the issue.
ii) The code should be much easier/faster to write because it's "detect this and display a warning" as opposed to "find this case and handle it and its related cases gracefully". Also reduces the possibility of finding future unaccounted for edge case bugs.
iii) Sets a foundation for giving additional warnings and best practice information on charts to users in the future. (i.e. "You probably really don't want a pie chart.", etc.)

@alison985 alison985 self-assigned this Jun 20, 2017
@rafrombrc rafrombrc modified the milestones: 6, 5 Jun 21, 2017
alison985 added a commit to alison985/mozilla-redash that referenced this issue Jun 22, 2017
mozilla#57

I tried to make
`JSON.stringify(this.visualization.options.columnMapping)` a variable
to avoid repeating it, but if I make it a `let` the linter throws an
error and if I make it a `const` then it doesn’t change with the UI and
the logic doesn’t work. :(
@alison985
Copy link

Error and warnings for this ticket implemented in PR #91. I left the issue from #58 alone because it's way harder.

alison985 added a commit to alison985/mozilla-redash that referenced this issue Jul 14, 2017
mozilla#57

I tried to make
`JSON.stringify(this.visualization.options.columnMapping)` a variable
to avoid repeating it, but if I make it a `let` the linter throws an
error and if I make it a `const` then it doesn’t change with the UI and
the logic doesn’t work. :(
washort pushed a commit that referenced this issue Dec 12, 2017
I tried to make
`JSON.stringify(this.visualization.options.columnMapping)` a variable
to avoid repeating it, but if I make it a `let` the linter throws an
error and if I make it a `const` then it doesn’t change with the UI and
the logic doesn’t work. :(

updated based on PR comments
washort pushed a commit that referenced this issue Dec 12, 2017
I tried to make
`JSON.stringify(this.visualization.options.columnMapping)` a variable
to avoid repeating it, but if I make it a `let` the linter throws an
error and if I make it a `const` then it doesn’t change with the UI and
the logic doesn’t work. :(

updated based on PR comments
washort pushed a commit that referenced this issue Dec 13, 2017
#57

I tried to make
`JSON.stringify(this.visualization.options.columnMapping)` a variable
to avoid repeating it, but if I make it a `let` the linter throws an
error and if I make it a `const` then it doesn’t change with the UI and
the logic doesn’t work. :(
washort pushed a commit that referenced this issue Jan 8, 2018
I tried to make
`JSON.stringify(this.visualization.options.columnMapping)` a variable
to avoid repeating it, but if I make it a `let` the linter throws an
error and if I make it a `const` then it doesn’t change with the UI and
the logic doesn’t work. :(

updated based on PR comments
washort pushed a commit that referenced this issue Jan 17, 2018
I tried to make
`JSON.stringify(this.visualization.options.columnMapping)` a variable
to avoid repeating it, but if I make it a `let` the linter throws an
error and if I make it a `const` then it doesn’t change with the UI and
the logic doesn’t work. :(

updated based on PR comments
washort pushed a commit that referenced this issue Feb 6, 2018
I tried to make
`JSON.stringify(this.visualization.options.columnMapping)` a variable
to avoid repeating it, but if I make it a `let` the linter throws an
error and if I make it a `const` then it doesn’t change with the UI and
the logic doesn’t work. :(

updated based on PR comments
washort pushed a commit that referenced this issue Feb 28, 2018
I tried to make
`JSON.stringify(this.visualization.options.columnMapping)` a variable
to avoid repeating it, but if I make it a `let` the linter throws an
error and if I make it a `const` then it doesn’t change with the UI and
the logic doesn’t work. :(

updated based on PR comments
jezdez pushed a commit that referenced this issue Mar 5, 2018
I tried to make
`JSON.stringify(this.visualization.options.columnMapping)` a variable
to avoid repeating it, but if I make it a `let` the linter throws an
error and if I make it a `const` then it doesn’t change with the UI and
the logic doesn’t work. :(

updated based on PR comments
emtwo pushed a commit that referenced this issue May 25, 2018
I tried to make
`JSON.stringify(this.visualization.options.columnMapping)` a variable
to avoid repeating it, but if I make it a `let` the linter throws an
error and if I make it a `const` then it doesn’t change with the UI and
the logic doesn’t work. :(

updated based on PR comments
washort pushed a commit that referenced this issue Jul 25, 2018
I tried to make
`JSON.stringify(this.visualization.options.columnMapping)` a variable
to avoid repeating it, but if I make it a `let` the linter throws an
error and if I make it a `const` then it doesn’t change with the UI and
the logic doesn’t work. :(

updated based on PR comments
jezdez pushed a commit that referenced this issue Aug 16, 2018
I tried to make
`JSON.stringify(this.visualization.options.columnMapping)` a variable
to avoid repeating it, but if I make it a `let` the linter throws an
error and if I make it a `const` then it doesn’t change with the UI and
the logic doesn’t work. :(

updated based on PR comments
jezdez pushed a commit that referenced this issue Sep 6, 2018
I tried to make
`JSON.stringify(this.visualization.options.columnMapping)` a variable
to avoid repeating it, but if I make it a `let` the linter throws an
error and if I make it a `const` then it doesn’t change with the UI and
the logic doesn’t work. :(

updated based on PR comments
jezdez pushed a commit that referenced this issue Nov 1, 2018
I tried to make
`JSON.stringify(this.visualization.options.columnMapping)` a variable
to avoid repeating it, but if I make it a `let` the linter throws an
error and if I make it a `const` then it doesn’t change with the UI and
the logic doesn’t work. :(

updated based on PR comments
jezdez pushed a commit that referenced this issue Dec 12, 2018
I tried to make
`JSON.stringify(this.visualization.options.columnMapping)` a variable
to avoid repeating it, but if I make it a `let` the linter throws an
error and if I make it a `const` then it doesn’t change with the UI and
the logic doesn’t work. :(

updated based on PR comments
jezdez pushed a commit that referenced this issue Dec 17, 2018
I tried to make
`JSON.stringify(this.visualization.options.columnMapping)` a variable
to avoid repeating it, but if I make it a `let` the linter throws an
error and if I make it a `const` then it doesn’t change with the UI and
the logic doesn’t work. :(

updated based on PR comments
jezdez pushed a commit that referenced this issue Dec 19, 2018
I tried to make
`JSON.stringify(this.visualization.options.columnMapping)` a variable
to avoid repeating it, but if I make it a `let` the linter throws an
error and if I make it a `const` then it doesn’t change with the UI and
the logic doesn’t work. :(

updated based on PR comments
jezdez pushed a commit that referenced this issue Jan 25, 2019
I tried to make
`JSON.stringify(this.visualization.options.columnMapping)` a variable
to avoid repeating it, but if I make it a `let` the linter throws an
error and if I make it a `const` then it doesn’t change with the UI and
the logic doesn’t work. :(

updated based on PR comments
wlach pushed a commit to wlach/redash that referenced this issue Jun 23, 2023
Update boto3 and botocore dependencies
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants