准备工作台时,使用两个或三个属性列进行计算,其工作正常,但是将来,如果源数据带有空值,那么FME工作台将失败。
为了避免当前工作台出现故障,我们需要使用过滤变压器来成功完成该过程,这样工作台就变大了。
如果我们可以选择过滤空值并重定向到每个计算转换器(如ExpressionEvaluator)中的空端口,日期时间计算器和算术编辑器(如果可能)。
你好,
我对求和(表达式计算器,统计计算器..)。
结果不正确。我做这个计算:10000+10000+1+100+0.1+0.01,结果是20101.10999999997。
我在2018年和2017年的FME中有这个问题,但是在2015年,结果是正确的。
你有办法解决我的问题吗?谢谢。
你好,我正在尝试评估一行中的多个列是否用值填充,然后计算有多少列具有值。
例如:
可乐 | 科尔布 | 高露洁 | 寒冷 | 计数 |
零 | 零 | 零 | 零 | 零 |
四十二 | 零 | 一 | 零 | 二 |
七 | 62 | 十 | 零 | 三 |
零 | 零 | 零 | 157个 | 一 |
我将表达式评估器与以下表达式一起使用:
计数=(可乐/可乐)+(可乐/可乐)+(可乐/可乐)+(可乐/可乐)+(冷饮/冷饮)
但很明显,除以0就是放弃了整个结果。FME中是否有某种形式的countif?
你能提出一个更好的解决方案吗?把我的表达式改为忽略除以零?
任何帮助都将不胜感激。我今天决定放弃…
大家好,
拜托,我试图找到最简单的方法,如何重新计算功能的坐标值。
例如-直线在x/y-558000695855中只有两个顶点;558300,655964。我需要直接改变y坐标的值-例如使Y值增加27000。因此,结果值应为x/y 558000722855;558300,682964。
我会理解所有的建议!
谢谢您!
鲁博
你好,
我在这里搜索了一些关于计算百分比的线索,但似乎没有什么能很好地概括我在寻找什么。
我有几个多边形,每个包含“totalkm”和“minorkm”属性
“minorkm”代表内部等级或质量较低的道路。
我只想根据“totalkm”计算百分比,比如这个例子:
微型火箭 | 总公里数 | 百分比公里 |
15个 | 六十 | 25% |
150个 | 200个 | 75% |
我试着和表情评估师一起玩,但是我不能为这个创建正确的表达式。
事先谢谢,
我是通过Postgres表来做的,但附件是我在Excel中的一些数据的一个小例子。还附上我的变压器。我正在使用表达式通过attributeManager尝试此操作。不确定我的语法是否只是错误的,或者我的方法是否也需要工作。
问题:当我遇到一个空值时,我想使用前一行的值。我希望在达到新值之前为所有行完成此操作。然后当我达到那个新值时,我想在它下面的空行中使用这个新值。我想做这个直到文件结束。我有几千张这样的唱片。请参考“井位”列,查看我描述的内容。谢谢你的帮助!
我有一些DTED2文件,用于从WGS84坐标中检索高程值。我想修改DTED2文件中某些WGS84坐标的高程值,因为我用高精度的GPS设备对它们进行了测量,发现某些数值是不正确的。这是FME桌面所能做的吗?
我正在尝试在表达式计算器转换器中使用findRegEx特性函数。
有人知道要使用的正确语法吗?
有关这方面的文件似乎有点稀薄/没有具体的例子。
…………………
我正在尝试搜索字段:【类别】
使用regex表达式:0[0-1][0-9]
我尝试了以下方法-但没有运气:
@findRegEx(@值(类别),0〔0-1〕[0-9]
…………………
有什么想法吗-非常欢迎
…………………
当做
Howard L
不确定compounded是否是正确的术语,但无论如何……我正在尝试基于现有值计算一个新属性-通常很容易做到-但在这种情况下,表达式必须引用原始属性中的每个后续属性值。最好用下图说明:
“staticValue”是原始值,“compoundedValue”是我要创建的属性。这个第一个值将保持不变但“compoundedValue”属性中的每个后续值必须反映相应的“staticValue”值。
静态值 | 复合价值 |
300个 | 300个 |
20个 | 三百二十 |
- 50 | 270个 |
- 40 | 二百三十 |
一百六十 | 390个 |
三十五 | 425个 |
我可以在FME中这样做一个“循环”引用吗?
嗨,各位,
我有一个表达式,在表达式评估器中工作得很好。我希望在属性管理器中使用这个,因为我想对许多字段做类似的事情,并使用条件,我尝试了很多事情,但这个表达似乎从来没有和属性管理器一起解决。
(@value(score)/20)*@value(loading))+@value(score)
我试着换成@div,@多用途/后勤与运输工具,和@添加数学函数,但它们没有让我更接近这个动作。
我哪里出错了:S
事先谢谢!
你好,
我试图计算两组邮政编码多边形之间的面积变化百分比。
所以我有一个旧的多边形文件和一个新的,我把它们连接到面积计算器,得到多边形的面积。现在,对于百分比变化的计算,我将使用ExpressionEvaluator,但我无法确定如何将输出绑定到其原始行。它要么把太多的值作为自己的东西,要么把它当作一个大的计算。
我真的不知道怎么设置。它应该像x除以y一样简单,但它似乎不想在输出上合作。
这就是我目前为止所拥有的。它创建了我想要的_区域_f0和e0,但是,当我尝试在ExpressionEvaluator中进行除法运算时,如果在公式中使用“/”运算符,或者如果使用它运行的“div”函数,但在两个读卡器中为每一行创建了一行,那么它将以结果值为空的75k个条目结束。它应该以38217行结尾,其中37280行应该有结果,其余的为空,因为没有匹配的值。
对此,任何建议都将不胜感激。谢谢您。
是否有人知道在FME存储或类似存储中是否有允许您跨多个属性执行相同计算的内容?例如将所有选定属性乘以0.0001
您好!
我有一个工作流,我亚搏在线们在其中调用一个自定义算术函数(doubleasraw64)来基于旧值生成一个新的属性值——这发生在20多个不同属性的工作区中。
我们目前通过使用attributeManager和:
1)检查属性值是否有值
2)如果它有一个值,那么我们执行@evaluate(@doubleasraw64(@value(nameofattribute)))
我想把它封装在一个定制的转换器中,在这里我只需要检查列表中的属性-然后转换器将对这些属性应用doubleasraw64函数。这将创造一个干净的工作场所,并将打字错误等风险降至最低。
我尝试创建一个超简单的自定义转换器,其中一个属性列表作为已发布的参数属性“to”raw64。
以及设置为覆盖$(attributes_to_raw64)中的属性的单个ExpressionEvaluator。
算术表达式为@evaluate(@doubleasraw64(@currentAttribute()))
如果我在属性“to”中选择了一个属性,这就可以工作了,但是一旦我选择了更多的属性,转换器就会失败。
所以我的问题是:
1)我如何实现这一点,以便它与不止一个被选择为每个特性评估的属性一起工作?
2)如何最好地实现快速空检查?
3)我如何以一种有效的方式做到这一点(因为将有数以百万计的特性通过这一点)。
我会感激你的指点!:)
谢谢您!
自定义变压器:双easraw64-2.fmx
目前,PointCloudExpressionEvaluator没有条件值的工作选项。选项可用,但不起作用(错误为“PointCloudExpressionEvaluator(PointCloudEvaluationFactory):无法分析表达式“List子句…”。我还把这个记录为C115855。
然而,不应删除此功能,但应将其固定。否则,我们必须将点云转换为点来进行条件计算,并重新组装点云,这会增加处理时间。