Qlikview恶化与条件 [英] Qlikview aggration with conditions
问题描述
我有一些数据如下所示 -
I have some data like below -
id, fn, ln, logdate
1, Rob, Hep, 01-04-2010
2, Rob, Hep, 09-04-2010
3, Rob, Hep, 10-10-2012
4, Rob, Hep, 01-12-2009
5, Peter, Cheng, 02-10-2010
6, bob, Pen, 05-10-2009
7, Peter, Cheng, 01-10-2009
8, Kim, Rany, 08-01-2010
我将不得不写一个表达式
I will have to write an expression
- 通过fn + ln组合上述数据。
- 从组获取最小(logdate)的记录
- 对于上述每个最小日志记录,查找日期是否高于'01 -01-2010'
所以在这个例子中 -
So in this example -
我应该算一个。 (Rob Hep的最小日志是01-12-2009,Peter Cheng的01-10-2009和bob Pen's是alos 05-10-2009,所有这些都在01-01-2009之前)
I should get count as one. (Rob Hep's min log date is 01-12-2009 and Peter Cheng's 01-10-2009 and bob Pen's is alos 05-10-2009 all of them are before 01-01-2009)
可以有人帮我写这个表达吗?
Can some one help me in writing the expression for it please?
推荐答案
p>首先加载脚本:
Table:
Load id,
fn,
ln,
logdate,
fn & ' ' & ln as name,
num(Date#(logdate, 'DD-MM-YYYY')) as numdate inline [
id, fn, ln, logdate
1, Rob, Hep, 01-04-2010
2, Rob, Hep, 09-04-2010
3, Rob, Hep, 10-10-2012
4, Rob, Hep, 01-12-2009
5, Peter, Cheng, 02-10-2010
6, bob, Pen, 05-10-2009
7, Peter, Cheng, 01-10-2009
8, Kim, Rany, 08-01-2010
];
我添加了一个字段的名称,另外一个字段用于日期的数值。这使得set表达式变得更容易(甚至可能)。
I added one field for the name and an other one for the numeric value of the date. That makes it easier (even possible?) in the set expression.
然后我添加了一个变量
vNumdate = num(date#('01-01- 2010,DD-MM-YYYY))
,以便您可以在仪表板中进行编辑。
Then I added a variable vNumdate =num(date#('01-01-2010','DD-MM-YYYY')) so you can edit it in the dashboard.
在仪表盘中,我拥有所有字段textfield包含 vNumdate 和
图(类型表)。
In the dashboard I have all the fields, a textfield containig the vNumdate and a diagram (type table).
图的维度是字段名称
而公式是:
Min date
=min(numdate)
Count since 1.1.10
=Count({$<numdate = {">=$(vNumdate)"}>} numdate)
这是 qlikview :
(希望我说得对)。
这篇关于Qlikview恶化与条件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!