如何基于QlikSense中的if条件汇总并获取列的总和?

时间:2019-09-26 03:10:03

标签: qliksense


名称不加标记

Raja 111R 10

Raja 111R 10

Rani 111R 10

Ram 111Y 10

我正在尝试这样的表达式: if(Name ='Raja'OR Name ='Ram',RollNo&':'&round(aggr(sum(Marks),RollNo)/ sum(total(Marks))* 100,0.01)&'%')< / p>

我期望的答案是:拉贾:30%,拉姆:40% 相反,我目前得到的答案是Raja:60%,Ram:40%

1 个答案:

答案 0 :(得分:0)

您应该已经显示了内联负载的示例。

学生: 加载*内联[ 名称,Roll_No,标记 拉贾(Raja)10、30 拉贾(10,50) 拉姆12月20日 Ram,12,10];

执行此操作后,将创建带有Dimension的表: =名称 并测量 = sum(Marks)/ 100,数字格式为:自动->数字,然后为12.3%

如果要显示在KPI中,请使用: if(Wildmatch(Name,'Raja'),sum(Marks)/ 100)for Raja if(Wildmatch(Name,'Ram'),sum(Marks)/ 100)for Ram

从不使用IF(name ='Raja'.....)始终使用Wildmatch(字段名,'Raja','Ram'等)

aggr()是一个非常有用的函数,主要用于集合分析,但功能繁重。尽量避免。

更多信息,请访问: https://help.qlik.com/en-US/sense/June2019/Subsystems/Hub/Content/Sense_Hub/Scripting/ConditionalFunctions/wildmatch.htm