-
Notifications
You must be signed in to change notification settings - Fork 14k
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
fix: pivot table timestamp grouping #10774
Conversation
for column_name in groupby + columns: | ||
column = self.datasource.get_column(column_name) | ||
if column and column.type in ("DATE", "DATETIME", "TIMESTAMP"): | ||
ts = df[column_name].apply(_format_datetime) | ||
if column and column.is_temporal: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Without calling column.is_temporal
, Postgres datasources were not able to identify temporal columns e.g. TIMESTAMP WITHOUT TIMEZONE
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, just a comment
superset/viz.py
Outdated
@@ -856,6 +856,30 @@ def get_aggfunc( | |||
# only min and max work properly for non-numerics | |||
return aggfunc if aggfunc in ("min", "max") else "max" | |||
|
|||
@staticmethod | |||
def _format_datetime(value: Any) -> Any: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: def _format_datetime(value: Union[pd.Timestamp, datetime, date, str]) -> Union[pd.Timestamp, datetime, date, str]:
* fix: pivot table timestamp grouping * address comments
* fix: pivot table timestamp grouping * address comments
…boards_permissions * upstream/master: (32 commits) docs: Add a note to contributing.md on reporting security vulnerabilities (apache#10796) Fix: Include RLS filters for cache keys (apache#10805) feat: filters for database list view (apache#10772) fix: MVC show saved query (apache#10781) added creator column and adjusted order columns (apache#10789) security: disallow uuid package on jinja2 (apache#10794) feat: CRUD REST API for saved queries (apache#10777) fix: disable domain sharding on explore view (apache#10787) fix: can not type `0.05` in `TextControl` (apache#10778) fix: pivot table timestamp grouping (apache#10774) fix: add validator information to email/slack alerts (apache#10762) More Label touchups (margins) (apache#10722) fix: dashboard extra filters (apache#10692) fix: re-installing local superset in cache image (apache#10766) feat: SIP-34 table list view for databases (apache#10705) refactor: convert DatasetList schema filter to use new distinct api (apache#10746) chore: removing fsevents dependency (apache#10751) Fix precommit hook for docs/installation.rst (apache#10759) feat(database): POST, PUT, DELETE API endpoints (apache#10741) docs: Update OAuth configuration in installation.rst (apache#10748) ...
* fix: pivot table timestamp grouping * address comments
* fix: pivot table timestamp grouping * address comments
* fix: pivot table timestamp grouping * address comments
* fix: pivot table timestamp grouping * address comments
* fix: pivot table timestamp grouping * address comments
* fix: pivot table timestamp grouping * address comments
SUMMARY
With the introduction of making temporal column formattable on
pivot-table
(#10637), formatting only worked for some databases. This expands support and adds tests to ensure formatting is applied correctly.AFTER (Postgres)
Smart formatting with monthly timegrain:
BEFORE (Postgres)
Smart formatting doesn't affect format:
TEST PLAN
Local testing on postgres + sqlite + new tests
ADDITIONAL INFORMATION