apache / superset

Apache Superset is a Data Visualization and Data Exploration Platform
https://superset.apache.org/
Apache License 2.0
62.8k stars 13.87k forks source link

Cannot Apply Filter in Dashboard to Google Sheet Data Source #30413

Open volume8208 opened 1 month ago

volume8208 commented 1 month ago

Bug description

When using a Google Sheets data source in Superset, filters applied through the Dashboard's Filter UI are not working. System throw error "Error: Invalid query: NO_COLUMN: null". However, manually applying SQL WHERE filters in SQL Lab works as expected. This issue prevents the use of filters through the Dashboard's UI, significantly limiting the functionality for non-technical users who rely on the Filter UI.

How to reproduce the bug

Screenshots/recordings

Screenshot 2567-09-27 at 13 58 17

Superset version

4.0.2

Python version

3.10

Node version

18 or greater

Browser

Chrome

Additional context

No response

Checklist

dosubot[bot] commented 1 month ago

Hey @volume8208! I'm here to help you with the issue you're facing in Superset. I'm a bot designed to assist with bug resolutions, answer questions, and guide you on becoming a contributor. Let's dive into resolving the problem together!

The issue with filters applied through the Dashboard's Filter UI not working for a Google Sheets data source, while manually applying SQL WHERE filters in SQL Lab works as expected, is likely due to compatibility checks and scope management in the Dashboard's Filter UI.

  1. Compatibility Checks: The filters are checked for compatibility with the datasource. If the filters are incompatible, they are marked as IndicatorStatus.Incompatible and are not applied. This could be why the filters are not working when applied through the Dashboard's Filter UI [1].

  2. Scope Management: The function useSelectFiltersInScope ensures that only filters within the active scope of the dashboard are applied. If the filters are out of scope, they will not be applied [2].

  3. Error Handling: The error "NO_COLUMN: null" is generated when a column does not exist in the datasource. This is handled using the SupersetError class with the COLUMN_DOES_NOT_EXIST_ERROR type [3][4].

To address this issue, ensure that the filters are compatible with the Google Sheets data source and within the active scope of the dashboard. Additionally, verify that the columns referenced in the filters exist in the Google Sheets data source.

To continue talking to Dosu, mention @dosu.

sundar68 commented 1 month ago

@rusackas Facing the same issue for Google Sheet Data Source. Can you please provide any solution for this.

volume8208 commented 1 month ago

Switch to mysql data source for a while

On Mon, 7 Oct 2567 BE at 14:31 Keerthi Satya Sai Sundar < @.***> wrote:

@rusackas https://github.com/rusackas Facing the same issue for Google Sheet Data Source. Can you please provide any solution for this.

— Reply to this email directly, view it on GitHub https://github.com/apache/superset/issues/30413#issuecomment-2396138111, or unsubscribe https://github.com/notifications/unsubscribe-auth/AC3YASNE3H57THKVKVRQHULZ2I2DNAVCNFSM6AAAAABO6QZNBSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGOJWGEZTQMJRGE . You are receiving this because you were mentioned.Message ID: @.***>

sundar68 commented 1 month ago

It's working fine for mysql and other data sources.

We have requirement for Google Sheet Data Source.

etiennemallo commented 6 days ago

Hey @sundar68

From what I see the filter in question is a date filter I faced the same issue for date-like filters, and I just ended up creating a computed property like so :

= DATETIME() Don't forget to modify the charts with your computed property