qliksense - 如何根据 QlikSense 中的 if 条件聚合并获取列的总和?
问题描述
姓名卷无标记
拉贾 111R 10
拉贾 111R 10
拉尼 111R 10
公羊 111Y 10
我正在尝试这样的表达式: if(Name='Raja' OR Name='Ram', RollNo &' : '& round(aggr(sum(Marks),RollNo)/sum(total(Marks))*100 ,0.01)&'%')
我预期的答案是:Raja:30%, Ram:40% 相反,我目前得到的答案是 Raja:60%, Ram:40%
解决方案
您应该已经展示了一个内联加载的示例。
学生:Load * Inline [ Name, Roll_No, Marks Raja, 10, 30 Raja, 10, 50 Ram, 12, 20 Ram, 12, 10];
一旦你这样做了,创建一个带有维度的表格:=Name 和 measure =sum(Marks)/100 带有数字格式:Auto --> Number then 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(Fieldname,'Raja','Ram',etc,,etc)
aggr() 是一个非常有用的函数,主要用于集合分析,但非常重。如果可能,尽量避免。
推荐阅读
- rust - 在 Rust 上使用 paho-mqtt
- javascript - 在 react-native 中动态包装不同组件的最佳方法是什么?
- c++ - 保存到文件实际窗口名称
- amazon-web-services - 有没有更好的方法来构建这个批处理管道?
- python - 事务失败:MIME 部分计数超过 500
- javascript - 每次迭代后如何在javascript中的二维数组中添加新列?
- python - 可以使用按钮在 Kivy 的屏幕上添加另一个标签吗
- java - 在 Java 中生成随机矩阵的最佳方法
- clojurescript - 如何从 ClojureScript 中的 Uint8Array 中获取数据?
- ruby - 从旧版 gem 中清理 gem