回答“是否有基于类型(日期时间)公开属性的方法” https://knowledge.亚搏在线safe.com/questions/24116/is-there-a-way-to-expose-attributes-based-on-type.html 问题的最新答案是“是否存在基于类型(datetime)公开属性的方法?” Daleatsafe回答亚搏在线 网址:https://knowled亚搏在线ge.safe.com/answers/24997/view.html

很有趣的问题。

它的根本是……当我们设计工作空间时所知道的,当我们运行它时我们知道什么。

当我们设计时,如果它是一个不知道模式的动态工作区,然后根据定义,我们不知道模式。所以属性公开是不可能的。我们能做的最好的就是在attributeexposer上给你一个“导入”选项,在这里你可以将你想象中遇到的所有可能的输入都输入进去,然后从中选择你想要“暴露”的,这样你就可以和他们一起工作了。但遗憾的是,你现在没有一个动态的工作空间,因为任何以前看不到的数据都可能没有公开您想要的内容。

因此,让我们来探索如何用2016年的FME很好地解决这个问题。

我将附加一个工作区——通过适当地配置FeatureReader来提供具有日期时间模式的任何数据。我们将“管理”这些日期时间字段,非常有效,在工作流结束时。亚搏在线只保留所有其他属性。并且永远不会“静态地”了解工作区中的输入数据。

诀窍是a)我们知道模式总是首先从FeatureReader(这是根据设计,对于这样的事情)。b)我们有“全局变量”,我们可以设置和重置,可以从一个“流”到另一个“流”进行通信。c)我们有一个attributeExploder,可以将每个属性的特性分解为一个特性,所以我们可以一般地处理属性。d)我们可以用聚合器重新组装东西。

我在最后加了一个减速器,只是为了证明没有阻塞。

享受。我期待反馈。@ MARK2A亚搏在线TSAFE--我们可能需要一篇关于这种技术的知识型文章。@ MARK1空间 @马尔科 高桥 埃里克詹 @戴维德你的评论特别受欢迎。动态文档格式.fmw

清华大学,2016年3月24日06:53:57格林尼治标准时间 达莱特保险箱亚搏在线
由Mark spatial回答 网址:https://knowled亚搏在线ge.safe.com/answers/24952/view.html

@马尔科你解决了吗?如果不是的话,我本周也会做一些类似的事情,这会有所帮助。

它不公开字段,但创建了一个参数,我可以在日期格式转换器中使用。对于您来说,问题可能是如果输入文件的格式不同,它可能会变得笨拙。在我的示例中,我还可以检测到日期属性,因为它是已知的数据类型。例如,如果您正在读取一个csv,这不会有帮助,因为数据类型未知。

看到https://knowledge.亚搏在线safe.com/questions/24743/format-…

结婚,2016年3月23日13:08:01格林尼治标准时间 MARK1空间
Erik_Jan回答 https://knowledge.亚搏在线safe.com/answers/24128/view.html网站

你能从这个主题中提出一个想法吗?

我希望BulkAttributeExposer具有使用通配符或按数据类型公开的选项。

清华大学,2016年3月3日格林尼治标准时间17:39:42 埃里克詹
按标记2回答亚搏在线 https://knowledge.亚搏在线safe.com/answers/24127/view.html网站

如果没有某种脚本,我看不出你怎么能做到这一点。attributeExploder和listconnator可能会为您提供属性名列表。然后将日期格式设置工具复制/粘贴到文本编辑器中,您将看到底层脚本,您可以在TclCaller中重新创建这些脚本并适应您的需要。我就是这样开始的。希望它有帮助!

马克

清华大学,2016年3月3日格林威治标准时间17:34:56 MARK2AT亚搏在线SAFE
大卫·R回答 https://knowledge.亚搏在线safe.com/answers/24118/view.html网站

您可以在JSontemplater中键入将属性强制转换为字符串,如果这对你有帮助:

“updated_at”:xs:string(fme:get attribute(“my_date_attribute”))

否则,可以使用pythoncaller循环所有传入的属性,并将它们重新创建为字符串。

戴维

清华大学,2016年3月3日16:10:46格林尼治标准时间 戴维德
GIO的回答 https://knowledge.亚搏在线safe.com/answers/24117/view.html网站

你可以使用一个模式阅读器,通过测试仪选择日期类型属性。

然后对数据进行合并以选择要重新格式化的数据。

attributeExploder也可以用于此。

清华大学,2016年3月3日16:09:23格林尼治标准时间 吉奥