获取最大时间段、对应值、以及时间段不现实问题

浏览: 2223

前提:时段维表,指标

一、新建数据项sd_first、sd_second,其值分别为:item(topCount([时段],2,[总流量]),0)、item(topCount([时段],2,[总流量]),1),获得总流量最大和次大的时间段

二、新建数据项sd_first总流量、sd_second总流量,其值分别为value(tuple(item(topCount([时段],2,[总流量]),0),[总流量]))、value(tuple(item(topCount([时段],2,[总流量]),1),[总流量])),获得最大和次大时间段对应的指标值

三、如果有多个指标可以重复上面的,多个指标的情况下用case when有时起作用有时不起作用,醉人。其中index_ind是用只提示做的可以选择多个指标,0,1,...,6分别代表不同指标,指标不同时间段不同。注意需要用caption,负责时间段显示不出来

IF ( ?index_ind?=0 ) THEN

    (caption([sd_first) )

ELSE 

    (IF ( ?index_ind?=1 ) THEN

    (caption([sd_first本地大]) )

ELSE 

    ( IF ( ?index_ind?=2 ) THEN

    (caption([sd_first本地小]) )

ELSE 

    ( IF ( ?index_ind?=3 ) THEN

    (caption([sd_first本省大]) )

ELSE 

    (IF ( ?index_ind?=4 ) THEN

    (caption([sd_first本省小]) )

ELSE 

    ( IF ( ?index_ind?=5 ) THEN

    (caption([sd_first外省大]) )

ELSE 

    ( caption([sd_first外省小]))) ))) )

四、时间段对应的指标值

IF ( ?index_ind?=0 ) THEN

    (([sd_first总流量]) )

ELSE 

    (IF ( ?index_ind?=1 ) THEN

    (([sd_firstindex本地大]) )

ELSE 

    ( IF ( ?index_ind?=2 ) THEN

    (([sd_firstindex本地小]) )

ELSE 

    ( IF ( ?index_ind?=3 ) THEN

    (([sd_firstindex本省大]) )

ELSE 

    (IF ( ?index_ind?=4 ) THEN

    (([sd_firstindex本省小]) )

ELSE 

    ( IF ( ?index_ind?=5 ) THEN

    (([sd_firstindex外省大]) )

ELSE 

    ( ([sd_firstindex外省小]))) ))) )


ok,烦人的是if else嵌套太多,但是在用case when时有些起作用,有些就失效!

推荐 0
本文由 华青莲 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册