我已经看过文档有开始日期和结束日期"小部件"然而,当用户输入日期时,我正在寻找动态解决方案,例如在下表中,当我选择日期时,说" 1/1/2004",我只想要看到活跃的球员(这只会排除迈克尔乔丹)。
Jersey#Name RookieYr RetirementYr平均PPG 23 Michael Jordan 1/1/1984 1/1/2003 24 33 Scotty Pippen 1/1/1987 1/1/2008 15 1 Derrick Rose 1/1/2008 1/1/9999 16 25 Vince Carter 1/1/1998 1/1/9999 18
答案 0 :(得分:1)
最灵活的方法是将InterokMatch将RookieYr * RetireYr日期纳入所有日期的表格中。有关完整示例,请参阅http://qlikviewcookbook.com/recipes/download-info/count-days-in-a-transaction-using-intervalmatch/。
答案 1 :(得分:0)
这里是您的数据的时间间隔匹配。您可以随意创建日历。
STATS:
load * inline [
Jersey#, Name, RookieYr, RetirementYr, Average, PPG
23, Michael Jordan, 1/1/1984, 1/1/2003, 24
33, Scotty Pippen, 1/1/1987, 1/1/2008, 15
1, Derrick Rose, 1/1/2008, 1/1/9999, 16
25, Vince Carter, 1/1/1998, 1/1/9999, 18
];
let zDateMin=37000;
let zDateMax=40000;
DATES:
LOAD
Date($(zDateMin) + IterNo() - 1) as [DATE],
year( Date($(zDateMin) + IterNo() - 1)) as YEAR,
month( Date($(zDateMin) + IterNo() - 1)) as MONTH
AUTOGENERATE 1
WHILE $(zDateMin)+IterNo()-1<= $(zDateMax);
INTERVAL:
IntervalMatch (DATE) load RookieYr, RetirementYr resident STATS;
left join (DATES) load * resident INTERVAL; drop table INTERVAL;
您需要加载2个表,其中一个包含开始日期和结束日期,另一个表格包含日历日期,然后您将时间间隔与日期字段匹配到开始和结束字段,并从那里开始工作最后一次加入只是为了整理一下。
所有这一切的结果就是这个ctrl-t。不要担心维持间隔匹配所需的Syn密钥。
然后你就可以拥有这样的东西。
Derrick Rose也被排除在外,因为他没有在1/1/2004开始