需求:
在现有的报表中,用户新发现有一部分数据需要被“排除”掉,即,在生成统计分析视图时忽略这些数据。但同时,用户希望保留这些数据的查询。
解决方法:
增加一个计算列,用于标记这个不需要的列。具体的表达式为:
If((Find("ENG-",Upper([QUESTION]))>=1) OR
(Find("ENG)",Upper([QUESTION]))>=1) OR
(Find("ENG ",Upper([QUESTION]))>=1) OR
(Find("ENG:",Upper([QUESTION]))>=1) OR
(Find("- ENG",Upper([QUESTION]))>=1) OR
(Find("-ENG",Upper([QUESTION]))>=1),"Y","N")
这个字段应该来自用户的手动输入,所以,公式写的比较长。看来,规范用户输入时很有必要的(这可能也是为什么要不断给用户培训的原因吧)。
上式中,通过Find函数来判断字段中是否包含“ENG”等字符串, UPPER函数则减少了分支个数(用户输入时使用的大小写不同一,如, eng, Eng, ENG等)。