如何在 BusinessObjects 中为日期字段使用密集排名

问题描述 投票:0回答:1

我正在尝试过滤 BusinessObjects 中仅最近 4 周的数据。在下面的示例中,我想检索以下日期(最近几周)的数据。

Week Date
是一个字段,它是一周中的每个星期一日期。

  1. 10/9/2017
  2. 10/2/2017
  3. 9/25/2017
  4. 9/18/2017
Week Date   Sales
8/28/2017   100
8/28/2017   101
9/4/2017    102
9/4/2017    103
9/11/2017   104
9/11/2017   105
9/18/2017   106
9/18/2017   107
9/25/2017   108
9/25/2017   109
10/2/2017   110
10/2/2017   111
10/9/2017   112

我尝试使用 Rank Function 并花了数小时寻找解决方案但没有运气。我希望 Dense Rank 能有所帮助,稍后我可以过滤 1 到 4.

business-objects
1个回答
0
投票

您可以在一个变量和该变量的过滤器中执行此操作,但我喜欢将事情分解以准确了解正在发生的事情。您以后可以随时组合变量。

首先,创建一个变量来表示截止日期...

[CutOff Date] = RelativeDate(CurrentDate(); -4; WeekPeriod)

其次,创建另一个变量以确定是否应包括特定的一周...

[Last Four Weeks] = If([Week Date] > [CutOff Date]; 1; 0)

最后,创建过滤器以仅显示过去四个星期...

[Last Four Weeks] = 1

您可能需要根据运行报告的时间调整值,但这是一般的想法。

正如我之前提到的,您可以将 [CutOff Date] 和 [Last Four Weeks] 组合成一个变量...

[Last Four Weeks] = If([Week Date] > RelativeDate(CurrentDate(); -4; WeekPeriod)
; 1; 0)

诺埃尔

© www.soinside.com 2019 - 2024. All rights reserved.