我试图在qlik意义上创建一个表达式来计算每个prod加起来且大于0的ID的不同数量。
到目前为止,Qlik感觉表达,但错误:总和(aggr(计数(DISTINCT ID),PROD1 + PROD2 + PROD3))
我不太确定如何添加表达式添加> 0和年月。
使用sql:
select count(distinct ID) as Number
from tb1 x
where (x.Prod1 + x.Prod2 + x.Prod3)> 0
x.Year = '2016/05'
任何帮助都会很棒,
感谢。
答案 0 :(得分:0)
最简单的方法是使用if语句,代码
select count(distinct ID) as Number
from tb1 x
where (x.Prod1 + x.Prod2 + x.Prod3)> 0
x.Year = '2016/05'
变为
count (DISTINCT, if((PROD1 + PROD2 + PROD3)>0,ID)))
答案 1 :(得分:0)
numsum(Prod1,Prod2,Prod3) as Prod_Total
" numsum"也将null转换为0!如果Prod1,Prod2或Prod3为空,则总计为空。
在图表中使用此calc:
count({<Prod_Total={'>0'}>} Distinct ID)
答案 2 :(得分:0)
如果数据库中有日期字段,则需要在数据模型脚本中创建日期(Date(mydate, 'YYYYMM') as YearMonth
)中的YearMonth字段,然后将其放在表达式中:
count({<Prod1={'>0'}, Prod2={'>0'}, Prod3={'>0'}, YearMonth={'201605'}>}[distinct ID])
如果数据库中的字段Year已经是yearmonth字段,则可以执行此操作(但我建议使用第一种方法):
count({<Prod1={'>0'}, Prod2={'>0'}, Prod3={'>0'}, Year={'2016/05'}>}[distinct ID])
您应该从Qlik网站上阅读此help section,了解有关设置分析的信息