需要帮助在 Qlik 中编写用于时间提取的表达式

问题描述

我是 Qlik 的新手,我的项目要求我从格式为 HH:MM (AM/PM) 的现有时间字段创建格式为 HH:MM:SS (AM/PM) 的时间字段。 我找不到应该在数据管理器中编写的表达式来实现它。

示例:

现有时间:12:42:23 PM

所需格式:12:42 PM

解决方法

您可以使用这样的表达式:

time( time#(SomeField,'hh:mm:ss TT'),'hh:mm TT') )

我首先使用 time# 函数“告诉”Qlik SomeField 中的数据格式为 hh:mm:ss TT,然后将结果包装在 time 函数中以进行转换/显示结果作为时间,但传递第二个(可选)参数来指定输出格式。在我们的例子中,hh:mm TT(没有 :ss)部分。

(如果未提供 time 函数的第二个参数,则 Qlik 将使用默认时间格式,在脚本开头的 TimeFormat 变量中指定)

示例脚本:

RawData:
Load
  SomeField,time( time#(SomeField,'hh:mm TT') as TransformedField
;
Load
  '12:42:23 PM' as SomeField
AutoGenerate(1)
;

结果:

enter image description here