2

在我的一些报告中,我想排除周末发生的事件,因为我们的应用程序是一个不在周末运行的业务应用程序,但我们会在周末进行代码更新和结果测试,这可能会扭曲数据。

我试过了:

and toint(dayofweek(timestamp)) >= 1 and toint(dayofweek(timestamp)) >= 5 //between Monday and Friday

但是dayofweek返回一个时间跨度,而不是一个 int,并且toint转换不起作用(没有抛出错误,但结果是一个空列。

那么如何排除周末呢?你能转换timespanint另一种方式吗?或者还有其他方法可以剥这只猫的皮吗?

4

2 回答 2

3

以下似乎对我有用:

| parse tostring(dayofweek(timestamp)) with dayOfWeek:int ".00:00:00"

沿着这条线,dayOfWeek是一个整数,代表当天。从那里你可以根据需要切片和切块。

另一种选择是使用substring- 可能更快parse

| project dayOfWeek = toint(substring(tostring(dayofweek(timestamp)), 0, 1))
于 2017-03-02T19:19:12.827 回答
0

将一个时间戳除以另一个可以返回它们的比率。所以,如果你除以dayofweek(timestamp)1d会得到你需要的结果。

于 2017-09-18T21:02:55.620 回答