环境:BIEE 11.1.1.7...
背景:
最近项目中有这样的需求,按某业务逻辑由1或者N个A转换成1个B,当按某规则统计的时候,若成立,则所有A都成立,若不成立,则N-1个A成立,计算和A的总个数的比率。
指标逻辑复杂度就不说了,按这个逻辑很简单,所有成立的数量除以总数量就可以了。
关键是算成立的。最后逆向思维解决,如果不成立,最多出现不成立的个数为所有的B的个数,用全部的A数量减去不成立的B的数量再除以全部的A的数量即可。
大功告成,试算无误。开始开发相关明细报表,所有A都展示,不成立的某个A打'N'标识,成立的打'Y'。
初一看很简单,该打'N'的打'N',可若不成立,N个A中任意一个打'N',被这个任意难住了。
按B分组后,第1个打'N'即可。逻辑很简单,开始。rcount?max?min?一个个尝试过后嘲笑我的失败。
后来被同事提醒,才想起来遗忘已久的EVALUATE函数,于是EVALUATE_ANALYSIS调用row_number() OVER() 子句完美的解决了该问题。