Dependent filter affecting values in parent filter

Jonathan Allen shared this problem 2 years ago
Resolved

When establishing a filter dependency hierarchy, it seems that the parent filters are affected by the child filters. For example, suppose I have data divided up into multiple "Projects" and some of those projects are then also divided into "Sub-projects". On my report I want to have a "Project" filter and a "Sub-project" filter. When I select a value for "Project", I want the "Sub-project" filter to populate with the available sub-projects for the selected project. However, if there are no sub-projects, then none should appear.

However, what I am actually seeing is that if a Project has no sub-projects, then the filter dependency is preventing those projects from appearing in the top-level filter at all. Essentially it seems as though the hierarchy is doing "inner joins" down the chain instead of "left joins". This doesn't seem right to me. What would be the reason to have a sub-filter control the available options in the parent filter?

Comments (1)

photo
1

Hi Johnathan,

Sorry for the delay here. Reading through your description, it seems that this does have something to do with how this data is setup in the view.

Do you have a few minutes to screen-share at any point today or tomorrow so that I can see this first hand? (I am on US MST)

Regards,

Nathan

photo
1

Hi Nathan - here is an example using the Ski Team data. Make a simple report with two columns, 'Last Name' and 'Broken Bone Group' (report.png). Now add two filters: One for Last Name and one for Broken Bone Group. Set them both as "Cached On Demand" filters. In the report, you will see that you can select any value for Last Name or Bone Group.

Now change the settings on the 'Broken Bone Group' filter so that 'Last Name' is the parent filter. Now you will see that "A Hearne" and "Aalderink" are no longer available in the 'Last Name' filter because they have nulls for 'Broken Bone Group'. However, I would expect to be able to still select those names in the filter but then see nothing in the bone group filter rather than having the child filter affect the values in the parent.

photo
1

Hi Johnathan,

Thank you for the clarification. I agree that this should not be the case and it appears a member of our QA staff has caught this as well and has raised a defect to address it:

6862

Sorry for the inconvenience!

Regards,

Nathan

photo
1

Hi Johnathan,

Apparently there is a hidden configuration setting in the database that can toggle this, as the current functionality is actually the intended functionality.

Can you give this a try?

INSERT INTO Configuration VALUES(1, "SYSTEM", "ALLOWNULLCACHEFILTERS", "true");

Regards,

Nathan

photo
1

Hi Nathan,

If we set that configuration change for org ID "1", does the setting automatically get inherited for child orgs? Would we need to add this configuration for each child org in our system?

Thanks, Jon

photo
1

Hi Jon,

Taking a quick look at how this is implemented, it seems that the org id is hard-coded in the call to the parameter, so this is truly a global setting.

Regards,

Nathan

photo
1

Hi Jon,

Did this work?

Nathan

photo
1

Hi Nathan,

Sorry for not getting back to you. On our internal tests it did work, so this can be closed. We are still pending rolling this change out in production, but if we run into issues there we will open a new ticket.

Thanks!

photo
1

Awesome, glad to hear it!

photo