Qlikview时间戳格式化为微秒?

时间:2015-03-04 12:02:49

标签: qlikview

在qlikview中,我可以通过将时间戳格式设置为: -

,以毫秒为单位获取时间戳
SET TimestampFormat='MM/DD/YYYY hh:mm:ss.fff';

我想知道是否有办法在qlikview中获得时间戳到微秒。

2 个答案:

答案 0 :(得分:4)

从TimeField获取微秒的公式:

((frac(TimeField) * 86400000) - floor(frac(TimeField) * 86400000)) * 1000 as Micro

我会使用这个公式进行格式化:

Timestamp(TimeField - (Micro/86400000000)) & Num(floor(Micro), '000') as TimeStamp

答案 1 :(得分:1)

据我可以从QlikView帮助中确定,没有微秒的格式说明符,只有几毫秒。

如果你需要从一段时间内获得微秒值,我会迅速将下面的内容放在一起(它可能会做得更整齐)。在这里,我假设您的输入时间字段称为TimeField。我们可以使用以下方法获得毫秒数:

=((TimeField-num(date(floor(TimeField)))-
num(maketime(hour(TimeField),minute(TimeField),second(TimeField))))*24*60*60)*1000

为简单起见,我将调用上述公式MillisecondCount。然后,使用此字段,我们可以计算微秒数:

=floor(((MillisecondCount)-floor(MillisecondCount))*1000)

最后,获得微秒的完整公式变为:

floor(((((TimeField-num(date(floor(TimeField)))-
num(maketime(hour(TimeField),minute(TimeField),second(TimeField))))*24*60*60)*1000)
-floor(((TimeField-num(date(floor(TimeField)))-
num(maketime(hour(TimeField),minute(TimeField),second(TimeField))))*24*60*60)*1000))*1000)

然后您可以使用num()对其进行格式化,并将其附加到时间戳字符串。