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

[missing values] Reverting replacing missing values with zeros #4905

Merged
merged 1 commit into from
Mar 21, 2019

Conversation

john-bodley
Copy link
Member

Apologies for not having full context of this code but from a numerical standpoint replacing missing values with zero (or other values) is rarely ever a good idea as this leads to inaccuracies which surely violates the core tenant of a data analysis tool. Note Pandas (implicitly) and Numpy (explicitly) correctly handle missing values, e.g. mean and nanmean respectively.

This PR is still WIP as I've only remedied a couple of the visualization types and still to add a number of unit tests to ensure numerical correctness with missing values. I felt there was merit in sharing this now in order for me to better understand the context of replacing missing values and potential corner cases I need to be aware of.

For context here's a few examples were replacing missing values with 0 leads to incorrect results:

Time-series (current):

screen shot 2018-04-28 at 5 14 28 pm

Time-series (proposed):

screen shot 2018-04-28 at 5 14 56 pm

Box-plot (current):

screen shot 2018-04-28 at 5 09 27 pm

Box-plot (proposed):

screen shot 2018-04-28 at 5 09 54 pm

Closes #3603

to: @jeffreythewang @mistercrunch @williaster @xrmx

@codecov-io
Copy link

codecov-io commented Apr 29, 2018

Codecov Report

Merging #4905 into master will decrease coverage by 8.69%.
The diff coverage is n/a.

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #4905      +/-   ##
==========================================
- Coverage   64.46%   55.77%    -8.7%     
==========================================
  Files         421      344      -77     
  Lines       20537     9924   -10613     
  Branches     2247     2245       -2     
==========================================
- Hits        13240     5535    -7705     
+ Misses       7170     4262    -2908     
  Partials      127      127
Impacted Files Coverage Δ
superset/assets/src/explore/controls.jsx 42.4% <ø> (ø) ⬆️
superset/assets/src/components/EditableTitle.jsx 77.14% <0%> (-4.4%) ⬇️
...t/assets/src/dashboard/reducers/getInitialState.js 0% <0%> (ø) ⬆️
.../src/dashboard/components/gridComponents/Chart.jsx 69.73% <0%> (ø) ⬆️
...uperset/assets/src/SqlLab/components/SqlEditor.jsx 57.44% <0%> (ø) ⬆️
...et/assets/src/dashboard/components/SliceHeader.jsx 24% <0%> (ø) ⬆️
...set/assets/src/dashboard/actions/dashboardState.js 15% <0%> (ø) ⬆️
superset/assets/src/dashboard/containers/Chart.jsx 90.9% <0%> (ø) ⬆️
.../assets/src/SqlLab/components/TabbedSqlEditors.jsx 83.17% <0%> (ø) ⬆️
... and 78 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update c7ffdd6...4511846. Read the comment docs.

@williaster
Copy link
Contributor

🙌 why was filling nulls with 0s ever introduced?

"""Returns the value for use as filler for a specific Column.type"""
if col:
if col.is_string:
return ' NULL'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think @xrmx added some of this logic. null-labeled series creates issues on some visualizations. I believe the leading space has to do with sorting NULL first. We may want to reuse some of the logic I added recently around filtering that replaces None by <NULL> and empty stings by <empty string>. This should only be applied to dimensions / strings. Note that it applies only to string columns, thus not "zerofying" NULL values.

I'm pretty sure that removing this will break many charts.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mistercrunch the ' NULL' (with a leading space) is somewhat misleading and is inconsistent with SQL Lab which reports NULL (or missing values) as null. On an unrelated note SQL Lab doesn't seem to sort NULL values correctly and it would be good to ensure that NULL values are rendered/sorted consistency throughout the application.

@@ -961,7 +936,6 @@ def as_floats(field):
return d

def get_data(self, df):
df = df.fillna(0)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are we sure that this particular visualization handles null nicely?

@mistercrunch
Copy link
Member

Some visualizations may not handle NULL properly, I'd double check that they do prior to pushing this.

@john-bodley
Copy link
Member Author

john-bodley commented Apr 30, 2018

@mistercrunch this PR is very much WIP as I need to go through each visualization type and update the logic were necessary. At the moment I've only taken a pass at the box-plot visualization.

The reason I put this PR out was to gain more context (like your comment around ' NULL') to better understand what the logic should be and what tests I should write.

I think there is merit in having consistency between how data in rendered in SQL Lab and slices, i.e., there are inconsistencies here where SQL Lab reports null and slices report NULL (with a leading whitespace which messes with alignment).

@mistercrunch
Copy link
Member

Glad you're taking this on! I've had some conversations with @betodealmeida about sorting some of this out.

I'm taking a tangent here thinking about NULL handling in time series. Users may want or expect a set of behaviors:

  • break the line, restart it on the other side (highcharts does this I think)
  • replace with 0
  • link the line across both sides of the null

Option 1 is arguably the best visual representation of what is happening, but as far as I know NVD3 doesn't do this well (maybe it didn't in the past but does now...)

Option 2 makes it pretty clear that data is missing, though clearly NULL is not zero and that's somewhat wrong and ugly (steep diagonals)

Option 3 is misleading, especially in the absence of markers, you may care and never know that data is missing.

Recently we introduced ISO notation to db_engine_specs concept of time grain, which means Superset now knows about the time granularity. This can help us to time resampling and doing proper handling of missing values eventually. Eventually we could have a control section "Handling NULLs" this and offering all the needed options.

@williaster
Copy link
Contributor

I think that option 1 above is the best^ it's super misleading to have nulls replaced with 0s, and if you interpolate between nulls (ie connect them with a line) I think it's just as misleading. users should be able to make the connection between the line segments interrupted by nulls using line color.

@DavidJHassan
Copy link
Contributor

DavidJHassan commented May 31, 2018

Any progress on this update? Any work arounds to get the "proposed" results seen above?
This is my one and only issue with Superset and would be ecstatic if it was corrected.

More Examples using Line Chart and Table View:

This makes graphs look awful when the data suddenly drops to 0 because of NULLS.
When looking at financial data in a table view it is misleading to 0 instead of NULL. Especially when dealing with prices, sales, etc.

image

The below row in a table view only contains data in the first estimate column. The other columns are NULL but displays 0's.

image

@john-bodley
Copy link
Member Author

@DavidHassan apologies for the delay in responding. This is definitely still on my radar though my time has been focused on other Superset related projects of recent. I do hope to address this some time in June. I need to go through and test all the various chart types and ensure they correctly handle the NULL values.

@DavidJHassan
Copy link
Contributor

@john-bodley thank you for taking the time to work on this issue.

@john-bodley john-bodley force-pushed the john-bodley-fix-fillna branch 3 times, most recently from addcaf4 to e8af8bc Compare January 4, 2019 03:21
@DavidJHassan
Copy link
Contributor

This issue seemed to be resolved for table views in 0.27; However, it is back again in 0.29.rc07.

@john-bodley john-bodley force-pushed the john-bodley-fix-fillna branch 5 times, most recently from 0ffa4e1 to afbfa4f Compare March 13, 2019 20:26
@john-bodley
Copy link
Member Author

john-bodley commented Mar 13, 2019

Here is an update using a toy time-series data set which contains missing value and has the following specific features:

  1. There is missing values at the beginning of the time-series.
  2. There is missing values at the end of the time-series.
  3. There are missing values resulting in a single siloed data point as well as adjacent data points.

For context the data set is defined as:

sql-lab-preview

Bellow are examples of the current and proposed charts. Additionally I tested other chart types which could have been potentially impacted by this change.

Line Chart (current)

line-chart-current

Line Chart (proposed)

line-chart-proposed

Note that there is an issue with the NDV3 line chart where the siloed data point does not render other than when one hovers over it. This issue will be fixed with the data-ui toolkit.

Pie Chart (current)

pie-chart-current

Pie Chart (proposed)

pie-chart-proposed

Note there is no change here, though the code has been changed to ensure that the NULL values are not dropped in the pivot-table. Internally there was some debate whether this was the right approach, but I sense i) it ensures consistency with other charts, and ii) it accurately represents the underly result set, i.e., it informs the user that a dimension exists however the value is either zero of undefined.

Bar Chart (current)

bar-chart-current

Bar Chart (proposed)

bar-chart-proposed

Note this remains unchanged like the Pie Chart and ensures consistency in terms of defining either zero or undefined values.

Pivot Table (current)

pivot-table-current

Pivot Table (proposed)

pivot-table-proposed

Note there seems to be an issue with any value other than an empty string being rendered as NaN. The current code uses an empty string as the na_rep for pandas.DataFrame.to_html which is inconsistent with the Table visualization type. Additionally I explicitly made Pandas behave like SQL where the summation of only NULLs returns NULL.

to: @kristw @michellethomas @mistercrunch @williaster

@john-bodley john-bodley changed the title [wip][missing values] Removing replacing missing values [missing values] Removing replacing missing values Mar 13, 2019
@john-bodley john-bodley force-pushed the john-bodley-fix-fillna branch 2 times, most recently from b95c473 to 7573888 Compare March 13, 2019 23:18
@john-bodley john-bodley changed the title [missing values] Removing replacing missing values [missing values] Reverting replacing missing values with zeros Mar 13, 2019
@michellethomas
Copy link
Contributor

Sounds good to follow up on max's earlier comments about whether null labeled series creates issues on some visualizations but otherwise this lgtm.

# find the closest value above the lower outer limit
series = series[series >= lower_outer_lim]
return series[np.abs(series - lower_outer_lim).argmin()]
return series[series >= lower_outer_lim].min()
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Per Wikipedia there are several representations of the whiskers, including the common Tukey boxplot,

The lowest datum still within 1.5 IQR of the lower quartile, and the highest datum still within 1.5 IQR of the upper quartile.

The definition above is the same as the more complex argmin approach and doesn't require a second lookup. The resulting value is in agreement with the definition above.

@kristw
Copy link
Contributor

kristw commented Mar 19, 2019

The proposed changes LGTM. I can add a patch to the pivot_table to handle string 'null' to avoid formatting as NaN.

Have you tried passing null to box plot and see if it breaks anything?

@@ -1350,7 +1350,7 @@ export const controls = {
'mean',
'min',
'max',
'stdev',
'std',
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note stdev is not a valid Pandas function.

@mistercrunch
Copy link
Member

Happy to see this getting fixed. 🔥

@john-bodley john-bodley merged commit 61add60 into apache:master Mar 21, 2019
@john-bodley john-bodley deleted the john-bodley-fix-fillna branch March 21, 2019 00:14
xtinec pushed a commit that referenced this pull request Mar 21, 2019
xtinec pushed a commit that referenced this pull request Apr 2, 2019
* Sparkline dates aren't formatting in Time Series Table (#6976)

* Exclude venv for python linter to ignore

* Fix NaN error

* Fix the white background shown in SQL editor on drag (#7021)

This PR sets the background-color css property on `.ace_scroller` instead of `.ace_content` to prevent the white background shown during resizing of the SQL editor before drag ends.

* Show tooltip with time frame (#6979)

* Fix time filter control (#6978)

* Enhancement of query context and object. (#6962)

* added more functionalities for query context and object.

* fixed cache logic

* added default value for groupby

* updated comments and removed print

(cherry picked from commit d5b9795)

* [fix] /superset/slice/id url is too long (#6989)


(cherry picked from commit 6a4d507)

* [WIP] fix user specified JSON metadata not updating dashboard on refresh (#7027)


(cherry picked from commit cc58f0e)

* feat: add ability to change font size in big number (#7003)

* Add ability to change font sizes in Big Number

* rename big number to header

* Add comment to clarify font size values

* Allow LIMIT to be specified in parameters (#7052)

* [fix] Cursor jumping when editing chart and dashboard titles (#7038)


(cherry picked from commit fc1770f)

* Changing time table viz to pass formatTime a date (#7020)

(cherry picked from commit 7f3c145)

* [db-engine-spec] Aligning Hive/Presto partition logic (#7007)


(cherry picked from commit 05be866)

* [fix] explore chart from dashboard missed slice title (#7046)


(cherry picked from commit a6d48d4)

* fix inaccurate data calculation with adata rolling and contribution (#7035)


(cherry picked from commit 0782e83)

* Adding warning message for sqllab save query (#7028)


(cherry picked from commit ead3d48)

* [datasource] Ensuring consistent behavior of datasource editing/saving. (#7037)

* Update datasource.py

* Update datasource.py

(cherry picked from commit c771625)

* [csv-upload] Fixing message encoding (#6971)


(cherry picked from commit 48431ab)

* [sql-parse] Fixing LIMIT exceptions (#6963)


(cherry picked from commit 3e076cb)

* Adding custom control overrides (#6956)

* Adding extraOverrides to line chart

* Updating extraOverrides to fit with more cases

* Moving extraOverrides to index.js

* Removing webpack-merge in package.json

* Fixing metrics control clearing metric

(cherry picked from commit e619405)

* [sqlparse] Fixing table name extraction for ill-defined query (#7029)


(cherry picked from commit 07c340c)

* [missing values] Removing replacing missing values (#4905)


(cherry picked from commit 61add60)

* [SQL Lab] Improved query and results tabs rendering reliability (#7082)

closes #7080

(cherry picked from commit 9b58e9f)

* Fix filter_box migration PR #6523 (#7066)

* Fix filter_box migration PR #6523

* Fix druid-related bug

(cherry picked from commit b210742)

* SQL editor layout makeover (#7102)

This PR includes the following layout and css tweaks:
- Using flex to layout the north and south sub panes of query pane so resizing works properly in both Chrome and Firefox
- Removal of necessary wrapper divs and tweaking of css in sql lab so we can scroll to the bottom of both the table list and the results pane
- Make sql lab's content not overflow vertically and layout the query result area to eliminate double scroll bars
- css tweaks on the basic.html page so the loading animation appears in the center of the page across the board

(cherry picked from commit 71f1bbd)

* [forms] Fix handling of NULLs

(cherry picked from commit e83a07d)

* handle null column_name in sqla and druid models

(cherry picked from commit 2ff721a)

* Use metric name instead of metric in filter box (#7106)


(cherry picked from commit 003364e)

* Bump python lib croniter to an existing version (#7132)

Package maintainers should really never delete packages, but it appears
this happened with croniter and resulted in breaking our builds.

This PR bumps to a more recent existing version of the library

(cherry picked from commit 215ed39)

* Revert PR #6933 (#7162)

* [bugfix] SQL Lab 'Filter Results' doesn't stick (#7104)

When using a "Search Results" criteria, the subset of rows that match
the criteria get displayed. While this the filter is applied, if another
query is run, the filter is still active, but not displayed in the input
text box. After this change, the state of the input box sticks after
subsequent queries.

(cherry picked from commit d5e8d66)

* Injectable statsd client (#7138)

* Add ability to inject statsd client; some py test/reqs updates

- Updated the metrics logger to allow construction with an existing
statsd client, so that it can be configured by external systems or libs.
- added requirements to requirements-dev.txt which are needed to run
  tests-eg coverage, nose
- removed dependency on mock lib, it is in python stdlib now
- updated tox.ini to remove the now-superfluous deps

* add license to test file, and remove blank line at EOF

(cherry picked from commit ba19a62)

* [Lyft-GA] Enable color consistency in a dashboard (#7135)

* Enable color consistency in a dashboard

Moved actions, minor UI, allowed dashboard copy

Fix linting errors

Undo unintentional change

Updated and added unit tests

Fail quietly if package has not been updated

Fail quietly on dashboard copy if package is old

* Update packages

* Remove unnecessary code

* Addressed Grace's comments

* Small fix for item key

* Reset chart's color during exploration

* Do not reset chart form data when exploring chart

* Fix double scroll bars when content of sql result table overflows horizontally (#7168)

The PR substracts the scrollbar height from the height of the container of the react virtualized table so we don't see double scrollbars.

(cherry picked from commit 7ffcabd)

* Change number format default

* Use smart formatter instead

* fix merge issues

* Use SMART_NUMBER
xtinec pushed a commit that referenced this pull request Apr 2, 2019
* Sparkline dates aren't formatting in Time Series Table (#6976)

* Exclude venv for python linter to ignore

* Fix NaN error

* Fix the white background shown in SQL editor on drag (#7021)

This PR sets the background-color css property on `.ace_scroller` instead of `.ace_content` to prevent the white background shown during resizing of the SQL editor before drag ends.

* Show tooltip with time frame (#6979)

* Fix time filter control (#6978)

* Enhancement of query context and object. (#6962)

* added more functionalities for query context and object.

* fixed cache logic

* added default value for groupby

* updated comments and removed print

(cherry picked from commit d5b9795)

* [fix] /superset/slice/id url is too long (#6989)


(cherry picked from commit 6a4d507)

* [WIP] fix user specified JSON metadata not updating dashboard on refresh (#7027)


(cherry picked from commit cc58f0e)

* feat: add ability to change font size in big number (#7003)

* Add ability to change font sizes in Big Number

* rename big number to header

* Add comment to clarify font size values

* Allow LIMIT to be specified in parameters (#7052)

* [fix] Cursor jumping when editing chart and dashboard titles (#7038)


(cherry picked from commit fc1770f)

* Changing time table viz to pass formatTime a date (#7020)

(cherry picked from commit 7f3c145)

* [db-engine-spec] Aligning Hive/Presto partition logic (#7007)


(cherry picked from commit 05be866)

* [fix] explore chart from dashboard missed slice title (#7046)


(cherry picked from commit a6d48d4)

* fix inaccurate data calculation with adata rolling and contribution (#7035)


(cherry picked from commit 0782e83)

* Adding warning message for sqllab save query (#7028)


(cherry picked from commit ead3d48)

* [datasource] Ensuring consistent behavior of datasource editing/saving. (#7037)

* Update datasource.py

* Update datasource.py

(cherry picked from commit c771625)

* [csv-upload] Fixing message encoding (#6971)


(cherry picked from commit 48431ab)

* [sql-parse] Fixing LIMIT exceptions (#6963)


(cherry picked from commit 3e076cb)

* Adding custom control overrides (#6956)

* Adding extraOverrides to line chart

* Updating extraOverrides to fit with more cases

* Moving extraOverrides to index.js

* Removing webpack-merge in package.json

* Fixing metrics control clearing metric

(cherry picked from commit e619405)

* [sqlparse] Fixing table name extraction for ill-defined query (#7029)


(cherry picked from commit 07c340c)

* [missing values] Removing replacing missing values (#4905)


(cherry picked from commit 61add60)

* [SQL Lab] Improved query and results tabs rendering reliability (#7082)

closes #7080

(cherry picked from commit 9b58e9f)

* Fix filter_box migration PR #6523 (#7066)

* Fix filter_box migration PR #6523

* Fix druid-related bug

(cherry picked from commit b210742)

* SQL editor layout makeover (#7102)

This PR includes the following layout and css tweaks:
- Using flex to layout the north and south sub panes of query pane so resizing works properly in both Chrome and Firefox
- Removal of necessary wrapper divs and tweaking of css in sql lab so we can scroll to the bottom of both the table list and the results pane
- Make sql lab's content not overflow vertically and layout the query result area to eliminate double scroll bars
- css tweaks on the basic.html page so the loading animation appears in the center of the page across the board

(cherry picked from commit 71f1bbd)

* [forms] Fix handling of NULLs

(cherry picked from commit e83a07d)

* handle null column_name in sqla and druid models

(cherry picked from commit 2ff721a)

* Use metric name instead of metric in filter box (#7106)


(cherry picked from commit 003364e)

* Bump python lib croniter to an existing version (#7132)

Package maintainers should really never delete packages, but it appears
this happened with croniter and resulted in breaking our builds.

This PR bumps to a more recent existing version of the library

(cherry picked from commit 215ed39)

* Revert PR #6933 (#7162)

* [bugfix] SQL Lab 'Filter Results' doesn't stick (#7104)

When using a "Search Results" criteria, the subset of rows that match
the criteria get displayed. While this the filter is applied, if another
query is run, the filter is still active, but not displayed in the input
text box. After this change, the state of the input box sticks after
subsequent queries.

(cherry picked from commit d5e8d66)

* Injectable statsd client (#7138)

* Add ability to inject statsd client; some py test/reqs updates

- Updated the metrics logger to allow construction with an existing
statsd client, so that it can be configured by external systems or libs.
- added requirements to requirements-dev.txt which are needed to run
  tests-eg coverage, nose
- removed dependency on mock lib, it is in python stdlib now
- updated tox.ini to remove the now-superfluous deps

* add license to test file, and remove blank line at EOF

(cherry picked from commit ba19a62)

* [Lyft-GA] Enable color consistency in a dashboard (#7135)

* Enable color consistency in a dashboard

Moved actions, minor UI, allowed dashboard copy

Fix linting errors

Undo unintentional change

Updated and added unit tests

Fail quietly if package has not been updated

Fail quietly on dashboard copy if package is old

* Update packages

* Remove unnecessary code

* Addressed Grace's comments

* Small fix for item key

* Reset chart's color during exploration

* Do not reset chart form data when exploring chart

* Fix double scroll bars when content of sql result table overflows horizontally (#7168)

The PR substracts the scrollbar height from the height of the container of the react virtualized table so we don't see double scrollbars.

(cherry picked from commit 7ffcabd)

* Change number format default

* Use smart formatter instead

* fix merge issues

* Use SMART_NUMBER
betodealmeida added a commit that referenced this pull request Apr 3, 2019
…equests (#7032)

* Sparkline dates aren't formatting in Time Series Table (#6976)

* Exclude venv for python linter to ignore

* Fix NaN error

* Fix the white background shown in SQL editor on drag (#7021)

This PR sets the background-color css property on `.ace_scroller` instead of `.ace_content` to prevent the white background shown during resizing of the SQL editor before drag ends.

* Show tooltip with time frame (#6979)

* Fix time filter control (#6978)

* Enhancement of query context and object. (#6962)

* added more functionalities for query context and object.

* fixed cache logic

* added default value for groupby

* updated comments and removed print

(cherry picked from commit d5b9795)

* [fix] /superset/slice/id url is too long (#6989)


(cherry picked from commit 6a4d507)

* [WIP] fix user specified JSON metadata not updating dashboard on refresh (#7027)


(cherry picked from commit cc58f0e)

* feat: add ability to change font size in big number (#7003)

* Add ability to change font sizes in Big Number

* rename big number to header

* Add comment to clarify font size values

* Allow LIMIT to be specified in parameters (#7052)

* [fix] Cursor jumping when editing chart and dashboard titles (#7038)


(cherry picked from commit fc1770f)

* Changing time table viz to pass formatTime a date (#7020)

(cherry picked from commit 7f3c145)

* [db-engine-spec] Aligning Hive/Presto partition logic (#7007)


(cherry picked from commit 05be866)

* [fix] explore chart from dashboard missed slice title (#7046)


(cherry picked from commit a6d48d4)

* fix inaccurate data calculation with adata rolling and contribution (#7035)


(cherry picked from commit 0782e83)

* Adding warning message for sqllab save query (#7028)


(cherry picked from commit ead3d48)

* [datasource] Ensuring consistent behavior of datasource editing/saving. (#7037)

* Update datasource.py

* Update datasource.py

(cherry picked from commit c771625)

* [csv-upload] Fixing message encoding (#6971)


(cherry picked from commit 48431ab)

* [sql-parse] Fixing LIMIT exceptions (#6963)


(cherry picked from commit 3e076cb)

* Adding custom control overrides (#6956)

* Adding extraOverrides to line chart

* Updating extraOverrides to fit with more cases

* Moving extraOverrides to index.js

* Removing webpack-merge in package.json

* Fixing metrics control clearing metric

(cherry picked from commit e619405)

* [sqlparse] Fixing table name extraction for ill-defined query (#7029)


(cherry picked from commit 07c340c)

* [missing values] Removing replacing missing values (#4905)


(cherry picked from commit 61add60)

* [SQL Lab] Improved query and results tabs rendering reliability (#7082)

closes #7080

(cherry picked from commit 9b58e9f)

* Fix filter_box migration PR #6523 (#7066)

* Fix filter_box migration PR #6523

* Fix druid-related bug

(cherry picked from commit b210742)

* SQL editor layout makeover (#7102)

This PR includes the following layout and css tweaks:
- Using flex to layout the north and south sub panes of query pane so resizing works properly in both Chrome and Firefox
- Removal of necessary wrapper divs and tweaking of css in sql lab so we can scroll to the bottom of both the table list and the results pane
- Make sql lab's content not overflow vertically and layout the query result area to eliminate double scroll bars
- css tweaks on the basic.html page so the loading animation appears in the center of the page across the board

(cherry picked from commit 71f1bbd)

* [forms] Fix handling of NULLs

(cherry picked from commit e83a07d)

* handle null column_name in sqla and druid models

(cherry picked from commit 2ff721a)

* Use metric name instead of metric in filter box (#7106)


(cherry picked from commit 003364e)

* Bump python lib croniter to an existing version (#7132)

Package maintainers should really never delete packages, but it appears
this happened with croniter and resulted in breaking our builds.

This PR bumps to a more recent existing version of the library

(cherry picked from commit 215ed39)

* Revert PR #6933 (#7162)

* Add decorator for etag cache

* Fetch charts with GET

* Small fixes

* Fix typo

* Compute correct cache key; fix logging

* Check perms on cached response

* Revert change

* If perms fail, return naked response

* Fix lint

* Compute cache key from all form data

* Pass extra_filters in GET request

* Fix pylint

* Fix flake8

* Use ETags even if no cache is set

* Handle adhoc filters

* Raise in debug mode

* Rename actions

* Fix integration tests

* Do POST request on new charts

* Set extra/adhoc filters only in GET requests

* Raise if check_perms fails

* Refactor auth

* Fix flake8

* Fix js unit tests

* Fix js unit tests that fail in lyftga

* Fix js

* Sparkline dates aren't formatting in Time Series Table (#6976)

* Exclude venv for python linter to ignore

* Fix NaN error

* Changing time table viz to pass formatTime a date (#7020)

(cherry picked from commit 7f3c145)

* SQL editor layout makeover (#7102)

This PR includes the following layout and css tweaks:
- Using flex to layout the north and south sub panes of query pane so resizing works properly in both Chrome and Firefox
- Removal of necessary wrapper divs and tweaking of css in sql lab so we can scroll to the bottom of both the table list and the results pane
- Make sql lab's content not overflow vertically and layout the query result area to eliminate double scroll bars
- css tweaks on the basic.html page so the loading animation appears in the center of the page across the board

(cherry picked from commit 71f1bbd)

* Add decorator for etag cache

* Fetch charts with GET

* Small fixes

* Fix typo

* Compute correct cache key; fix logging

* Check perms on cached response

* Revert change

* If perms fail, return naked response

* Fix lint

* Compute cache key from all form data

* Pass extra_filters in GET request

* Fix pylint

* Fix flake8

* Use ETags even if no cache is set

* Handle adhoc filters

* Raise in debug mode

* Rename actions

* Fix integration tests

* Do POST request on new charts

* Set extra/adhoc filters only in GET requests

* Raise if check_perms fails

* Refactor auth

* Fix flake8

* Fix js unit tests

* Fix js unit tests that fail in lyftga

* Fix js

* Fix bad merge

* Use far future when max_age=0
xtinec pushed a commit that referenced this pull request Apr 3, 2019
* Sparkline dates aren't formatting in Time Series Table (#6976)

* Exclude venv for python linter to ignore

* Fix NaN error

* Fix the white background shown in SQL editor on drag (#7021)

This PR sets the background-color css property on `.ace_scroller` instead of `.ace_content` to prevent the white background shown during resizing of the SQL editor before drag ends.

* Show tooltip with time frame (#6979)

* Fix time filter control (#6978)

* Enhancement of query context and object. (#6962)

* added more functionalities for query context and object.

* fixed cache logic

* added default value for groupby

* updated comments and removed print

(cherry picked from commit d5b9795)

* [fix] /superset/slice/id url is too long (#6989)


(cherry picked from commit 6a4d507)

* [WIP] fix user specified JSON metadata not updating dashboard on refresh (#7027)


(cherry picked from commit cc58f0e)

* feat: add ability to change font size in big number (#7003)

* Add ability to change font sizes in Big Number

* rename big number to header

* Add comment to clarify font size values

* Allow LIMIT to be specified in parameters (#7052)

* [fix] Cursor jumping when editing chart and dashboard titles (#7038)


(cherry picked from commit fc1770f)

* Changing time table viz to pass formatTime a date (#7020)

(cherry picked from commit 7f3c145)

* [db-engine-spec] Aligning Hive/Presto partition logic (#7007)


(cherry picked from commit 05be866)

* [fix] explore chart from dashboard missed slice title (#7046)


(cherry picked from commit a6d48d4)

* fix inaccurate data calculation with adata rolling and contribution (#7035)


(cherry picked from commit 0782e83)

* Adding warning message for sqllab save query (#7028)


(cherry picked from commit ead3d48)

* [datasource] Ensuring consistent behavior of datasource editing/saving. (#7037)

* Update datasource.py

* Update datasource.py

(cherry picked from commit c771625)

* [csv-upload] Fixing message encoding (#6971)


(cherry picked from commit 48431ab)

* [sql-parse] Fixing LIMIT exceptions (#6963)


(cherry picked from commit 3e076cb)

* Adding custom control overrides (#6956)

* Adding extraOverrides to line chart

* Updating extraOverrides to fit with more cases

* Moving extraOverrides to index.js

* Removing webpack-merge in package.json

* Fixing metrics control clearing metric

(cherry picked from commit e619405)

* [sqlparse] Fixing table name extraction for ill-defined query (#7029)


(cherry picked from commit 07c340c)

* [missing values] Removing replacing missing values (#4905)


(cherry picked from commit 61add60)

* [SQL Lab] Improved query and results tabs rendering reliability (#7082)

closes #7080

(cherry picked from commit 9b58e9f)

* Fix filter_box migration PR #6523 (#7066)

* Fix filter_box migration PR #6523

* Fix druid-related bug

(cherry picked from commit b210742)

* SQL editor layout makeover (#7102)

This PR includes the following layout and css tweaks:
- Using flex to layout the north and south sub panes of query pane so resizing works properly in both Chrome and Firefox
- Removal of necessary wrapper divs and tweaking of css in sql lab so we can scroll to the bottom of both the table list and the results pane
- Make sql lab's content not overflow vertically and layout the query result area to eliminate double scroll bars
- css tweaks on the basic.html page so the loading animation appears in the center of the page across the board

(cherry picked from commit 71f1bbd)

* [forms] Fix handling of NULLs

(cherry picked from commit e83a07d)

* handle null column_name in sqla and druid models

(cherry picked from commit 2ff721a)

* Use metric name instead of metric in filter box (#7106)


(cherry picked from commit 003364e)

* Bump python lib croniter to an existing version (#7132)

Package maintainers should really never delete packages, but it appears
this happened with croniter and resulted in breaking our builds.

This PR bumps to a more recent existing version of the library

(cherry picked from commit 215ed39)

* Revert PR #6933 (#7162)

* Celery worker for warming up cache

* Remove testing changes

* Add documentation

* Fix lint

* WIP dashboard filters

* Use new cache so it works with dashboards

* Add more unit tests, fix old ones

* Fix flake8 and docs

* Sparkline dates aren't formatting in Time Series Table (#6976)

* Exclude venv for python linter to ignore

* Fix NaN error

* Changing time table viz to pass formatTime a date (#7020)

(cherry picked from commit 7f3c145)

* SQL editor layout makeover (#7102)

This PR includes the following layout and css tweaks:
- Using flex to layout the north and south sub panes of query pane so resizing works properly in both Chrome and Firefox
- Removal of necessary wrapper divs and tweaking of css in sql lab so we can scroll to the bottom of both the table list and the results pane
- Make sql lab's content not overflow vertically and layout the query result area to eliminate double scroll bars
- css tweaks on the basic.html page so the loading animation appears in the center of the page across the board

(cherry picked from commit 71f1bbd)

* Celery worker for warming up cache

* Remove testing changes

* Add documentation

* Fix lint

* WIP dashboard filters

* Use new cache so it works with dashboards

* Add more unit tests, fix old ones

* Fix flake8 and docs

* Fix bad merge and pylint
@mistercrunch mistercrunch added 🏷️ bot A label used by `supersetbot` to keep track of which PR where auto-tagged with release labels 🚢 0.34.0 labels Feb 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🏷️ bot A label used by `supersetbot` to keep track of which PR where auto-tagged with release labels !deprecated-label:bug Deprecated label - Use #bug instead 🚢 0.34.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

'Null' value is being displayed as '0' in the data retrieved.
7 participants