Qlikview 时间戳格式化至微秒?

Qlikview Timestamp formatting upto microseconds?

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

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

我想知道是否有办法在 qlikview 中获取微秒级的时间戳。

据我从 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() 格式化并将其附加到您的时间戳字符串。

从 TimeField 中获取微秒的公式:

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

我会使用这个公式来格式化:

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