如何在type2维度表上应用日期范围过滤器?

时间:2017-03-03 06:29:42

标签: sql tableau dimensional-modeling

我有一个画面报告,其中包含作为参数的开始日期和结束日期。 我有一个类型为2的表,具有用户的开始日期和用户的结束日期。样本数据如下

user_id  partner  user_start_date   user_end_date
U1       XYZ      2016-07-10        2016-07-23
U1       XYZ      2016-07-24        2016-07-30
U1       ABC      2016-07-31        2999-12-31
U2       ABC      2015-10-01        2999-12-31

现在,我需要在tableau报告中获取所选日期范围之间的所有有效用户。我尝试应用以下计算字段并过滤报告

    IF ( [Start Date] >= [User Start Date] 
         AND [Start Date] <= [User End Date] 
         AND [User End Date] >= [End Date] ) 
     OR    
    ( [User Start Date] >= [Start Date] AND
      [User Start Date] <= [End Date] AND
      [User End Date] >= [End Date]
    )
THEN 'Show' ELSE 'Hide' END

想知道这是否正确以及是否有其他简单方法。

1 个答案:

答案 0 :(得分:0)

这应该更好:

IF ([User Start Date] >= [Start Date] AND [User End Date] >= [Start Date])
   AND
   ([User Start Date] <= [End Date] AND [User End Date] >= [End Date])

THEN 'Show' ELSE 'Hide' END