-
Notifications
You must be signed in to change notification settings - Fork 8.3k
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
[Dashboard] Filter only the relevant panels #170395
Comments
Pinging @elastic/kibana-presentation (Team:Presentation) |
Thanks for creating this. This is a great feature, and really will help to make behavior of a Dashboard with mixed content more legible. |
To the discussion question, isn't there already a UX for when accuracy is limited? I've seen something like that in Lens I believe with a little marker on the panel. Perhaps the "this panel isn't using the filters" UX could be something similar? |
Thanks for the input Ian. We think it can be a bit messy to have all these markers visible in the panels e.g., when there are several filters affecting different panels. |
Sounds good, agree that extra visual clutter is also an issue. In other news, I'd also suggest this issue is similar (though different) from #29749 as well. Would love to see both of these features land, there absence is definitely felt strongly! :) |
This issue also arises for maps with layers from different data views. Here is a forum question asking for this feature https://discuss.elastic.co/t/kibana-maps-adding-filter-hides-layers-which-dont-have-the-filter-field |
One consideration with this new approach: Controls currently don't use searchSource for data fetching. So they won't respect this advanced setting once we turn it on. As part of this issue we should update Controls to remove filters that aren't compatible with their data views before the request is sent off to the Kibana server. @markov00 do you know if TSVB respects the |
Another consideration is functional tests. We should create a functional test suite that sets this value to true and ensure lens, maps, controls, etc respects the value. This is an easy thing to break so some test coverage will be needed if its going to enabled be default |
@ThomThomson haven't tried by It looks like TSVB should respect the kibana/src/plugins/vis_types/timeseries/server/lib/vis_data/helpers/get_es_query_uisettings.ts Lines 15 to 17 in 8a5d327
|
Question from observability: how does this setting work with dynamic fields that aren't explicitly called out in an index's mappings? @ThomThomson pointed me to this function, but it's not clear to me when that function is run in a Dashboard context and whether it would be aware of dynamically added fields. The example we're curious about is something like this:
Would visualization V3 properly filter by location? I created a sample index, data view, visualization, and dashboard to test this. As far as I can tell, the data view I created was aware of all of the fields in the underlying index, even ones that were not in the mapping at all. As I added documents to that underlying index with new fields, each new field appeared in the data view field list and was available as a filter in the visualization, even when I had this advanced setting ("ignore filters") enabled. Can someone on the viz team confirm this is expected? CC: @dgieselaar let me know if there are other dynamic mapping scenarios that I'm not thinking of that could act differently than what I'm describing here. |
@jasonrhodes What I had in my head is slightly different. It's not about documents being pushed into the index later and the data view being updated. It's about an index not having data for a field at all, but the field is still relevant. Consider Also, I'd argue that it's easier to figure out why there is no data (and possibly add some kind of filter override/ignore setting for this specific panel), than it is for users that the data on the screen is not filtered. Do we plan to somehow indicate to the user that a specific filter was ignored for a certain panel? (It hurts my brain a little to think about the implications here and that's never a good sign). Can we also name this something more meaningful (and less scary) than "ignore filters"? |
So you're saying in this case, you'd expect that filter to produce no results (i.e., how it works today), because the underlying data hasn't explicitly set this field to the correct value? That sounds like a valid concern to me. I think the creation of these filters is already tied to data views, so it may not be possible to create this type of UI filter if the field isn't present in the underlying data, but maybe that should be rethought, also. |
I feel the current default behavior is quite wrong and confusing. @dgieselaar how common is the scenario you are describing? I do agree that ideally surfacing more fine-grained info on a per-panel basis would be very useful UX. This is valuable not just for indicating whether a filter is applied, but in the future this should indicate things like whether data is approximate with random-sampler, or whether it is filtered by tier, ... For reference, Maps does something like this on a per layer basis. Notice the little icons informing user about how the data is being filtered. e.g. in this case, by time (the little clock), and search-bar (the little filter icon), and bounding box (the little rectangle) There would be a lot of value to add similar visual feedback on dashboard panels as well. One last thought; this seems to hang up on whether this is a breaking change or not. I believe it is not. It is a change in the UX, not a change to a programmable API, and we can guide the user to revert the setting (e.g. with the tour) That said, there is continued uncertainty on Providing we agree this is not a breaking change, wondering if we can roll out modifications to this behavior in Serverless first. It would give us some quicker real world feedback and help validate our assumptions. |
@thomasneirynck I think it is fairly common to filter down on e.g. dynamically mapped labels. Even when you own the data I think it's really hard to figure out whether the filter you have is relevant to the visualization or not. E.g in the overview cluster we have |
thx for feedback @dgieselaar
the fact is that today this is not surfaced either, and users today will find themselves in a seemingly "broken" situation (and more frequently, from the other direction, ie. "why are my charts breaking"). It somewhat boils down to the difference between unknown-value and absent-data, which is impossible to make without mapped fields. |
I shared my opinion on this matter on a private channel so I am going to share here too for a broader visibility.
My personal opinion is:
|
If this doesn't work, it's a bug of the implementation. This issue says it should behave for all filtering options: filter pills, queries and controls. |
Yes, it's already describe in the Google doc under "Customer impact" as a "very unlikely edge case regarding Alerts" |
A request from our side, can we contain the discussion to a single place? We've got two google docs now and a public issue, preferably there's just one place where keep track of everything (as long as feasible). |
My point exactly Teresa! This needs more work, we can't just change the default setting. Btw the advanced setting was designed (poorly) to work with the filter builder only afaik (it was before my time). We actually have an ER for this #131514 |
Closing in favor of #189622. We're no longer planning to change the default value of this advanced setting. We plan to introduce a new dashboard level setting to achieve the same behavior. |
Problem
When users use the global filters, query bar or the controls, the panels that are not built using the dataview return no results.
Solution
The panels should ignore the filter pills, queries and controls when their dataviews don't contain the used fields. We will achieve this by setting the “Ignore filter(s)” in Advance Setting to ON by default. All existing and new dashboards will ignore the filtered fields for the visualizations that don't contain them. Users can always revert this change by setting this to OFF in Advance Settings.
Tour
We should make users aware by adding a tour that meets the following criteria
The text was updated successfully, but these errors were encountered: