Is there any way to set up a Quarter Filter in Experience Builder in either the Filter or Query widget?
Rules: no data expressions with a new featur layer - I need to still edit the original table in ExB, and I don't want to add a quarter field behind the scenes or something. No developer edition. And without having to create like a unique quarter year combo like Q1 2026, Q2 2026 because there are 6 years of data and that would be 24 filter buttons.
This doesn't seem possible. The only thing I saw was [Date is in "this quarter"]. But no other options besides "this quarter" or "this year" etc.
Goal: Group Filter that applies to a date only field in a few tables, where users can pick the quarter and the year
I did this for a summary table with a data expression feature layer in ExB and added Q1, Q2, to fields - but I want to have buttons like this to filter by quarter without doing a data expression. This is the kind of stuff that is SOOO easy in Excel but SO HARD in ArcGIS. 😭
Can you just build your SQL for the filters to have conditions for all six years with an "or"? This way the it will filter anything in Q1 for example and then your year will be filter by the year filter.
Thanks! I didn't think of that. That has potential (though it is PAINFUL to create) and not an option for group filters 😭 I have two tables I need to filter with the "Q1" button
There doesn't seem to be a way to add multiple clauses to a set of group filters... or am i missing something??
@Teresa_Blader its been a bit, but I think you have to set it up as a group filter.
Edit: Which might mean redoing the SQL.
Edit 2: Appears multiple SQLs aren't support in group filters...
I'm pretty comfortable with the group filter... but there's no multiple clauses option once into the SQL expression box. 😭
@Teresa_Blader I just saw that as well, see my "Edit 2" in the post above. That's all I have, besides the stuff you said you don't want to do.
@Teresa_Blader, if you're only interacting with this data in tables (and not a map), you could add the data via Arcade and make your quarter field there. The field would exist "virtually" and not be something you have to update. I believe this capability is only available in ArcGIS Online right now, maybe Enterprise 12.0 but I'm not 100% sure.
Here's an example with the Living Atlas wildfire current incidents layer.
(To add data via Arcade, go to the Data tab, click Add data, and the option will be at the bottom.)
var p = Portal('https://www.arcgis.com')
// Get wildfires layer
var fs = FeatureSetByPortalItem(p, 'd957997ccee7408287a963600a77f61f', 0, ['FireDiscoveryDateTime'], false)
// Set up a dictionary to hold the new "quarter" field
var newDict = {fields: [
{name: 'FireDiscoveryDateTime', alias: 'Fire Discovery Date Time', type: 'esriFieldTypeDate'},
{name: 'Quarter', alias: 'Quarter', type: 'esriFieldTypeString'},
{name: 'Year', alias: 'Year', type: 'esriFieldTypeSmallInteger'}
],
geometryType: '',
features: []
}
// Go through the wildfires data and determine quarter
for (var i in fs){
var fireMonth = Month(i.FireDiscoveryDateTime)
var fireQuarter
var fireYear = Year(i.FireDiscoveryDateTime)
When(
(fireMonth == 0 || fireMonth == 1 || fireMonth == 2), fireQuarter = "Q1",
(fireMonth == 3 || fireMonth == 4 || fireMonth == 5), fireQuarter = "Q2",
(fireMonth == 6 || fireMonth == 7 || fireMonth == 8), fireQuarter = "Q3",
(fireMonth == 9 || fireMonth == 10 || fireMonth == 11), fireQuarter = "Q4",
"")
Push(newDict['features'], {attributes: {FireDiscoveryDateTime: i.FireDiscoveryDateTime, Quarter: fireQuarter, Year: fireYear}})
}
// Create a featureset from the now-filled dictionary
var new_fs = FeatureSet(newDict)
return new_fs
(you'll want to format your years better, I'm just being lazy)
Thanks for responding!! I've done that for some other tables in ExB, but I need these two tables to be
1. hooked to the map
2. editable in the table
So it can't be an Arcade feature layer. 😭
You can't do editing in the table there correct with the arcade data expression layer, right?? I couldn't get it to enable editing - the check box is greyed out.
From my arcade data expression layer... which is exactly what I want for non-arcade layers:
The only thing I've come up with for still being able to edit:
But the queries are so chaotic:
Oh no! Sorry about that. Yeah, I don't think an Arcade layer is going to work for you then.
@Teresa_Blader I had one more thought: You could try the select widget on one table and then a layer action on the second table. Playing around a little bit I was able to select on two tables that way, but couldn't get the layer action filter to work quite right as you describe, but not using your data so you may have some luck with that, worth a shot to look at.