Saiku对Measure(指标)查询结果进行计算后显示的方法

在通过Saiku查询数据的时候,当需要改变查询结果的显示方式的时候,可以添加formatString属性,但是当需要计算查询结果的时候,则需要使用CellFormatter,使用方法如下:

<Measure name="XXSJCD" column="zxsc" aggregator="sum" caption="%{measure.name.XXSJCD}" visible="true">
        <CellFormatter>
        <Script language="JavaScript">
            <![CDATA[
            var result_string = '';
            // access Mondrian value
            var sec =  value;
            var hours = Math.floor(sec/(60*60));
            var minutes = Math.floor((sec/60) - (hours*60));
            var seconds = Math.floor(sec - (hours*60*60) - (minutes*60));
            result_string = hours.toString() + ':' + minutes.toString() + ':' + seconds.toString();
            return result_string;
            ]]>
        </Script>
    </CellFormatter>
    </Measure>

上面的查询的Measure(指标)为时间,查询结果为总秒数,但是想要以“小时:分钟:秒”的格式显示,通过CellFormatter添加函数(函数中value为总秒数),计算后返回显示结果。

原文地址:https://www.cnblogs.com/Jason-Xiang/p/5209733.html