我在当地政府工作,我正在使用垃圾收集车的远程信息处理数据和我们的垃圾处理合作伙伴的地磅数据构建一份BI报告,以分析特定地理位置的居住垃圾的成分。
我们的垃圾收集车队上的远程信息处理系统可用于生成关于每个被提升的居民垃圾桶位置的报告,包括日期时间,车辆登记和WGS84经纬度。
车辆每天在垃圾处理厂卸载几次,提供机票号码和重量,我们定期通过电子邮件接收的单个负载的类型和质量。这包括车辆登记和日期时间。
使事情复杂化;根据排队和故障情况,车队之间经常会交换车辆,可以帮助其他时间,反之亦然,有时还会使用备用车辆。这意味着不足以简单地将每天的垃圾箱提升总量与日期和车辆进行匹配。
我的解决方案是加入每个远程信息处理记录,其中一个箱子从地磅上被提升到特定的票上,当车辆下一次清空时,随着时间的推移,这将允许空间分析,指出将不可回收废物放入回收收集的特定区域。
简而言之,我希望每个特定的垃圾箱升降机的点数据与装载物的票号相结合。
我的主要问题是基于多个条件的连接,基于小于日期时间的联接,以及如何将两者结合起来。
如有任何帮助,我们将不胜感激。
远程通信数据:
日期时间,车辆登记,纬度,经度
地磅数据:
日期时间,车辆登记,重量,质量
我有一个attributeCreator,用于创建一个名为“regdate”的新属性,其值为:
@日期时间分析(@value(supByRegPlanDate),%ES)
regdate的输出是字符串:@datetimeparse(1543293100000,%ES)
然而,我预计产量类似于:20181127043140
任何关于为什么输出显示从特性中获得值的表达式的建议,但是,没有创建日期时间?
你好,
我正试图在一个FME工作区内建立一种方法,根据一周中的某一天在工作区内运行选择变压器。以及其他基于月份的部分。
我有各种外部数据集,我想通过从外部提取它们来在内部刷新(SDE);一些数据集将于每周二提取,而其他的则按季度计算(2/1、5/1、8/1、11/1)。我将每天从FME服务器运行工作区,但工作区内的编码将根据预设条件刷新。
我正在运行FME 2018.1版本18547
我有一个Google工作表,我正试图在其中读取它的时间戳作为属性,年/月/日hh:mm:ss。我只想阅读那些介于提供日期和时间之间的功能——比如说,在2018年9月22日12:00:00到2018年10月22日12:00:00之间的记录。此时间范围将每月更改。所有这些都会提供给一份月度报告,但谷歌的工作表是累积的。
有没有一种方法可以创建一个用户参数来只读取需要的日期?
我遇到的另一个问题是,尽管在工作表中是这样格式化的,但读卡器似乎没有将时间戳作为日期-时间格式读取。现在我在读卡器后面使用测试仪,并将模式设置为日期/时间。读取数据时,测试仪显示“无法进行日期/时间比较…将其作为字符串进行比较”。所有记录都没有通过检测仪,其中74个应该通过。如何将timestamp属性设置为以日期时间读取和处理?
我想根据当前时间-1天筛选视图。我有正确的日期格式在FME中工作,属性创建者返回正确的值-采用SQL Server要求的格式。
不幸的是,字符串似乎正在被分析。
MS SQL Server Spatial(JDBC)读卡器:执行SQL:选择[标题],[用户邮件][登录],[公司],[申请日期],[主题\列表],[age_min],[age_max],[请求区域],[下载状态],[Row_Created_Date]来自[DBO]。[V_Self_Service_Activity_Report]其中[Request_Date]>转换(日期时间,'@datetimeformat(@datetimeadd(@round(@datetimenow(),2),,-P1D)%y-%m-%d%h:%m:%s)',102)
com.microsoft.sqlserver.jdbc.sqlserverException:从字符串转换日期和/或时间时转换失败。
Where条件:
[请求日期]>转换(日期时间,'@datetimeformat(@datetimeadd(@round(@datetimenow(),2),,-P1D)%y-%m-%d%h:%m:%s)',102)
在正确返回的属性creator中,它是:
@日期时间格式(@datetimeadd(@round(@datetimenow(),2),-P1D)%y-%m-%d%h:%m:%s)
返回-2018-11-20 17:09:36.3
任何帮助都很好,谢谢您
当我们创建一个用户参数时,能够将datetime函数用于默认值是非常好的。
更多解释在这里
我有两个字符串字段(TimeStartedTzone,timeendedcTzone)的格式如下所示。尽管使用字符串作为输入而不是日期时间数据类型,但如何计算小时数的差异?
我有一个名为“开始日期”的日期字段和一个名为“开始时间”的军用文本字段。基于这两者,我想创建一个名为“日期-时间组合”的新列(如上所示),格式如下:mm/d d/yyy hh:mm am/pm。
实现这一目标的最佳方法是什么?
嗨,大家好,
我想知道在FME中创建一个新列的最佳方法是什么,比如说上次修改日期,然后提取上次Excel文件保存到每个记录的列中的时间?
谢谢
我在读Excel文件,似乎大多数日期时间都无法读取
例如,在下午5点显示hh:mm:ss为166000,因此它不能转换它,因为60分钟无效。
“20181007166000”不是FME日期时间。YYYYMMD,应为hhmmss[.x+][(+/-)zz]或yymmddhhmmss[.x+][(+/-)zz]。使用DateFormatter转换器调整日期时间字符串的格式。
任何想法
我正在使用日期差异计算器计算完成日期(包含日期和时间)与现在之间的天数差异。这是为了查明完成日期是否在过去30天内。我现在已经使用datediff函数将其转换为SQL查询:select datediff(day,完成日期,当前时间戳)来自…
SQL函数向日期差异计算器返回不同的结果,通常少于1天。例如,日期差异计算器表示今天(9月14日)与8月17日的完成日期之间的差异为29,但是SQL Server(和Excel)说28。确切地说,完成日期为2018年8月17日00:32:00,对比时间约为2018年9月14日17:20:00。excel给出的差为28.7,我会四舍五入到28,因为还没有29天。
看看嵌入式变压器,如果小数点值大于或等于.5,则显示DateDifferenceCalculator正在对输出值进行取整。SQL Server datediff函数有点复杂,因为正如这个stackoverflow主题所说,“datediff使用日期部分的边界。所以对于“天”,23:59今天是明天00:01前一整天。
https://stackoverflow.com/questions/5131958/datediff-rounding
例如:
选择日期差异(天,'2018-09-14 23:59:00','2018-09-15 00:01:00')
=1个
为了得到更精确的值,你得有时间,然后除以24:
选择(转换(数字(10,3),DATEDIFF(小时,'2018-09-14 23:59:00','2018-09-15 00:01:00')/24
=0.04166,然后您可以根据自己的情况进行旋转。
对于这个比较,DateDifferenceCaluator返回零,我同意。
所以这两种方法似乎都不完美。有什么想法吗?
当从一个Oracle数据库读取数据时,如果该表包含时间戳信息,那么我会得到错误信息。
从OCI日期时间转换为C字符串时出错:`ORA-01805:日期/时间操作可能出错'(serverType=`oracle8i',servername=`***',用户名=`***,密码= ***,dBNE=’`
在FME桌面2018.1.0.2中,我可以在OracleSpace对象读取器和SQLExecutor中重现错误吗?
该错误不会出现在FME桌面2017.1.2.1中,也不是,例如dbeaver读取和显示时间戳时出现问题。
我检查了FME桌面和DBeaver
从v$timezone_文件中选择*
使用了什么时区文件,在这两种情况下TimeZLRGG18.DAT
嘿!几天来,我一直在排除故障,我想我会联系你们,看看是否有人对这个问题有任何了解。我们办公室将说客数据集发布到Socrata数据门户来自Oracle数据库中的表。我们使用FME工作台将数据从Oracle推送到数据门户。问题是,在Oracle中,所有日期都显示为比正确日期晚一天。Oracle中的日期存储为日期/时间值,我在FME中处理过日期格式化程序,但在解决这个问题上没有这样的运气。我注意到数据门户中的日期存储为日期/时间(带时区)。所以我有一个理论,这个问题与时区有关,但我不知道在FME中将SOCRATA列的数据类型切换为日期/时间。有人有什么建议或建议吗?谢谢!
嘿,
如果我有日期时间,我想知道如何把它转换成一个字符串。
我经常遇到的一个问题是需要在模型期间记录时间戳。目前,在一个数据集中没有不同时间戳的情况下完成这项工作的主要方法是在模型开始时捕获时间戳,然后将其存储在一个参数中。
如果可以的话,我可以使用一个内置参数,例如fme_run_datetime。
当运行模型以便在以后的计算中使用时,此参数将捕获日期时间,归属,自定义日志,根据需要扇出,无需为每个模型添加多个变压器。