POST
|
Hi Bryce - this isn't something I've looked into at all, so I do not know. Sorry!
... View more
05-03-2024
07:49 AM
|
0
|
0
|
150
|
IDEA
|
I agree with all comments above. It would be great if we could save Arcade expressions and re-use them no matter where they are written (e.g. dashboard, web map).
... View more
04-09-2024
08:53 AM
|
0
|
0
|
447
|
POST
|
Hi - I'd like to create a Flow that sends an email (or even better, an SMS) when a hosted feature layer has not been updated in more than 30 minutes. I am currently looking at the ArcGIS "Get data from feature layer", but do not see any easy way to pull the last updated date associated with the layer. Is this possible, and if yes, how would I do this? Thank you!
... View more
03-28-2024
08:24 AM
|
0
|
1
|
293
|
POST
|
As I clearly mentioned in the post, this issue self resolved once we got past DST on 3/10. This post was made to hopefully, make the Survey123 team aware of a potential bug since Esri technical support did not test my case until after 3/10 when the issue had already self resolved. This was not an issue in a web form or on iOS - only the Windows field app. Example of issue from 3/8/24 with appointment date/time before DST - it worked fine: Example of issue from 3/8/24 with appointment date/time after DST - notice additional hour in Appointment End: The XLSForm syntax for the Appointment End calculation has been unchanged in my form for about 5 years, and has always worked as expected/reliably. In addition, we have always started taking appointments before DST for dates after DST without issue. date-time(decimal-date-time(${Decon_Appt_Start}) + 0.013888889)
... View more
03-14-2024
05:39 AM
|
0
|
1
|
337
|
POST
|
Hi - I am posting this here because I'd submitted a ticket to Esri Technical Support and they did not get around to testing my case until after Daylight Savings Time. This issue self resolved once DST was passed, however I strongly feel as if this is a bug and wanted to bring it to the community/Survey123 team's attention. Please see below for details - these details were relevant before 3/10/24 when scheduling an appointment for a date after DST. I am happy to provide more details if anyone is interested. I have a Survey123 form which has been in use for about 5 years now. We use a series of calculations with date and time to schedule appointments. We are having issues with the Survey123 field app, version 3.19.120, installed on Windows desktops where any appointment made AFTER Daylight Savings Time results in an incorrect appointment end time. I have attached a copy of the XLSForm here and a Word document with some screen captures showing this example (please note this XLSForm contains a series of pulldata calculations which reference a protected hosted feature layer, so these will not work, however this will not impact testing the issue below). Steps to reproduce this issue: Select appointment start date/time AFTER 3/10/24. Adjust appointment start time so that it starts at an interval of 20 (e.g. 0800, 0820, 0840). Click "off" to close time adjustment for appointment start time. Appointment End time adjusts but is 1 hour off (too long). Each appointment was exactly 1 hour off (too long) in the end time.
... View more
03-13-2024
12:53 PM
|
0
|
3
|
558
|
POST
|
@LizArmstrong - I know this is an old post, but I wanted to jump on here. It would be great if the new iteration of Workforce was significantly more flexible. For example, I have a well-established Work Order Request form built using Survey123. It would be fantastic if this could be integrated with Workforce to create assignments for staff to get notified about and then complete in the field from their mobile devices.
... View more
03-11-2024
12:25 PM
|
0
|
0
|
1057
|
BLOG
|
Hi @Jianxia - looking forward to the group filtering update. Do you have any plans to improve spatial filtering in Experience Builder so it is more on par with what is available thru Dashboards? This is a big missing piece from ExB.
... View more
02-08-2024
01:00 PM
|
1
|
0
|
10013
|
POST
|
@DanJiang Is better spatial filtering going to be added to Experience Builder, and if yes, what is the timeline for this functionality. Ideally, something exactly like how Dashboards support this would be ideal. I feel like it would also be great to take the results of a Filter widget query and use that to spatially filter other layers in the map.
... View more
02-08-2024
12:57 PM
|
9
|
0
|
1785
|
POST
|
Hi - I'm sure someone on here has asked this and received an answer, but I can't find it. I have a data expression being used within a table element of a dashboard. I'd ideally like the user be able to make a selection (polygon) in the dashboard's map and then have the table be filter spatially based on the selection in the map using layer actions. This code works great with a category selector, but not with my configured layer actions (it returns no data). I suspect my geometry is not being included in the Push and final FeatureSet (starts at lines 108 to end). Any suggestions on how to correct this? // custom memorize function to increase performance of featureset
function Memorize(fs) {
var temp_dict = {
fields: Schema(fs)['fields'],
geometryType: Schema(fs).geometryType,
features: []
}
for (var f in fs) {
var attrs = {}
for (var attr in f) {
attrs[attr] = Iif(TypeOf(f[attr]) == 'Date', Number(f[attr]), f[attr])
}
Push(
temp_dict['features'],
{attributes: attrs, geometry: Geometry(f)}
)
}
return FeatureSet(Text(temp_dict))
}
// variable to define the portal URL
var portal = Portal("https://mass-eoeea.maps.arcgis.com");
//Quabbin and Ware Encroachments
var qEncroach = FeatureSetByPortalItem(portal,"1234abc",0,['Date_Found', 'Type', 'Encroachment_Priority', 'Description'],true);
//Wachusett and Sudbury Encroachments
var wEncroach = FeatureSetByPortalItem(portal,"5678def",0,['Date_Found', 'Type', 'Encroachment_Priority', 'Description'],true);
// Create a FeatureSet with all encroachments from Quabbin, Ware and Wachusett
var int_dict = {
fields: [
{'name': 'type', 'type': 'esriFieldTypeString'},
{'name': 'edate', 'type': 'esriFieldTypeDate'},
{'name': 'priority', 'type': 'esriFieldTypeString'},
{'name': 'descript', 'type': 'esriFieldTypeString'}],
geometryType: 'esriGeometryPoint',
"spatialReference": {
"wkid": 102100,
"latestWkid": 3857
}, 'features':[],
};
// Fill intermediate FeatureSet with encroachment info
var i = 0;
for (var f in qEncroach) {
int_dict.features[i] = {
attributes: {
'type': f["Type"],
'edate': DateDiff(f["Date_Found"], Date(1970, 0, 1, 0, 0, 0), "milliseconds"),
'priority': f["Encroachment_Priority"],
'descript': f["Description"],
},
geometry: Geometry(f),
}
i++;
};
for (var g in wEncroach) {
int_dict.features[i] = {
attributes: {
'type': g["Type"],
'edate': DateDiff(g["Date_Found"], Date(1970, 0, 1, 0, 0, 0), "milliseconds"),
'priority': g["Encroachment_Priority"],
'descript': g["Description"],
},
geometry: Geometry(g),
}
i++;
};
Console(Text(int_dict));
var encroach_set = Memorize(FeatureSet(Text(int_dict)))
// Basins
var basins = Memorize(FeatureSetByPortalItem(portal, "987406d7d0614370b6493dfe58c9e62c", 0, ['District', 'Subbasin_Name'], true))
// create final featureset
var finalDict = {
fields: [
{name: "Encroach_Type", type: "esriFieldTypeString"},
{name: "Encroach_Date", type: "esriFieldTypeDate"},
{name: "Encroach_Priority", type: "esriFieldTypeString"},
{name: "Encroach_Description", type: "esriFieldTypeString"},
{name: "SubbasinName", type: "esriFieldTypeString"},
{name: "DistrictName", type: "esriFieldTypeString"},
],
geometryType:"esriGeometryPoint",
"spatialReference": {
"wkid":102100,
"latestWkid":3857
},
features: [],
}
// intersect CMRs with basins to determine which basin each occured in
for(var e in encroach_set) {
var i_basin = First(Intersects(e, basins))
var i_basin_name = Iif(i_basin == null, "No basin", i_basin.Subbasin_Name)
var i_basin_district = Iif(i_basin == null, "No district", i_basin.District)
//add to array
Push(finalDict['features'],
{attributes:{
Encroach_Type: e['type'],
Encroach_Date: e['edate'],
Encroach_Priority: e['priority'],
Encroach_Description: e['descript'],
SubbasinName: i_basin_name,
DistrictName: i_basin_district,
}})
}
Console(Text(finalDict));
return FeatureSet(Text(finalDict))
... View more
01-30-2024
08:59 AM
|
0
|
0
|
391
|
IDEA
|
Hi @patrickb - Thank you. I have posted a new idea here. I've added more details, my data expression and some screen captures. If you are able to review this I would be appreciative. Idea: https://community.esri.com/t5/arcgis-dashboards-ideas/enable-data-download-in-dashboard-table-when-table/idi-p/1375968/highlight/true Erica
... View more
01-30-2024
08:32 AM
|
0
|
0
|
580
|
IDEA
|
Enable export/download consistently within Dashboards. The example below is specifically when a Data Expression is used with the Table Element of a Dashboard. Data export/download currently works if you are referencing a hosted feature layer as the data source, OR if you use a data expression as the data source and select Table type = Grouped values. Data export/download does not work if you data source is a data expression and you select Table Type = Features. I've tested this with the same data expression. The data sources used within the expression all have the export capability enabled via the Item Details. Here is the data expression: // custom memorize function to increase performance of featureset
function Memorize(fs) {
var temp_dict = {
fields: Schema(fs)['fields'],
geometryType: Schema(fs).geometryType,
features: []
}
for (var f in fs) {
var attrs = {}
for (var attr in f) {
attrs[attr] = Iif(TypeOf(f[attr]) == 'Date', Number(f[attr]), f[attr])
}
Push(
temp_dict['features'],
{attributes: attrs, geometry: Geometry(f)}
)
}
return FeatureSet(Text(temp_dict))
}
// variable to define the portal URL
var portal = Portal("https://mass-eoeea.maps.arcgis.com");
//Quabbin and Ware Encroachments - internally shared layer w/ export enabled
var qEncroach = FeatureSetByPortalItem(portal,"1234abc",0,['Date_Found', 'Type', 'Encroachment_Priority', 'Description'],true);
//Wachusett and Sudbury Encroachments - internally shared layer w/ export enabled
var wEncroach = FeatureSetByPortalItem(portal,"5678def",0,['Date_Found', 'Type', 'Encroachment_Priority', 'Description'],true);
// Create a FeatureSet with all encroachments from Quabbin, Ware and Wachusett
var int_dict = {
fields: [
{'name': 'type', 'type': 'esriFieldTypeString'},
{'name': 'edate', 'type': 'esriFieldTypeDate'},
{'name': 'priority', 'type': 'esriFieldTypeString'},
{'name': 'descript', 'type': 'esriFieldTypeString'}],
geometryType: 'esriGeometryPoint',
"spatialReference": {
"wkid": 102100,
"latestWkid": 3857
}, 'features':[],
};
// Fill intermediate FeatureSet with encroachment info
var i = 0;
for (var f in qEncroach) {
int_dict.features[i] = {
attributes: {
'type': f["Type"],
'edate': DateDiff(f["Date_Found"], Date(1970, 0, 1, 0, 0, 0), "milliseconds"),
'priority': f["Encroachment_Priority"],
'descript': f["Description"],
},
geometry: Geometry(f),
}
i++;
};
for (var g in wEncroach) {
int_dict.features[i] = {
attributes: {
'type': g["Type"],
'edate': DateDiff(g["Date_Found"], Date(1970, 0, 1, 0, 0, 0), "milliseconds"),
'priority': g["Encroachment_Priority"],
'descript': g["Description"],
},
geometry: Geometry(g),
}
i++;
};
Console(Text(int_dict));
var encroach_set = Memorize(FeatureSet(Text(int_dict)))
// Basins - public layer
var basins = Memorize(FeatureSetByPortalItem(portal, "987406d7d0614370b6493dfe58c9e62c", 0, ['District', 'Subbasin_Name'], true))
// create final featureset
var finalDict = {
fields: [
{name: "Encroach_Type", type: "esriFieldTypeString"},
{name: "Encroach_Date", type: "esriFieldTypeDate"},
{name: "Encroach_Priority", type: "esriFieldTypeString"},
{name: "Encroach_Description", type: "esriFieldTypeString"},
{name: "SubbasinName", type: "esriFieldTypeString"},
{name: "DistrictName", type: "esriFieldTypeString"},
],
geometryType:"esriGeometryPoint",
"spatialReference": {
"wkid":102100,
"latestWkid":3857
},
features: [],
}
// intersect CMRs with basins to determine which basin each occured in
for(var e in encroach_set) {
var i_basin = First(Intersects(e, basins))
var i_basin_name = Iif(i_basin == null, "No basin", i_basin.Subbasin_Name)
var i_basin_district = Iif(i_basin == null, "No district", i_basin.District)
//add to array
Push(finalDict['features'],
{attributes:{
Encroach_Type: e['type'],
Encroach_Date: e['edate'],
Encroach_Priority: e['priority'],
Encroach_Description: e['descript'],
SubbasinName: i_basin_name,
DistrictName: i_basin_district,
}})
}
Console(Text(finalDict));
return FeatureSet(Text(finalDict)) Here are the settings used within the Table Element when download summarized data is an option for me to toggle under "General": Here are the settings used with a different Table Element when download summarized data is not an option for me to toggle under "General": Some additional details: I am working in ArcGIS Online and using a data expression to bring two different feature layers together into a new FeatureSet. I need to provide information on individual records, so I can not use Table Type = Grouped Values. Both feature layers referenced in the data expression allow export/download (that was the first thing I checked).
... View more
01-30-2024
08:31 AM
|
5
|
1
|
593
|
IDEA
|
@patrickb - this is not already offered. This works if you are referencing a feature layer, OR if you use a data expression with Table type = Grouped values, however it does not work if you data source is a data expression and you select Table Type = Features. Can you please re-open this idea, because it is not solved. Some additional details - I am working in ArcGIS Online and using a data expression to bring two different feature layers together into a new FeatureSet. I need to provide information on individual records, so I can not use Table Type = Grouped Values. Both feature layers referenced in the data expression allow export/download (that was the first thing I checked).
... View more
01-26-2024
11:03 AM
|
0
|
0
|
622
|
POST
|
I am currently running into this problem. Interestingly, when I use a data expression to create a FeatureSet and use the Grouped Values table type, I can enable download. When I do the same thing, but select Features for the table type, the option disappears. @Rar_Katia - how did you execute your workaround?
... View more
01-26-2024
11:01 AM
|
0
|
1
|
509
|
POST
|
I only use this within a "new entry" form. For my "update form" (which is used within a Dashboard) I've published a totally new Survey123 form where this function is not included. The DCR_File_Number attribute field is read only (and so are some other fields) to prevent editing of those values.
... View more
01-17-2024
05:18 AM
|
1
|
1
|
814
|
POST
|
@EricaNova - Within the Hint column, I also have this for the "not_valid_value_check" which was not included above: <font color="#850419">*This is required!*</font> Other than that, nothing is missing.
... View more
01-17-2024
05:17 AM
|
0
|
1
|
814
|
Title | Kudos | Posted |
---|---|---|
1 | 04-28-2021 09:14 AM | |
1 | 09-06-2022 11:53 AM | |
1 | 01-17-2024 05:18 AM | |
1 | 08-08-2022 12:50 PM | |
9 | 02-08-2024 12:57 PM |
Online Status |
Offline
|
Date Last Visited |
2 weeks ago
|