簡體   English   中英

根據Spotfire中另一列的特定值計算列

[英]Calculate column from a specific value from another column in Spotfire

我在計算當前星期的“一周的年齡”時遇到了麻煩。 我不想使用Week()表達式,因為我的數據使用了除Spotfire之外的其他周數(不能更改區域和位置)。 每天我的數據表都會刷新,因此我的計算列[Age_of_Day]計算了從當前(實際)日期開始的幾天的時間。 現在,我要計算實際周的周齡。 我在這里有數據樣本:

RowID  Week  Day  Date       Age_of_Day
12     20    do   17-5-2018   8
13     20    vr   18-5-2018   7
14     20    za   19-5-2018   6
15     21    zo   20-5-2018   5
16     21    ma   21-5-2018   4
17     21    di   22-5-2018   3
18     21    wo   23-5-2018   2
19     21    do   24-5-2018   1
20     21    vr   25-5-2018   0
21     21    za   26-5-2018  -1
22     22    zo   27-5-2018  -2
23     22    ma   28-5-2018  -3
24     22    di   29-5-2018  -4
25     22    wo   30-5-2018  -5
26     22    do   31-5-2018  -6
27     22    vr   1-6-2018   -7

現在,我想要一個新列[Age_of_Week],當[Age_of_Day] = 0時,該列計算[Week]的值與[Week]的值之間的每一行的差。 應該是這樣的:

RowID  Week  Day  Date       Age_of_Day Age_of_Week
12     20    do   17-5-2018   8          1
13     20    vr   18-5-2018   7          1
14     20    za   19-5-2018   6          1
15     21    zo   20-5-2018   5          0
16     21    ma   21-5-2018   4          0
17     21    di   22-5-2018   3          0
18     21    wo   23-5-2018   2          0
19     21    do   24-5-2018   1          0
20     21    vr   25-5-2018   0          0
21     21    za   26-5-2018  -1          0
22     22    zo   27-5-2018  -2         -1
23     22    ma   28-5-2018  -3         -1
24     22    di   29-5-2018  -4         -1
25     22    wo   30-5-2018  -5         -1
26     22    do   31-5-2018  -6         -1
27     22    vr   1-6-2018   -7         -1

希望有人可以幫助我。 我想我必須使用OVER()語句和Intersect(),但在這種情況下我不知道如何。 不幸的是,在其他主題的幫助下我找不到答案。

從版本7開始,您可以使用嵌套聚合,因此此表達式應該有效。

First(case  when [Age_of_Day]=0 then [Week] end) - [Week]

我找到了答案,而且非常簡單。 [Age_of_Week]的表達式現在為:

If([Age of Day]>=0,Max([Week]) - [Week],If([Age of Day]<0,Min([Week]) - [Week],NULL))

僅當周數保持連續(如我的情況)且未從52重置為1時,此方法才能正常工作。否則,需要在表達式中添加Year()。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM