Arcade:允许Date()值在日期字段(esriFieldTypeDate)

395
4
08-21-2022 11:35 PM
状态:开放
JohannesLindner
常规赛MVP

在仪表板或弹出窗口之类的东西中,在Arcade代码中创建自己的FeatureSet是很常见的。这些特征集通常有日期列,这些是用字段类型“esriFieldTypeDate”定义的。

如果你输入一个带有Date()属性的特征,特征集将为空:

var fs_dict = {fields: [{name: 'DateField', type: 'esriFieldTypeDate'}], features: [{attributes: {DateField: Now()}}], geometryType: "} return FeatureSet(Text(fs_dict))

johanneslindner_0 - 1661149916211. - png

要插入日期,首先必须转换为Number()(第6行):

var fs_dict = {fields: [{name: 'DateField', type: 'esriFieldTypeDate'}], features: [{attributes: {DateField: Number(Now())}}], geometryType: "} return FeatureSet(Text(fs_dict)))

johanneslindner_1 - 1661149987926. - png

这绝对不是用户所期望的行为,它经常会导致混乱。

请更改FeatureSet的创建,以允许在esriFieldTypeDate字段中使用Date()值。

4评论
abrown8
通过

这让我困惑了很久,在我看到你的帖子之前,我尝试了一系列的东西!绝对不是预期的行为,并且在使用数据表达式时不是常识,这是在浪费时间。

Scott_Sambell
通过

哦,我多么希望我能早点找到这篇文章!非常感谢你指引我到这里,约翰。

BritaAustin
通过

是否需要声明日期的数字,如果在脚本中使用,但不包括在字典中?我已经在下面包含了我的脚本,它返回空。

var portal = portal ("https://arcgis.com");var fs = FeatureSetByPortalItem(门户,"MY_ITEM_NUM_HERE", 0, ["date", "name", " sum_numberof", "sum_numberofqualified",], false);var currentDate = Date(Max(fs, ' Date '));var monthAgo = Text(DateAdd(currentDate, -1, "month"), "YYYY-MM-DD");currentDate = Text(currentDate, "YYYY-MM-DD");var current = Filter(fs, "date = @currentDate");var lastMonth = Filter(fs, "date = @monthAgo");var dict = {fields: [{name: "name", type: "esriFieldTypeString"}, {name: " current_练习生",type: "esriFieldTypeDouble"}, {name: " month_ago_练习生",type: "esriFieldTypeDouble"}, {name: "current_qualified", type: "esriFieldTypeDouble"},], geometryType: "", features: [],};for (var c在当前){for (var l在上个月){dict。特征[0]={属性:{name: c["name"], current_练习生:c[" sum_numberof"], month_ago_练习生:l[" sum_numberof"], current_qualified: c[" sum_numberof"], month_ago_qualified: l[" sum_numberof"],},}; } } return FeatureSet(Text(dict));

@JohannesLindner@DavidNyenhuis1-任何在这方面的帮助或指导都非常感谢!

DavidNyenhuis1

@BritaAustin

Number(myDate)实际上是将其转换为EPOCH值。这只需要在字典中构造特征集。(检查是否有任何选项或计划来改变这一要求,因为它确实让很多人陷入困境)。

在您的场景中,我不认为这是问题所在——您没有在新特性集中创建任何日期字段。看起来你的循环逻辑可能需要从第44行开始做一些工作(你没有增加特征索引)。