Hello there, I have a little bug with filters and ...
# gooddata-cloud
b
Hello there, I have a little bug with filters and I can't find what triggers it: • when adding a filter to dashboard, I can find the attribute in the filters but it can't load the values • when accessing the dashboard with the filters, the filter is there, but again, not value beside "all" • yet, when adding a viz to the dashboard with that same attribute, the viz is able to find and load values from the data Did someone already experience that? And if so, how did you fix it? Here's an example with an attribute "Age": first screen is the filter when editing the dashboard, second is a viz within the same dashboard with the same attribute as rows.
m
Hi Bastien, I had not seen an error like this before. Did you introduce any changes to your LDM recently? Also, how did you create the dataset for this attribute? Is it an SQL or regular dataset? I would also check if there are any errors in the browser dev console, in such case, please feel free to send them over here and we'll be glad to take a look.
b
Hello, I'm still inquiring and I'll get back to you if I find something new, but to answer your questions: • Yes, one to the filters but it's a front-end only thing (I customized the eventHandlers of the dashboards in our App to extract filters, but it should have zero impact on the console or the data), and another to the LDM that had nothing with the given column but I believe that may be the culprit considering the workspace impacted (we have few, but not all) • Regular dataset (we're using BigQuery behind GD right now)
m
Just an idea here - is the Age attribute by any chance in different dataset than the FeedbackId and connected via reference (arrow) in the model? (basically a primary key referenced by a foreign key from another dataset). I am just wondering if by any chance the data showing in the report would be read directly from the same table as FeedbackId while the filter would be displaying it from its own dataset (which for some reason would be missing data). GoodData usually assumes any reference is to existing value and might rely on this and take some shortcuts to generate more efficient queries. If it is not the case and the underlying data is OK, I would also try to clear the datasource cache just to make sure it is not some old cached result.
s
Hi @Michal Hauzírek, thanks for having a look! We found that the issue is caused by some inner joins GoodData when "listing" the dashboard filters values. In Bastien’s screenshot, we see an "age" attribute coming from the "feedbacks" table. However, in our LDM, feedbacks are connected to another "tags" table through a many-to-many relationship via a "feedback_tag_rels" intermediate table. Looking at the query generated when applying the "age" filter, we noticed that if "feedback_tag_rels" is empty, the filter returns no results. Even though "tags" aren’t directly used in the filter, I guess the inner joins are applied because of the ldm? We found that filling the many-to-many table fixes the issue for us. I think we will create an "empty" tag and link all feedback rows not linked to another tag to this placeholder one, to ensure the filtering behaves as expected. It is not pretty but it should work. We are used to inner joins behavior when combining attributes and metrics in visualizations for example, but we weren’t expecting it from filters, especially since they don’t directly involve tags in our specific case. Please let us know if our understanding make sense and if you have a better fix than the placeholder one. Thank you!
m
Hi Bastien and Simon, do you still need help here? If so, could you please send me via DM a link to the problematic insight?