数据库报表

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

数据库报表


前言

利用oracle语句完成数据库报表


一、报表详情

预算因素
注:合计、预算占比、实际占比、Gap需要通过一定的计算得出,其中预算占比和实际占比需要通过预算总和、实际总和做除法得出

二、步骤

1.首先通过数据库查询出累计、一月至十二月的预算和实际预算的数据(Gap为实际减预算可一同得出)

代码如下(示例):

DETAIL AS
                (
                    SELECT
                        SUBJECT_LEVEL1,
                        --年度累计
                        ROUND(YS_YEAR_FEE_TOTAL, 2) YS_YEAR_FEE_TOTAL,
                        ROUND(SJ_YEAR_FEE_TOTAL, 2) SJ_YEAR_FEE_TOTAL,
                        ROUND(SJ_YEAR_FEE_TOTAL - YS_YEAR_FEE_TOTAL, 2) YEAR_FEE_GAP,
                        --1月
                        ROUND(YS_MONTH1_FEE_TOTAL,2) YS_MONTH1_FEE_TOTAL,
                        ROUND(SJ_MONTH1_FEE_TOTAL, 2) SJ_MONTH1_FEE_TOTAL,
                        ROUND(SJ_MONTH1_FEE_TOTAL - YS_MONTH1_FEE_TOTAL, 2) MONTH1_FEE_GAP,
                        --2月
                        ROUND(YS_MONTH2_FEE_TOTAL, 2) YS_MONTH2_FEE_TOTAL,
                        ROUND(SJ_MONTH2_FEE_TOTAL, 2) SJ_MONTH2_FEE_TOTAL,
                        ROUND(SJ_MONTH2_FEE_TOTAL - YS_MONTH2_FEE_TOTAL, 2) MONTH2_FEE_GAP,
                        --3月
                        ROUND(YS_MONTH3_FEE_TOTAL, 2) YS_MONTH3_FEE_TOTAL,
                        ROUND(SJ_MONTH3_FEE_TOTAL, 2) SJ_MONTH3_FEE_TOTAL,
                        ROUND(SJ_MONTH3_FEE_TOTAL - YS_MONTH3_FEE_TOTAL, 2) MONTH3_FEE_GAP,
                        --4月
                        ROUND(YS_MONTH4_FEE_TOTAL, 2) YS_MONTH4_FEE_TOTAL,
                        ROUND(SJ_MONTH4_FEE_TOTAL, 2) SJ_MONTH4_FEE_TOTAL,
                        ROUND(SJ_MONTH4_FEE_TOTAL - YS_MONTH4_FEE_TOTAL, 2) MONTH4_FEE_GAP,

                        --5月
                        ROUND(YS_MONTH5_FEE_TOTAL, 2) YS_MONTH5_FEE_TOTAL,
                        ROUND(SJ_MONTH5_FEE_TOTAL, 2) SJ_MONTH5_FEE_TOTAL,
                        ROUND(SJ_MONTH5_FEE_TOTAL - YS_MONTH5_FEE_TOTAL, 2) MONTH5_FEE_GAP,
                        --6月
                        ROUND(YS_MONTH6_FEE_TOTAL, 2) YS_MONTH6_FEE_TOTAL,
                        ROUND(SJ_MONTH6_FEE_TOTAL, 2) SJ_MONTH6_FEE_TOTAL,
                        ROUND(SJ_MONTH6_FEE_TOTAL - YS_MONTH6_FEE_TOTAL, 2) MONTH6_FEE_GAP,
                        --7月
                        ROUND(YS_MONTH7_FEE_TOTAL, 2) YS_MONTH7_FEE_TOTAL,
                        ROUND(SJ_MONTH7_FEE_TOTAL, 2) SJ_MONTH7_FEE_TOTAL,
                        ROUND(SJ_MONTH7_FEE_TOTAL - YS_MONTH7_FEE_TOTAL, 2) MONTH7_FEE_GAP,
                        --8月
                        ROUND(YS_MONTH8_FEE_TOTAL, 2) YS_MONTH8_FEE_TOTAL,
                        ROUND(SJ_MONTH8_FEE_TOTAL, 2) SJ_MONTH8_FEE_TOTAL,
                        ROUND(SJ_MONTH8_FEE_TOTAL - YS_MONTH8_FEE_TOTAL, 2) MONTH8_FEE_GAP,
                        --9月
                        ROUND(YS_MONTH9_FEE_TOTAL, 2) YS_MONTH9_FEE_TOTAL,
                        ROUND(SJ_MONTH9_FEE_TOTAL, 2) SJ_MONTH9_FEE_TOTAL,
                        ROUND(SJ_MONTH9_FEE_TOTAL - YS_MONTH9_FEE_TOTAL, 2) MONTH9_FEE_GAP,
                        --10月
                        ROUND(YS_MONTH10_FEE_TOTAL, 2) YS_MONTH10_FEE_TOTAL,
                        ROUND(SJ_MONTH10_FEE_TOTAL, 2) SJ_MONTH10_FEE_TOTAL,
                        ROUND(SJ_MONTH10_FEE_TOTAL - YS_MONTH10_FEE_TOTAL, 2) MONTH10_FEE_GAP,
                        --11月
                        ROUND(YS_MONTH11_FEE_TOTAL, 2) YS_MONTH11_FEE_TOTAL,
                        ROUND(SJ_MONTH11_FEE_TOTAL, 2) SJ_MONTH11_FEE_TOTAL,
                        ROUND(SJ_MONTH11_FEE_TOTAL - YS_MONTH11_FEE_TOTAL, 2) MONTH11_FEE_GAP,
                        --12月
                        ROUND(YS_MONTH12_FEE_TOTAL, 2) YS_MONTH12_FEE_TOTAL,
                        ROUND(SJ_MONTH12_FEE_TOTAL, 2) SJ_MONTH12_FEE_TOTAL,
                        ROUND(SJ_MONTH12_FEE_TOTAL - YS_MONTH12_FEE_TOTAL, 2) MONTH12_FEE_GAP

                    from
                        (
                            select SUBJECT_LEVEL1,
                                   SUM(CASE WHEN VERSION_CODE = '预算' then FEE_MONEY ELSE 0 end) YS_YEAR_FEE_TOTAL, --年度预算合计
                                   SUM(CASE WHEN VERSION_CODE = '实际' then FEE_MONEY ELSE 0 end) SJ_YEAR_FEE_TOTAL, --年度实际合计
                                   --月度明细
                                   SUM(case WHEN VERSION_CODE = '预算' and SUBSTR(YEAR_MONTH, 5, 2) = '01' then FEE_MONEY ELSE 0 END) YS_MONTH1_FEE_TOTAL,
                                   SUM(case WHEN VERSION_CODE = '实际' and SUBSTR(YEAR_MONTH, 5, 2) = '01' then FEE_MONEY ELSE 0 END) SJ_MONTH1_FEE_TOTAL,
                                   SUM(case WHEN VERSION_CODE = '预算' and SUBSTR(YEAR_MONTH, 5, 2) = '02' then FEE_MONEY ELSE 0 END) YS_MONTH2_FEE_TOTAL,
                                   SUM(case WHEN VERSION_CODE = '实际' and SUBSTR(YEAR_MONTH, 5, 2) = '02' then FEE_MONEY ELSE 0 END) SJ_MONTH2_FEE_TOTAL,
                                   SUM(case WHEN VERSION_CODE = '预算' and SUBSTR(YEAR_MONTH, 5, 2) = '03' then FEE_MONEY ELSE 0 END) YS_MONTH3_FEE_TOTAL,
                                   SUM(case WHEN VERSION_CODE = '实际' and SUBSTR(YEAR_MONTH, 5, 2) = '03' then FEE_MONEY ELSE 0 END) SJ_MONTH3_FEE_TOTAL,
                                   SUM(case WHEN VERSION_CODE = '预算' and SUBSTR(YEAR_MONTH, 5, 2) = '04' then FEE_MONEY ELSE 0 END) YS_MONTH4_FEE_TOTAL,
                                   SUM(case WHEN VERSION_CODE = '实际' and SUBSTR(YEAR_MONTH, 5, 2) = '04' then FEE_MONEY ELSE 0 END) SJ_MONTH4_FEE_TOTAL,
                                   SUM(case WHEN VERSION_CODE = '预算' and SUBSTR(YEAR_MONTH, 5, 2) = '05' then FEE_MONEY ELSE 0 END) YS_MONTH5_FEE_TOTAL,
                                   SUM(case WHEN VERSION_CODE = '实际' and SUBSTR(YEAR_MONTH, 5, 2) = '05' then FEE_MONEY ELSE 0 END) SJ_MONTH5_FEE_TOTAL,
                                   SUM(case WHEN VERSION_CODE = '预算' and SUBSTR(YEAR_MONTH, 5, 2) = '06' then FEE_MONEY ELSE 0 END) YS_MONTH6_FEE_TOTAL,
                                   SUM(case WHEN VERSION_CODE = '实际' and SUBSTR(YEAR_MONTH, 5, 2) = '06' then FEE_MONEY ELSE 0 END) SJ_MONTH6_FEE_TOTAL,
                                   SUM(case WHEN VERSION_CODE = '预算' and SUBSTR(YEAR_MONTH, 5, 2) = '07' then FEE_MONEY ELSE 0 END) YS_MONTH7_FEE_TOTAL,
                                   SUM(case WHEN VERSION_CODE = '实际' and SUBSTR(YEAR_MONTH, 5, 2) = '07' then FEE_MONEY ELSE 0 END) SJ_MONTH7_FEE_TOTAL,
                                   SUM(case WHEN VERSION_CODE = '预算' and SUBSTR(YEAR_MONTH, 5, 2) = '08' then FEE_MONEY ELSE 0 END) YS_MONTH8_FEE_TOTAL,
                                   SUM(case WHEN VERSION_CODE = '实际' and SUBSTR(YEAR_MONTH, 5, 2) = '08' then FEE_MONEY ELSE 0 END) SJ_MONTH8_FEE_TOTAL,
                                   SUM(case WHEN VERSION_CODE = '预算' and SUBSTR(YEAR_MONTH, 5, 2) = '09' then FEE_MONEY ELSE 0 END) YS_MONTH9_FEE_TOTAL,
                                   SUM(case WHEN VERSION_CODE = '实际' and SUBSTR(YEAR_MONTH, 5, 2) = '09' then FEE_MONEY ELSE 0 END) SJ_MONTH9_FEE_TOTAL,
                                   SUM(case WHEN VERSION_CODE = '预算' and SUBSTR(YEAR_MONTH, 5, 2) = '10' then FEE_MONEY ELSE 0 END) YS_MONTH10_FEE_TOTAL,
                                   SUM(case WHEN VERSION_CODE = '实际' and SUBSTR(YEAR_MONTH, 5, 2) = '10' then FEE_MONEY ELSE 0 END) SJ_MONTH10_FEE_TOTAL,
                                   SUM(case WHEN VERSION_CODE = '预算' and SUBSTR(YEAR_MONTH, 5, 2) = '11' then FEE_MONEY ELSE 0 END) YS_MONTH11_FEE_TOTAL,
                                   SUM(case WHEN VERSION_CODE = '实际' and SUBSTR(YEAR_MONTH, 5, 2) = '11' then FEE_MONEY ELSE 0 END) SJ_MONTH11_FEE_TOTAL,
                                   SUM(case WHEN VERSION_CODE = '预算' and SUBSTR(YEAR_MONTH, 5, 2) = '12' then FEE_MONEY ELSE 0 END) YS_MONTH12_FEE_TOTAL,
                                   SUM(case WHEN VERSION_CODE = '实际' and SUBSTR(YEAR_MONTH, 5, 2) = '12' then FEE_MONEY ELSE 0 END) SJ_MONTH12_FEE_TOTAL
                            from BI_FINANCE_FEE_DETAIL
                            where IYEAR = #{input.year}
                            GROUP BY SUBJECT_LEVEL1
                        ) temp        
                ),

可得到一下红圈里的数据
在这里插入图片描述

2.计算累计、一月至十二月下的预算、实际总计,以便求各自下面的预算占比和实际占比

代码如下(示例):

 tt AS
                (
                    SELECT
                        '合计' SUBJECT_LEVEL1,
                        SUM(YS_YEAR_FEE_TOTAL) YS_YEAR_FEE_TOTAL,
                        SUM(SJ_YEAR_FEE_TOTAL) SJ_YEAR_FEE_TOTAL,
                        SUM(YEAR_FEE_GAP) YEAR_FEE_GAP,
                        --1月
                        SUM(YS_MONTH1_FEE_TOTAL) YS_MONTH1_FEE_TOTAL,
                        SUM(SJ_MONTH1_FEE_TOTAL) SJ_MONTH1_FEE_TOTAL,
                        SUM(MONTH1_FEE_GAP) MONTH1_FEE_GAP,
                        --2月
                        SUM(YS_MONTH2_FEE_TOTAL) YS_MONTH2_FEE_TOTAL,
                        SUM(SJ_MONTH2_FEE_TOTAL) SJ_MONTH2_FEE_TOTAL,
                        SUM(MONTH2_FEE_GAP) MONTH2_FEE_GAP,
                        --3月
                        SUM(YS_MONTH3_FEE_TOTAL) YS_MONTH3_FEE_TOTAL,
                        SUM(SJ_MONTH3_FEE_TOTAL) SJ_MONTH3_FEE_TOTAL,
                        SUM(MONTH3_FEE_GAP) MONTH3_FEE_GAP,
                        --4月
                        SUM(YS_MONTH4_FEE_TOTAL) YS_MONTH4_FEE_TOTAL,
                        SUM(SJ_MONTH4_FEE_TOTAL) SJ_MONTH4_FEE_TOTAL,
                        SUM(MONTH4_FEE_GAP) MONTH4_FEE_GAP,
                        --5月
                        SUM(YS_MONTH5_FEE_TOTAL) YS_MONTH5_FEE_TOTAL,
                        SUM(SJ_MONTH5_FEE_TOTAL) SJ_MONTH5_FEE_TOTAL,
                        SUM(MONTH5_FEE_GAP) MONTH5_FEE_GAP,
                        --6月
                        SUM(YS_MONTH6_FEE_TOTAL) YS_MONTH6_FEE_TOTAL,
                        SUM(SJ_MONTH6_FEE_TOTAL) SJ_MONTH6_FEE_TOTAL,
                        SUM(MONTH6_FEE_GAP) MONTH6_FEE_GAP,
                        --7月
                        SUM(YS_MONTH7_FEE_TOTAL) YS_MONTH7_FEE_TOTAL,
                        SUM(SJ_MONTH7_FEE_TOTAL) SJ_MONTH7_FEE_TOTAL,
                        SUM(MONTH7_FEE_GAP) MONTH7_FEE_GAP,
                        --8月
                        SUM(YS_MONTH8_FEE_TOTAL) YS_MONTH8_FEE_TOTAL,
                        SUM(SJ_MONTH8_FEE_TOTAL) SJ_MONTH8_FEE_TOTAL,
                        SUM(MONTH8_FEE_GAP) MONTH8_FEE_GAP,
                        --9月
                        SUM(YS_MONTH9_FEE_TOTAL) YS_MONTH9_FEE_TOTAL,
                        SUM(SJ_MONTH9_FEE_TOTAL) SJ_MONTH9_FEE_TOTAL,
                        SUM(MONTH9_FEE_GAP) MONTH9_FEE_GAP,
                        --10月
                        SUM(YS_MONTH10_FEE_TOTAL) YS_MONTH10_FEE_TOTAL,
                        SUM(SJ_MONTH10_FEE_TOTAL) SJ_MONTH10_FEE_TOTAL,
                        SUM(MONTH10_FEE_GAP) MONTH10_FEE_GAP,
                        --11月
                        SUM(YS_MONTH11_FEE_TOTAL) YS_MONTH11_FEE_TOTAL,
                        SUM(SJ_MONTH11_FEE_TOTAL) SJ_MONTH11_FEE_TOTAL,
                        SUM(MONTH11_FEE_GAP) MONTH11_FEE_GAP,
                        --12月
                        SUM(YS_MONTH12_FEE_TOTAL) YS_MONTH12_FEE_TOTAL,
                        SUM(SJ_MONTH12_FEE_TOTAL) SJ_MONTH12_FEE_TOTAL,
                        SUM(MONTH12_FEE_GAP) MONTH12_FEE_GAP,
                        10 seq
                    FROM DETAIL
                ),
               

同过上述代码可以得到合计数据,如下图:
在这里插入图片描述


3.计算各自下面的预算占比和实际占比

代码如下(示例):

             ss AS
                (
                    SELECT
                        a.SUBJECT_LEVEL1 SUBJECT_LEVEL1,

                        --年度预算和实际占比
                        a.YS_YEAR_FEE_TOTAL YS_YEAR_FEE_TOTAL,
                        CASE WHEN b.YS_YEAR_FEE_TOTAL = 0 THEN '0.00' ELSE TO_CHAR(ROUND(a.YS_YEAR_FEE_TOTAL/b.YS_YEAR_FEE_TOTAL, 4) * 100, 'fm9999990.9999') END || '%' YS_YEAR_FEE_TOTAL_PROP,
                        a.SJ_YEAR_FEE_TOTAL SJ_YEAR_FEE_TOTAL,
                        CASE WHEN b.SJ_YEAR_FEE_TOTAL = 0 THEN '0.00' ELSE TO_CHAR(ROUND(a.SJ_YEAR_FEE_TOTAL/b.SJ_YEAR_FEE_TOTAL, 4) * 100, 'fm9999990.9999') END || '%' SJ_YEAR_FEE_TOTAL_PROP,
                        a.YEAR_FEE_GAP YEAR_FEE_GAP,
                        --一月
                        a.YS_MONTH1_FEE_TOTAL YS_MONTH1_FEE_TOTAL,
                        CASE WHEN b.YS_MONTH1_FEE_TOTAL = 0 THEN '0.00' ELSE TO_CHAR(ROUND(a.YS_MONTH1_FEE_TOTAL/b.YS_MONTH1_FEE_TOTAL, 4) * 100, 'fm9999990.9999') END || '%' YS_MONTH1_FEE_TOTAL_PROP,
                        a.SJ_MONTH1_FEE_TOTAL SJ_MONTH1_FEE_TOTAL,
                        CASE WHEN b.SJ_MONTH1_FEE_TOTAL = 0 THEN '0.00' ELSE TO_CHAR(ROUND(a.SJ_MONTH1_FEE_TOTAL/b.SJ_MONTH1_FEE_TOTAL, 4) * 100, 'fm9999990.9999') END || '%' SJ_MONTH1_FEE_TOTAL_PROP,
                        a.MONTH1_FEE_GAP,
                        --二月
                        a.YS_MONTH2_FEE_TOTAL YS_MONTH2_FEE_TOTAL,
                        CASE WHEN b.YS_MONTH2_FEE_TOTAL = 0 THEN '0.00' ELSE TO_CHAR(ROUND(a.YS_MONTH2_FEE_TOTAL/b.YS_MONTH2_FEE_TOTAL, 4) * 100, 'fm9999990.9999') END || '%' YS_MONTH2_FEE_TOTAL_PROP,
                        a.SJ_MONTH2_FEE_TOTAL SJ_MONTH2_FEE_TOTAL,
                        CASE WHEN b.SJ_MONTH2_FEE_TOTAL = 0 THEN '0.00' ELSE TO_CHAR(ROUND(a.SJ_MONTH2_FEE_TOTAL/b.SJ_MONTH2_FEE_TOTAL, 4) * 100, 'fm9999990.9999') END || '%' SJ_MONTH2_FEE_TOTAL_PROP,
                        a.MONTH2_FEE_GAP,
                        --三月
                        a.YS_MONTH3_FEE_TOTAL YS_MONTH3_FEE_TOTAL,
                        CASE WHEN b.YS_MONTH3_FEE_TOTAL = 0 THEN '0.00' ELSE TO_CHAR(ROUND(a.YS_MONTH3_FEE_TOTAL/b.YS_MONTH3_FEE_TOTAL, 4) * 100, 'fm9999990.9999') END || '%' YS_MONTH3_FEE_TOTAL_PROP,
                        a.SJ_MONTH3_FEE_TOTAL SJ_MONTH3_FEE_TOTAL,
                        CASE WHEN b.SJ_MONTH3_FEE_TOTAL = 0 THEN '0.00' ELSE TO_CHAR(ROUND(a.SJ_MONTH3_FEE_TOTAL/b.SJ_MONTH3_FEE_TOTAL, 4) * 100, 'fm9999990.9999') END || '%' SJ_MONTH3_FEE_TOTAL_PROP,
                        a.MONTH3_FEE_GAP,
                        --四月
                        a.YS_MONTH4_FEE_TOTAL YS_MONTH4_FEE_TOTAL,
                        CASE WHEN b.YS_MONTH4_FEE_TOTAL = 0 THEN '0.00' ELSE TO_CHAR(ROUND(a.YS_MONTH4_FEE_TOTAL/b.YS_MONTH4_FEE_TOTAL, 4) * 100, 'fm9999990.9999') END || '%' YS_MONTH4_FEE_TOTAL_PROP,
                        a.SJ_MONTH4_FEE_TOTAL SJ_MONTH4_FEE_TOTAL,
                        CASE WHEN b.SJ_MONTH4_FEE_TOTAL = 0 THEN '0.00' ELSE TO_CHAR(ROUND(a.SJ_MONTH4_FEE_TOTAL/b.SJ_MONTH4_FEE_TOTAL, 4) * 100, 'fm9999990.9999') END || '%' SJ_MONTH4_FEE_TOTAL_PROP,
                        a.MONTH4_FEE_GAP,
                        --五月
                        a.YS_MONTH5_FEE_TOTAL YS_MONTH5_FEE_TOTAL,
                        CASE WHEN b.YS_MONTH5_FEE_TOTAL = 0 THEN '0.00' ELSE TO_CHAR(ROUND(a.YS_MONTH5_FEE_TOTAL/b.YS_MONTH5_FEE_TOTAL, 4) * 100, 'fm9999990.9999') END || '%' YS_MONTH5_FEE_TOTAL_PROP,
                        a.SJ_MONTH5_FEE_TOTAL SJ_MONTH5_FEE_TOTAL,
                        CASE WHEN b.SJ_MONTH5_FEE_TOTAL = 0 THEN '0.00' ELSE TO_CHAR(ROUND(a.SJ_MONTH5_FEE_TOTAL/b.SJ_MONTH5_FEE_TOTAL, 4) * 100, 'fm9999990.9999') END || '%' SJ_MONTH5_FEE_TOTAL_PROP,
                        a.MONTH5_FEE_GAP,
                        --六月
                        a.YS_MONTH6_FEE_TOTAL YS_MONTH6_FEE_TOTAL,
                        CASE WHEN b.YS_MONTH6_FEE_TOTAL = 0 THEN '0.00' ELSE TO_CHAR(ROUND(a.YS_MONTH6_FEE_TOTAL/b.YS_MONTH6_FEE_TOTAL, 4) * 100, 'fm9999990.9999') END || '%' YS_MONTH6_FEE_TOTAL_PROP,
                        a.SJ_MONTH6_FEE_TOTAL SJ_MONTH6_FEE_TOTAL,
                        CASE WHEN b.SJ_MONTH6_FEE_TOTAL = 0 THEN '0.00' ELSE TO_CHAR(ROUND(a.SJ_MONTH6_FEE_TOTAL/b.SJ_MONTH6_FEE_TOTAL, 4) * 100, 'fm9999990.9999') END || '%' SJ_MONTH6_FEE_TOTAL_PROP,
                        a.MONTH6_FEE_GAP,
                        --七月
                        a.YS_MONTH7_FEE_TOTAL YS_MONTH7_FEE_TOTAL,
                        CASE WHEN b.YS_MONTH7_FEE_TOTAL = 0 THEN '0.00' ELSE TO_CHAR(ROUND(a.YS_MONTH7_FEE_TOTAL/b.YS_MONTH7_FEE_TOTAL, 4) * 100, 'fm9999990.9999') END || '%' YS_MONTH7_FEE_TOTAL_PROP,
                        a.SJ_MONTH7_FEE_TOTAL SJ_MONTH7_FEE_TOTAL,
                        CASE WHEN b.SJ_MONTH7_FEE_TOTAL = 0 THEN '0.00' ELSE TO_CHAR(ROUND(a.SJ_MONTH7_FEE_TOTAL/b.SJ_MONTH7_FEE_TOTAL, 4) * 100, 'fm9999990.9999') END || '%' SJ_MONTH7_FEE_TOTAL_PROP,
                        a.MONTH7_FEE_GAP,
                        --八月
                        a.YS_MONTH8_FEE_TOTAL YS_MONTH8_FEE_TOTAL,
                        CASE WHEN b.YS_MONTH8_FEE_TOTAL = 0 THEN '0.00' ELSE TO_CHAR(ROUND(a.YS_MONTH8_FEE_TOTAL/b.YS_MONTH8_FEE_TOTAL, 4) * 100, 'fm9999990.9999') END || '%' YS_MONTH8_FEE_TOTAL_PROP,
                        a.SJ_MONTH8_FEE_TOTAL SJ_MONTH8_FEE_TOTAL,
                        CASE WHEN b.SJ_MONTH8_FEE_TOTAL = 0 THEN '0.00' ELSE TO_CHAR(ROUND(a.SJ_MONTH8_FEE_TOTAL/b.SJ_MONTH8_FEE_TOTAL, 4) * 100, 'fm9999990.9999') END || '%' SJ_MONTH8_FEE_TOTAL_PROP,
                        a.MONTH8_FEE_GAP,
                        --九月
                        a.YS_MONTH9_FEE_TOTAL YS_MONTH9_FEE_TOTAL,
                        CASE WHEN b.YS_MONTH9_FEE_TOTAL = 0 THEN '0.00' ELSE TO_CHAR(ROUND(a.YS_MONTH9_FEE_TOTAL/b.YS_MONTH9_FEE_TOTAL, 4) * 100, 'fm9999990.9999') END || '%' YS_MONTH9_FEE_TOTAL_PROP,
                        a.SJ_MONTH9_FEE_TOTAL SJ_MONTH9_FEE_TOTAL,
                        CASE WHEN b.SJ_MONTH9_FEE_TOTAL = 0 THEN '0.00' ELSE TO_CHAR(ROUND(a.SJ_MONTH9_FEE_TOTAL/b.SJ_MONTH9_FEE_TOTAL, 4) * 100, 'fm9999990.9999') END || '%' SJ_MONTH9_FEE_TOTAL_PROP,
                        a.MONTH9_FEE_GAP,
                        --十月
                        a.YS_MONTH10_FEE_TOTAL YS_MONTH10_FEE_TOTAL,
                        CASE WHEN b.YS_MONTH10_FEE_TOTAL = 0 THEN '0.00' ELSE TO_CHAR(ROUND(a.YS_MONTH10_FEE_TOTAL/b.YS_MONTH10_FEE_TOTAL, 4) * 100, 'fm9999990.9999') END || '%' YS_MONTH10_FEE_TOTAL_PROP,
                        a.SJ_MONTH10_FEE_TOTAL SJ_MONTH10_FEE_TOTAL,
                        CASE WHEN b.SJ_MONTH10_FEE_TOTAL = 0 THEN '0.00' ELSE TO_CHAR(ROUND(a.SJ_MONTH10_FEE_TOTAL/b.SJ_MONTH10_FEE_TOTAL, 4) * 100, 'fm9999990.9999') END || '%' SJ_MONTH10_FEE_TOTAL_PROP,
                        a.MONTH10_FEE_GAP,
                        --十一月
                        a.YS_MONTH11_FEE_TOTAL YS_MONTH11_FEE_TOTAL,
                        CASE WHEN b.YS_MONTH11_FEE_TOTAL = 0 THEN '0.00' ELSE TO_CHAR(ROUND(a.YS_MONTH11_FEE_TOTAL/b.YS_MONTH11_FEE_TOTAL, 4) * 100, 'fm9999990.9999') END || '%' YS_MONTH11_FEE_TOTAL_PROP,
                        a.SJ_MONTH11_FEE_TOTAL SJ_MONTH11_FEE_TOTAL,
                        CASE WHEN b.SJ_MONTH11_FEE_TOTAL = 0 THEN '0.00' ELSE TO_CHAR(ROUND(a.SJ_MONTH11_FEE_TOTAL/b.SJ_MONTH11_FEE_TOTAL, 4) * 100, 'fm9999990.9999') END || '%' SJ_MONTH11_FEE_TOTAL_PROP,
                        a.MONTH11_FEE_GAP,
                        --十二月
                        a.YS_MONTH12_FEE_TOTAL YS_MONTH12_FEE_TOTAL,
                        CASE WHEN b.YS_MONTH12_FEE_TOTAL = 0 THEN '0.00' ELSE TO_CHAR(ROUND(a.YS_MONTH12_FEE_TOTAL/b.YS_MONTH12_FEE_TOTAL, 4) * 100, 'fm9999990.9999') END || '%' YS_MONTH12_FEE_TOTAL_PROP,
                        a.SJ_MONTH12_FEE_TOTAL SJ_MONTH12_FEE_TOTAL,
                        CASE WHEN b.SJ_MONTH12_FEE_TOTAL = 0 THEN '0.00' ELSE TO_CHAR(ROUND(a.SJ_MONTH12_FEE_TOTAL/b.SJ_MONTH12_FEE_TOTAL, 4) * 100, 'fm9999990.9999') END || '%' SJ_MONTH12_FEE_TOTAL_PROP,
                        a.MONTH12_FEE_GAP
                    FROM DETAIL a
                             INNER JOIN tt b ON 1 = 1
                )
               

同过上述代码可以得到各自的占比,如下图:
在这里插入图片描述

4.将ss数据和合计表连接

即将红黄合并完成报表
在这里插入图片描述

代码如下(示例):

           SELECT * FROM
            (
                SELECT ss.*, 4 seq
                FROM ss

                UNION ALL

                SELECT
                    '合计' SUBJECT_LEVEL1,

                    SUM(YS_YEAR_FEE_TOTAL) YS_YEAR_FEE_TOTAL,
                    '100%' YS_YEAR_FEE_TOTAL_PROP,
                    SUM(SJ_YEAR_FEE_TOTAL) SJ_YEAR_FEE_TOTAL,
                    '100%' SJ_YEAR_FEE_TOTAL_PROP,
                    SUM(YEAR_FEE_GAP) YEAR_FEE_GAP,
                    --1月
                    SUM(YS_MONTH1_FEE_TOTAL) YS_MONTH1_FEE_TOTAL,
                    '100%' YS_MONTH1_FEE_TOTAL_PROP,
                    SUM(SJ_MONTH1_FEE_TOTAL) SJ_MONTH1_FEE_TOTAL,
                    '100%' SJ_MONTH1_FEE_TOTAL_PROP,
                    SUM(MONTH1_FEE_GAP) MONTH1_FEE_GAP,
                    --2月
                    SUM(YS_MONTH2_FEE_TOTAL) YS_MONTH2_FEE_TOTAL,
                    '100%' YS_MONTH2_FEE_TOTAL_PROP,
                    SUM(SJ_MONTH2_FEE_TOTAL) SJ_MONTH2_FEE_TOTAL,
                    '100%' SJ_MONTH2_FEE_TOTAL_PROP,
                    SUM(MONTH2_FEE_GAP) MONTH2_FEE_GAP,
                    --3月
                    SUM(YS_MONTH3_FEE_TOTAL) YS_MONTH3_FEE_TOTAL,
                    '100%' YS_MONTH3_FEE_TOTAL_PROP,
                    SUM(SJ_MONTH3_FEE_TOTAL) SJ_MONTH3_FEE_TOTAL,
                    '100%' SJ_MONTH3_FEE_TOTAL_PROP,
                    SUM(MONTH3_FEE_GAP) MONTH3_FEE_GAP,
                    --4月
                    SUM(YS_MONTH4_FEE_TOTAL) YS_MONTH4_FEE_TOTAL,
                    '100%' YS_MONTH4_FEE_TOTAL_PROP,
                    SUM(SJ_MONTH4_FEE_TOTAL) SJ_MONTH4_FEE_TOTAL,
                    '100%' SJ_MONTH4_FEE_TOTAL_PROP,
                    SUM(MONTH4_FEE_GAP) MONTH4_FEE_GAP,
                    --5月
                    SUM(YS_MONTH5_FEE_TOTAL) YS_MONTH5_FEE_TOTAL,
                    '100%' YS_MONTH5_FEE_TOTAL_PROP,
                    SUM(SJ_MONTH5_FEE_TOTAL) SJ_MONTH5_FEE_TOTAL,
                    '100%' SJ_MONTH5_FEE_TOTAL_PROP,
                    SUM(MONTH5_FEE_GAP) MONTH5_FEE_GAP,
                    --6月
                    SUM(YS_MONTH6_FEE_TOTAL) YS_MONTH6_FEE_TOTAL,
                    '100%' YS_MONTH6_FEE_TOTAL_PROP,
                    SUM(SJ_MONTH6_FEE_TOTAL) SJ_MONTH6_FEE_TOTAL,
                    '100%' SJ_MONTH6_FEE_TOTAL_PROP,
                    SUM(MONTH6_FEE_GAP) MONTH6_FEE_GAP,
                    --7月
                    SUM(YS_MONTH7_FEE_TOTAL) YS_MONTH7_FEE_TOTAL,
                    '100%' YS_MONTH7_FEE_TOTAL_PROP,
                    SUM(SJ_MONTH7_FEE_TOTAL) SJ_MONTH7_FEE_TOTAL,
                    '100%' SJ_MONTH7_FEE_TOTAL_PROP,
                    SUM(MONTH7_FEE_GAP) MONTH7_FEE_GAP,
                    --8月
                    SUM(YS_MONTH8_FEE_TOTAL) YS_MONTH8_FEE_TOTAL,
                    '100%' YS_MONTH8_FEE_TOTAL_PROP,
                    SUM(SJ_MONTH8_FEE_TOTAL) SJ_MONTH8_FEE_TOTAL,
                    '100%' SJ_MONTH8_FEE_TOTAL_PROP,
                    SUM(MONTH8_FEE_GAP) MONTH8_FEE_GAP,
                    --9月
                    SUM(YS_MONTH9_FEE_TOTAL) YS_MONTH9_FEE_TOTAL,
                    '100%' YS_MONTH9_FEE_TOTAL_PROP,
                    SUM(SJ_MONTH9_FEE_TOTAL) SJ_MONTH9_FEE_TOTAL,
                    '100%' SJ_MONTH9_FEE_TOTAL_PROP,
                    SUM(MONTH9_FEE_GAP) MONTH9_FEE_GAP,
                    --10月
                    SUM(YS_MONTH10_FEE_TOTAL) YS_MONTH10_FEE_TOTAL,
                    '100%' YS_MONTH10_FEE_TOTAL_PROP,
                    SUM(SJ_MONTH10_FEE_TOTAL) SJ_MONTH10_FEE_TOTAL,
                    '100%' SJ_MONTH10_FEE_TOTAL_PROP,
                    SUM(MONTH10_FEE_GAP) MONTH10_FEE_GAP,
                    --11月
                    SUM(YS_MONTH11_FEE_TOTAL) YS_MONTH11_FEE_TOTAL,
                    '100%' YS_MONTH11_FEE_TOTAL_PROP,
                    SUM(SJ_MONTH11_FEE_TOTAL) SJ_MONTH11_FEE_TOTAL,
                    '100%' SJ_MONTH11_FEE_TOTAL_PROP,
                    SUM(MONTH11_FEE_GAP) MONTH11_FEE_GAP,
                    --12月
                    SUM(YS_MONTH12_FEE_TOTAL) YS_MONTH12_FEE_TOTAL,
                    '100%' YS_MONTH12_FEE_TOTAL_PROP,
                    SUM(SJ_MONTH12_FEE_TOTAL) SJ_MONTH12_FEE_TOTAL,
                    '100%' SJ_MONTH12_FEE_TOTAL_PROP,
                    SUM(MONTH12_FEE_GAP) MONTH12_FEE_GAP,
                    16 seq
                FROM ss
            ) nn
        ORDER BY seq         
               

5.完整代码

        WITH
            DETAIL AS
                (
                    SELECT
                        SUBJECT_LEVEL1,
                        --年度累计
                        ROUND(YS_YEAR_FEE_TOTAL, 2) YS_YEAR_FEE_TOTAL,
                        ROUND(SJ_YEAR_FEE_TOTAL, 2) SJ_YEAR_FEE_TOTAL,
                        ROUND(SJ_YEAR_FEE_TOTAL - YS_YEAR_FEE_TOTAL, 2) YEAR_FEE_GAP,
                        --1月
                        ROUND(YS_MONTH1_FEE_TOTAL,2) YS_MONTH1_FEE_TOTAL,
                        ROUND(SJ_MONTH1_FEE_TOTAL, 2) SJ_MONTH1_FEE_TOTAL,
                        ROUND(SJ_MONTH1_FEE_TOTAL - YS_MONTH1_FEE_TOTAL, 2) MONTH1_FEE_GAP,
                        --2月
                        ROUND(YS_MONTH2_FEE_TOTAL, 2) YS_MONTH2_FEE_TOTAL,
                        ROUND(SJ_MONTH2_FEE_TOTAL, 2) SJ_MONTH2_FEE_TOTAL,
                        ROUND(SJ_MONTH2_FEE_TOTAL - YS_MONTH2_FEE_TOTAL, 2) MONTH2_FEE_GAP,
                        --3月
                        ROUND(YS_MONTH3_FEE_TOTAL, 2) YS_MONTH3_FEE_TOTAL,
                        ROUND(SJ_MONTH3_FEE_TOTAL, 2) SJ_MONTH3_FEE_TOTAL,
                        ROUND(SJ_MONTH3_FEE_TOTAL - YS_MONTH3_FEE_TOTAL, 2) MONTH3_FEE_GAP,
                        --4月
                        ROUND(YS_MONTH4_FEE_TOTAL, 2) YS_MONTH4_FEE_TOTAL,
                        ROUND(SJ_MONTH4_FEE_TOTAL, 2) SJ_MONTH4_FEE_TOTAL,
                        ROUND(SJ_MONTH4_FEE_TOTAL - YS_MONTH4_FEE_TOTAL, 2) MONTH4_FEE_GAP,

                        --5月
                        ROUND(YS_MONTH5_FEE_TOTAL, 2) YS_MONTH5_FEE_TOTAL,
                        ROUND(SJ_MONTH5_FEE_TOTAL, 2) SJ_MONTH5_FEE_TOTAL,
                        ROUND(SJ_MONTH5_FEE_TOTAL - YS_MONTH5_FEE_TOTAL, 2) MONTH5_FEE_GAP,
                        --6月
                        ROUND(YS_MONTH6_FEE_TOTAL, 2) YS_MONTH6_FEE_TOTAL,
                        ROUND(SJ_MONTH6_FEE_TOTAL, 2) SJ_MONTH6_FEE_TOTAL,
                        ROUND(SJ_MONTH6_FEE_TOTAL - YS_MONTH6_FEE_TOTAL, 2) MONTH6_FEE_GAP,
                        --7月
                        ROUND(YS_MONTH7_FEE_TOTAL, 2) YS_MONTH7_FEE_TOTAL,
                        ROUND(SJ_MONTH7_FEE_TOTAL, 2) SJ_MONTH7_FEE_TOTAL,
                        ROUND(SJ_MONTH7_FEE_TOTAL - YS_MONTH7_FEE_TOTAL, 2) MONTH7_FEE_GAP,
                        --8月
                        ROUND(YS_MONTH8_FEE_TOTAL, 2) YS_MONTH8_FEE_TOTAL,
                        ROUND(SJ_MONTH8_FEE_TOTAL, 2) SJ_MONTH8_FEE_TOTAL,
                        ROUND(SJ_MONTH8_FEE_TOTAL - YS_MONTH8_FEE_TOTAL, 2) MONTH8_FEE_GAP,
                        --9月
                        ROUND(YS_MONTH9_FEE_TOTAL, 2) YS_MONTH9_FEE_TOTAL,
                        ROUND(SJ_MONTH9_FEE_TOTAL, 2) SJ_MONTH9_FEE_TOTAL,
                        ROUND(SJ_MONTH9_FEE_TOTAL - YS_MONTH9_FEE_TOTAL, 2) MONTH9_FEE_GAP,
                        --10月
                        ROUND(YS_MONTH10_FEE_TOTAL, 2) YS_MONTH10_FEE_TOTAL,
                        ROUND(SJ_MONTH10_FEE_TOTAL, 2) SJ_MONTH10_FEE_TOTAL,
                        ROUND(SJ_MONTH10_FEE_TOTAL - YS_MONTH10_FEE_TOTAL, 2) MONTH10_FEE_GAP,
                        --11月
                        ROUND(YS_MONTH11_FEE_TOTAL, 2) YS_MONTH11_FEE_TOTAL,
                        ROUND(SJ_MONTH11_FEE_TOTAL, 2) SJ_MONTH11_FEE_TOTAL,
                        ROUND(SJ_MONTH11_FEE_TOTAL - YS_MONTH11_FEE_TOTAL, 2) MONTH11_FEE_GAP,
                        --12月
                        ROUND(YS_MONTH12_FEE_TOTAL, 2) YS_MONTH12_FEE_TOTAL,
                        ROUND(SJ_MONTH12_FEE_TOTAL, 2) SJ_MONTH12_FEE_TOTAL,
                        ROUND(SJ_MONTH12_FEE_TOTAL - YS_MONTH12_FEE_TOTAL, 2) MONTH12_FEE_GAP

                    from
                        (
                            select SUBJECT_LEVEL1,
                                   SUM(CASE WHEN VERSION_CODE = '预算' then FEE_MONEY ELSE 0 end) YS_YEAR_FEE_TOTAL, --年度预算合计
                                   SUM(CASE WHEN VERSION_CODE = '实际' then FEE_MONEY ELSE 0 end) SJ_YEAR_FEE_TOTAL, --年度实际合计
                                   --月度明细
                                   SUM(case WHEN VERSION_CODE = '预算' and SUBSTR(YEAR_MONTH, 5, 2) = '01' then FEE_MONEY ELSE 0 END) YS_MONTH1_FEE_TOTAL,
                                   SUM(case WHEN VERSION_CODE = '实际' and SUBSTR(YEAR_MONTH, 5, 2) = '01' then FEE_MONEY ELSE 0 END) SJ_MONTH1_FEE_TOTAL,
                                   SUM(case WHEN VERSION_CODE = '预算' and SUBSTR(YEAR_MONTH, 5, 2) = '02' then FEE_MONEY ELSE 0 END) YS_MONTH2_FEE_TOTAL,
                                   SUM(case WHEN VERSION_CODE = '实际' and SUBSTR(YEAR_MONTH, 5, 2) = '02' then FEE_MONEY ELSE 0 END) SJ_MONTH2_FEE_TOTAL,
                                   SUM(case WHEN VERSION_CODE = '预算' and SUBSTR(YEAR_MONTH, 5, 2) = '03' then FEE_MONEY ELSE 0 END) YS_MONTH3_FEE_TOTAL,
                                   SUM(case WHEN VERSION_CODE = '实际' and SUBSTR(YEAR_MONTH, 5, 2) = '03' then FEE_MONEY ELSE 0 END) SJ_MONTH3_FEE_TOTAL,
                                   SUM(case WHEN VERSION_CODE = '预算' and SUBSTR(YEAR_MONTH, 5, 2) = '04' then FEE_MONEY ELSE 0 END) YS_MONTH4_FEE_TOTAL,
                                   SUM(case WHEN VERSION_CODE = '实际' and SUBSTR(YEAR_MONTH, 5, 2) = '04' then FEE_MONEY ELSE 0 END) SJ_MONTH4_FEE_TOTAL,
                                   SUM(case WHEN VERSION_CODE = '预算' and SUBSTR(YEAR_MONTH, 5, 2) = '05' then FEE_MONEY ELSE 0 END) YS_MONTH5_FEE_TOTAL,
                                   SUM(case WHEN VERSION_CODE = '实际' and SUBSTR(YEAR_MONTH, 5, 2) = '05' then FEE_MONEY ELSE 0 END) SJ_MONTH5_FEE_TOTAL,
                                   SUM(case WHEN VERSION_CODE = '预算' and SUBSTR(YEAR_MONTH, 5, 2) = '06' then FEE_MONEY ELSE 0 END) YS_MONTH6_FEE_TOTAL,
                                   SUM(case WHEN VERSION_CODE = '实际' and SUBSTR(YEAR_MONTH, 5, 2) = '06' then FEE_MONEY ELSE 0 END) SJ_MONTH6_FEE_TOTAL,
                                   SUM(case WHEN VERSION_CODE = '预算' and SUBSTR(YEAR_MONTH, 5, 2) = '07' then FEE_MONEY ELSE 0 END) YS_MONTH7_FEE_TOTAL,
                                   SUM(case WHEN VERSION_CODE = '实际' and SUBSTR(YEAR_MONTH, 5, 2) = '07' then FEE_MONEY ELSE 0 END) SJ_MONTH7_FEE_TOTAL,
                                   SUM(case WHEN VERSION_CODE = '预算' and SUBSTR(YEAR_MONTH, 5, 2) = '08' then FEE_MONEY ELSE 0 END) YS_MONTH8_FEE_TOTAL,
                                   SUM(case WHEN VERSION_CODE = '实际' and SUBSTR(YEAR_MONTH, 5, 2) = '08' then FEE_MONEY ELSE 0 END) SJ_MONTH8_FEE_TOTAL,
                                   SUM(case WHEN VERSION_CODE = '预算' and SUBSTR(YEAR_MONTH, 5, 2) = '09' then FEE_MONEY ELSE 0 END) YS_MONTH9_FEE_TOTAL,
                                   SUM(case WHEN VERSION_CODE = '实际' and SUBSTR(YEAR_MONTH, 5, 2) = '09' then FEE_MONEY ELSE 0 END) SJ_MONTH9_FEE_TOTAL,
                                   SUM(case WHEN VERSION_CODE = '预算' and SUBSTR(YEAR_MONTH, 5, 2) = '10' then FEE_MONEY ELSE 0 END) YS_MONTH10_FEE_TOTAL,
                                   SUM(case WHEN VERSION_CODE = '实际' and SUBSTR(YEAR_MONTH, 5, 2) = '10' then FEE_MONEY ELSE 0 END) SJ_MONTH10_FEE_TOTAL,
                                   SUM(case WHEN VERSION_CODE = '预算' and SUBSTR(YEAR_MONTH, 5, 2) = '11' then FEE_MONEY ELSE 0 END) YS_MONTH11_FEE_TOTAL,
                                   SUM(case WHEN VERSION_CODE = '实际' and SUBSTR(YEAR_MONTH, 5, 2) = '11' then FEE_MONEY ELSE 0 END) SJ_MONTH11_FEE_TOTAL,
                                   SUM(case WHEN VERSION_CODE = '预算' and SUBSTR(YEAR_MONTH, 5, 2) = '12' then FEE_MONEY ELSE 0 END) YS_MONTH12_FEE_TOTAL,
                                   SUM(case WHEN VERSION_CODE = '实际' and SUBSTR(YEAR_MONTH, 5, 2) = '12' then FEE_MONEY ELSE 0 END) SJ_MONTH12_FEE_TOTAL
                            from BI_FINANCE_FEE_DETAIL
                            where IYEAR = 2022
                            GROUP BY SUBJECT_LEVEL1
                        ) temp        
                ),

            tt AS
                (
                    SELECT
                        '合计' SUBJECT_LEVEL1,
                        SUM(YS_YEAR_FEE_TOTAL) YS_YEAR_FEE_TOTAL,
                        SUM(SJ_YEAR_FEE_TOTAL) SJ_YEAR_FEE_TOTAL,
                        SUM(YEAR_FEE_GAP) YEAR_FEE_GAP,
                        --1月
                        SUM(YS_MONTH1_FEE_TOTAL) YS_MONTH1_FEE_TOTAL,
                        SUM(SJ_MONTH1_FEE_TOTAL) SJ_MONTH1_FEE_TOTAL,
                        SUM(MONTH1_FEE_GAP) MONTH1_FEE_GAP,
                        --2月
                        SUM(YS_MONTH2_FEE_TOTAL) YS_MONTH2_FEE_TOTAL,
                        SUM(SJ_MONTH2_FEE_TOTAL) SJ_MONTH2_FEE_TOTAL,
                        SUM(MONTH2_FEE_GAP) MONTH2_FEE_GAP,
                        --3月
                        SUM(YS_MONTH3_FEE_TOTAL) YS_MONTH3_FEE_TOTAL,
                        SUM(SJ_MONTH3_FEE_TOTAL) SJ_MONTH3_FEE_TOTAL,
                        SUM(MONTH3_FEE_GAP) MONTH3_FEE_GAP,
                        --4月
                        SUM(YS_MONTH4_FEE_TOTAL) YS_MONTH4_FEE_TOTAL,
                        SUM(SJ_MONTH4_FEE_TOTAL) SJ_MONTH4_FEE_TOTAL,
                        SUM(MONTH4_FEE_GAP) MONTH4_FEE_GAP,
                        --5月
                        SUM(YS_MONTH5_FEE_TOTAL) YS_MONTH5_FEE_TOTAL,
                        SUM(SJ_MONTH5_FEE_TOTAL) SJ_MONTH5_FEE_TOTAL,
                        SUM(MONTH5_FEE_GAP) MONTH5_FEE_GAP,
                        --6月
                        SUM(YS_MONTH6_FEE_TOTAL) YS_MONTH6_FEE_TOTAL,
                        SUM(SJ_MONTH6_FEE_TOTAL) SJ_MONTH6_FEE_TOTAL,
                        SUM(MONTH6_FEE_GAP) MONTH6_FEE_GAP,
                        --7月
                        SUM(YS_MONTH7_FEE_TOTAL) YS_MONTH7_FEE_TOTAL,
                        SUM(SJ_MONTH7_FEE_TOTAL) SJ_MONTH7_FEE_TOTAL,
                        SUM(MONTH7_FEE_GAP) MONTH7_FEE_GAP,
                        --8月
                        SUM(YS_MONTH8_FEE_TOTAL) YS_MONTH8_FEE_TOTAL,
                        SUM(SJ_MONTH8_FEE_TOTAL) SJ_MONTH8_FEE_TOTAL,
                        SUM(MONTH8_FEE_GAP) MONTH8_FEE_GAP,
                        --9月
                        SUM(YS_MONTH9_FEE_TOTAL) YS_MONTH9_FEE_TOTAL,
                        SUM(SJ_MONTH9_FEE_TOTAL) SJ_MONTH9_FEE_TOTAL,
                        SUM(MONTH9_FEE_GAP) MONTH9_FEE_GAP,
                        --10月
                        SUM(YS_MONTH10_FEE_TOTAL) YS_MONTH10_FEE_TOTAL,
                        SUM(SJ_MONTH10_FEE_TOTAL) SJ_MONTH10_FEE_TOTAL,
                        SUM(MONTH10_FEE_GAP) MONTH10_FEE_GAP,
                        --11月
                        SUM(YS_MONTH11_FEE_TOTAL) YS_MONTH11_FEE_TOTAL,
                        SUM(SJ_MONTH11_FEE_TOTAL) SJ_MONTH11_FEE_TOTAL,
                        SUM(MONTH11_FEE_GAP) MONTH11_FEE_GAP,
                        --12月
                        SUM(YS_MONTH12_FEE_TOTAL) YS_MONTH12_FEE_TOTAL,
                        SUM(SJ_MONTH12_FEE_TOTAL) SJ_MONTH12_FEE_TOTAL,
                        SUM(MONTH12_FEE_GAP) MONTH12_FEE_GAP,
                        10 seq
                    FROM DETAIL
                ),
              

            ss AS
                (
                    SELECT
                        a.SUBJECT_LEVEL1 SUBJECT_LEVEL1,

                        --年度预算和实际占比
                        a.YS_YEAR_FEE_TOTAL YS_YEAR_FEE_TOTAL,
                        CASE WHEN b.YS_YEAR_FEE_TOTAL = 0 THEN '0.00' ELSE TO_CHAR(ROUND(a.YS_YEAR_FEE_TOTAL/b.YS_YEAR_FEE_TOTAL, 4) * 100, 'fm9999990.9999') END || '%' YS_YEAR_FEE_TOTAL_PROP,
                        a.SJ_YEAR_FEE_TOTAL SJ_YEAR_FEE_TOTAL,
                        CASE WHEN b.SJ_YEAR_FEE_TOTAL = 0 THEN '0.00' ELSE TO_CHAR(ROUND(a.SJ_YEAR_FEE_TOTAL/b.SJ_YEAR_FEE_TOTAL, 4) * 100, 'fm9999990.9999') END || '%' SJ_YEAR_FEE_TOTAL_PROP,
                        a.YEAR_FEE_GAP YEAR_FEE_GAP,
                        --一月
                        a.YS_MONTH1_FEE_TOTAL YS_MONTH1_FEE_TOTAL,
                        CASE WHEN b.YS_MONTH1_FEE_TOTAL = 0 THEN '0.00' ELSE TO_CHAR(ROUND(a.YS_MONTH1_FEE_TOTAL/b.YS_MONTH1_FEE_TOTAL, 4) * 100, 'fm9999990.9999') END || '%' YS_MONTH1_FEE_TOTAL_PROP,
                        a.SJ_MONTH1_FEE_TOTAL SJ_MONTH1_FEE_TOTAL,
                        CASE WHEN b.SJ_MONTH1_FEE_TOTAL = 0 THEN '0.00' ELSE TO_CHAR(ROUND(a.SJ_MONTH1_FEE_TOTAL/b.SJ_MONTH1_FEE_TOTAL, 4) * 100, 'fm9999990.9999') END || '%' SJ_MONTH1_FEE_TOTAL_PROP,
                        a.MONTH1_FEE_GAP,
                        --二月
                        a.YS_MONTH2_FEE_TOTAL YS_MONTH2_FEE_TOTAL,
                        CASE WHEN b.YS_MONTH2_FEE_TOTAL = 0 THEN '0.00' ELSE TO_CHAR(ROUND(a.YS_MONTH2_FEE_TOTAL/b.YS_MONTH2_FEE_TOTAL, 4) * 100, 'fm9999990.9999') END || '%' YS_MONTH2_FEE_TOTAL_PROP,
                        a.SJ_MONTH2_FEE_TOTAL SJ_MONTH2_FEE_TOTAL,
                        CASE WHEN b.SJ_MONTH2_FEE_TOTAL = 0 THEN '0.00' ELSE TO_CHAR(ROUND(a.SJ_MONTH2_FEE_TOTAL/b.SJ_MONTH2_FEE_TOTAL, 4) * 100, 'fm9999990.9999') END || '%' SJ_MONTH2_FEE_TOTAL_PROP,
                        a.MONTH2_FEE_GAP,
                        --三月
                        a.YS_MONTH3_FEE_TOTAL YS_MONTH3_FEE_TOTAL,
                        CASE WHEN b.YS_MONTH3_FEE_TOTAL = 0 THEN '0.00' ELSE TO_CHAR(ROUND(a.YS_MONTH3_FEE_TOTAL/b.YS_MONTH3_FEE_TOTAL, 4) * 100, 'fm9999990.9999') END || '%' YS_MONTH3_FEE_TOTAL_PROP,
                        a.SJ_MONTH3_FEE_TOTAL SJ_MONTH3_FEE_TOTAL,
                        CASE WHEN b.SJ_MONTH3_FEE_TOTAL = 0 THEN '0.00' ELSE TO_CHAR(ROUND(a.SJ_MONTH3_FEE_TOTAL/b.SJ_MONTH3_FEE_TOTAL, 4) * 100, 'fm9999990.9999') END || '%' SJ_MONTH3_FEE_TOTAL_PROP,
                        a.MONTH3_FEE_GAP,
                        --四月
                        a.YS_MONTH4_FEE_TOTAL YS_MONTH4_FEE_TOTAL,
                        CASE WHEN b.YS_MONTH4_FEE_TOTAL = 0 THEN '0.00' ELSE TO_CHAR(ROUND(a.YS_MONTH4_FEE_TOTAL/b.YS_MONTH4_FEE_TOTAL, 4) * 100, 'fm9999990.9999') END || '%' YS_MONTH4_FEE_TOTAL_PROP,
                        a.SJ_MONTH4_FEE_TOTAL SJ_MONTH4_FEE_TOTAL,
                        CASE WHEN b.SJ_MONTH4_FEE_TOTAL = 0 THEN '0.00' ELSE TO_CHAR(ROUND(a.SJ_MONTH4_FEE_TOTAL/b.SJ_MONTH4_FEE_TOTAL, 4) * 100, 'fm9999990.9999') END || '%' SJ_MONTH4_FEE_TOTAL_PROP,
                        a.MONTH4_FEE_GAP,
                        --五月
                        a.YS_MONTH5_FEE_TOTAL YS_MONTH5_FEE_TOTAL,
                        CASE WHEN b.YS_MONTH5_FEE_TOTAL = 0 THEN '0.00' ELSE TO_CHAR(ROUND(a.YS_MONTH5_FEE_TOTAL/b.YS_MONTH5_FEE_TOTAL, 4) * 100, 'fm9999990.9999') END || '%' YS_MONTH5_FEE_TOTAL_PROP,
                        a.SJ_MONTH5_FEE_TOTAL SJ_MONTH5_FEE_TOTAL,
                        CASE WHEN b.SJ_MONTH5_FEE_TOTAL = 0 THEN '0.00' ELSE TO_CHAR(ROUND(a.SJ_MONTH5_FEE_TOTAL/b.SJ_MONTH5_FEE_TOTAL, 4) * 100, 'fm9999990.9999') END || '%' SJ_MONTH5_FEE_TOTAL_PROP,
                        a.MONTH5_FEE_GAP,
                        --六月
                        a.YS_MONTH6_FEE_TOTAL YS_MONTH6_FEE_TOTAL,
                        CASE WHEN b.YS_MONTH6_FEE_TOTAL = 0 THEN '0.00' ELSE TO_CHAR(ROUND(a.YS_MONTH6_FEE_TOTAL/b.YS_MONTH6_FEE_TOTAL, 4) * 100, 'fm9999990.9999') END || '%' YS_MONTH6_FEE_TOTAL_PROP,
                        a.SJ_MONTH6_FEE_TOTAL SJ_MONTH6_FEE_TOTAL,
                        CASE WHEN b.SJ_MONTH6_FEE_TOTAL = 0 THEN '0.00' ELSE TO_CHAR(ROUND(a.SJ_MONTH6_FEE_TOTAL/b.SJ_MONTH6_FEE_TOTAL, 4) * 100, 'fm9999990.9999') END || '%' SJ_MONTH6_FEE_TOTAL_PROP,
                        a.MONTH6_FEE_GAP,
                        --七月
                        a.YS_MONTH7_FEE_TOTAL YS_MONTH7_FEE_TOTAL,
                        CASE WHEN b.YS_MONTH7_FEE_TOTAL = 0 THEN '0.00' ELSE TO_CHAR(ROUND(a.YS_MONTH7_FEE_TOTAL/b.YS_MONTH7_FEE_TOTAL, 4) * 100, 'fm9999990.9999') END || '%' YS_MONTH7_FEE_TOTAL_PROP,
                        a.SJ_MONTH7_FEE_TOTAL SJ_MONTH7_FEE_TOTAL,
                        CASE WHEN b.SJ_MONTH7_FEE_TOTAL = 0 THEN '0.00' ELSE TO_CHAR(ROUND(a.SJ_MONTH7_FEE_TOTAL/b.SJ_MONTH7_FEE_TOTAL, 4) * 100, 'fm9999990.9999') END || '%' SJ_MONTH7_FEE_TOTAL_PROP,
                        a.MONTH7_FEE_GAP,
                        --八月
                        a.YS_MONTH8_FEE_TOTAL YS_MONTH8_FEE_TOTAL,
                        CASE WHEN b.YS_MONTH8_FEE_TOTAL = 0 THEN '0.00' ELSE TO_CHAR(ROUND(a.YS_MONTH8_FEE_TOTAL/b.YS_MONTH8_FEE_TOTAL, 4) * 100, 'fm9999990.9999') END || '%' YS_MONTH8_FEE_TOTAL_PROP,
                        a.SJ_MONTH8_FEE_TOTAL SJ_MONTH8_FEE_TOTAL,
                        CASE WHEN b.SJ_MONTH8_FEE_TOTAL = 0 THEN '0.00' ELSE TO_CHAR(ROUND(a.SJ_MONTH8_FEE_TOTAL/b.SJ_MONTH8_FEE_TOTAL, 4) * 100, 'fm9999990.9999') END || '%' SJ_MONTH8_FEE_TOTAL_PROP,
                        a.MONTH8_FEE_GAP,
                        --九月
                        a.YS_MONTH9_FEE_TOTAL YS_MONTH9_FEE_TOTAL,
                        CASE WHEN b.YS_MONTH9_FEE_TOTAL = 0 THEN '0.00' ELSE TO_CHAR(ROUND(a.YS_MONTH9_FEE_TOTAL/b.YS_MONTH9_FEE_TOTAL, 4) * 100, 'fm9999990.9999') END || '%' YS_MONTH9_FEE_TOTAL_PROP,
                        a.SJ_MONTH9_FEE_TOTAL SJ_MONTH9_FEE_TOTAL,
                        CASE WHEN b.SJ_MONTH9_FEE_TOTAL = 0 THEN '0.00' ELSE TO_CHAR(ROUND(a.SJ_MONTH9_FEE_TOTAL/b.SJ_MONTH9_FEE_TOTAL, 4) * 100, 'fm9999990.9999') END || '%' SJ_MONTH9_FEE_TOTAL_PROP,
                        a.MONTH9_FEE_GAP,
                        --十月
                        a.YS_MONTH10_FEE_TOTAL YS_MONTH10_FEE_TOTAL,
                        CASE WHEN b.YS_MONTH10_FEE_TOTAL = 0 THEN '0.00' ELSE TO_CHAR(ROUND(a.YS_MONTH10_FEE_TOTAL/b.YS_MONTH10_FEE_TOTAL, 4) * 100, 'fm9999990.9999') END || '%' YS_MONTH10_FEE_TOTAL_PROP,
                        a.SJ_MONTH10_FEE_TOTAL SJ_MONTH10_FEE_TOTAL,
                        CASE WHEN b.SJ_MONTH10_FEE_TOTAL = 0 THEN '0.00' ELSE TO_CHAR(ROUND(a.SJ_MONTH10_FEE_TOTAL/b.SJ_MONTH10_FEE_TOTAL, 4) * 100, 'fm9999990.9999') END || '%' SJ_MONTH10_FEE_TOTAL_PROP,
                        a.MONTH10_FEE_GAP,
                        --十一月
                        a.YS_MONTH11_FEE_TOTAL YS_MONTH11_FEE_TOTAL,
                        CASE WHEN b.YS_MONTH11_FEE_TOTAL = 0 THEN '0.00' ELSE TO_CHAR(ROUND(a.YS_MONTH11_FEE_TOTAL/b.YS_MONTH11_FEE_TOTAL, 4) * 100, 'fm9999990.9999') END || '%' YS_MONTH11_FEE_TOTAL_PROP,
                        a.SJ_MONTH11_FEE_TOTAL SJ_MONTH11_FEE_TOTAL,
                        CASE WHEN b.SJ_MONTH11_FEE_TOTAL = 0 THEN '0.00' ELSE TO_CHAR(ROUND(a.SJ_MONTH11_FEE_TOTAL/b.SJ_MONTH11_FEE_TOTAL, 4) * 100, 'fm9999990.9999') END || '%' SJ_MONTH11_FEE_TOTAL_PROP,
                        a.MONTH11_FEE_GAP,
                        --十二月
                        a.YS_MONTH12_FEE_TOTAL YS_MONTH12_FEE_TOTAL,
                        CASE WHEN b.YS_MONTH12_FEE_TOTAL = 0 THEN '0.00' ELSE TO_CHAR(ROUND(a.YS_MONTH12_FEE_TOTAL/b.YS_MONTH12_FEE_TOTAL, 4) * 100, 'fm9999990.9999') END || '%' YS_MONTH12_FEE_TOTAL_PROP,
                        a.SJ_MONTH12_FEE_TOTAL SJ_MONTH12_FEE_TOTAL,
                        CASE WHEN b.SJ_MONTH12_FEE_TOTAL = 0 THEN '0.00' ELSE TO_CHAR(ROUND(a.SJ_MONTH12_FEE_TOTAL/b.SJ_MONTH12_FEE_TOTAL, 4) * 100, 'fm9999990.9999') END || '%' SJ_MONTH12_FEE_TOTAL_PROP,
                        a.MONTH12_FEE_GAP
                    FROM DETAIL a
                             INNER JOIN tt b ON 1 = 1
                )


        SELECT * FROM
            (
                SELECT ss.*, 4 seq
                FROM ss

                UNION ALL

                SELECT
                    '合计' SUBJECT_LEVEL1,

                    SUM(YS_YEAR_FEE_TOTAL) YS_YEAR_FEE_TOTAL,
                    '100%' YS_YEAR_FEE_TOTAL_PROP,
                    SUM(SJ_YEAR_FEE_TOTAL) SJ_YEAR_FEE_TOTAL,
                    '100%' SJ_YEAR_FEE_TOTAL_PROP,
                    SUM(YEAR_FEE_GAP) YEAR_FEE_GAP,
                    --1月
                    SUM(YS_MONTH1_FEE_TOTAL) YS_MONTH1_FEE_TOTAL,
                    '100%' YS_MONTH1_FEE_TOTAL_PROP,
                    SUM(SJ_MONTH1_FEE_TOTAL) SJ_MONTH1_FEE_TOTAL,
                    '100%' SJ_MONTH1_FEE_TOTAL_PROP,
                    SUM(MONTH1_FEE_GAP) MONTH1_FEE_GAP,
                    --2月
                    SUM(YS_MONTH2_FEE_TOTAL) YS_MONTH2_FEE_TOTAL,
                    '100%' YS_MONTH2_FEE_TOTAL_PROP,
                    SUM(SJ_MONTH2_FEE_TOTAL) SJ_MONTH2_FEE_TOTAL,
                    '100%' SJ_MONTH2_FEE_TOTAL_PROP,
                    SUM(MONTH2_FEE_GAP) MONTH2_FEE_GAP,
                    --3月
                    SUM(YS_MONTH3_FEE_TOTAL) YS_MONTH3_FEE_TOTAL,
                    '100%' YS_MONTH3_FEE_TOTAL_PROP,
                    SUM(SJ_MONTH3_FEE_TOTAL) SJ_MONTH3_FEE_TOTAL,
                    '100%' SJ_MONTH3_FEE_TOTAL_PROP,
                    SUM(MONTH3_FEE_GAP) MONTH3_FEE_GAP,
                    --4月
                    SUM(YS_MONTH4_FEE_TOTAL) YS_MONTH4_FEE_TOTAL,
                    '100%' YS_MONTH4_FEE_TOTAL_PROP,
                    SUM(SJ_MONTH4_FEE_TOTAL) SJ_MONTH4_FEE_TOTAL,
                    '100%' SJ_MONTH4_FEE_TOTAL_PROP,
                    SUM(MONTH4_FEE_GAP) MONTH4_FEE_GAP,
                    --5月
                    SUM(YS_MONTH5_FEE_TOTAL) YS_MONTH5_FEE_TOTAL,
                    '100%' YS_MONTH5_FEE_TOTAL_PROP,
                    SUM(SJ_MONTH5_FEE_TOTAL) SJ_MONTH5_FEE_TOTAL,
                    '100%' SJ_MONTH5_FEE_TOTAL_PROP,
                    SUM(MONTH5_FEE_GAP) MONTH5_FEE_GAP,
                    --6月
                    SUM(YS_MONTH6_FEE_TOTAL) YS_MONTH6_FEE_TOTAL,
                    '100%' YS_MONTH6_FEE_TOTAL_PROP,
                    SUM(SJ_MONTH6_FEE_TOTAL) SJ_MONTH6_FEE_TOTAL,
                    '100%' SJ_MONTH6_FEE_TOTAL_PROP,
                    SUM(MONTH6_FEE_GAP) MONTH6_FEE_GAP,
                    --7月
                    SUM(YS_MONTH7_FEE_TOTAL) YS_MONTH7_FEE_TOTAL,
                    '100%' YS_MONTH7_FEE_TOTAL_PROP,
                    SUM(SJ_MONTH7_FEE_TOTAL) SJ_MONTH7_FEE_TOTAL,
                    '100%' SJ_MONTH7_FEE_TOTAL_PROP,
                    SUM(MONTH7_FEE_GAP) MONTH7_FEE_GAP,
                    --8月
                    SUM(YS_MONTH8_FEE_TOTAL) YS_MONTH8_FEE_TOTAL,
                    '100%' YS_MONTH8_FEE_TOTAL_PROP,
                    SUM(SJ_MONTH8_FEE_TOTAL) SJ_MONTH8_FEE_TOTAL,
                    '100%' SJ_MONTH8_FEE_TOTAL_PROP,
                    SUM(MONTH8_FEE_GAP) MONTH8_FEE_GAP,
                    --9月
                    SUM(YS_MONTH9_FEE_TOTAL) YS_MONTH9_FEE_TOTAL,
                    '100%' YS_MONTH9_FEE_TOTAL_PROP,
                    SUM(SJ_MONTH9_FEE_TOTAL) SJ_MONTH9_FEE_TOTAL,
                    '100%' SJ_MONTH9_FEE_TOTAL_PROP,
                    SUM(MONTH9_FEE_GAP) MONTH9_FEE_GAP,
                    --10月
                    SUM(YS_MONTH10_FEE_TOTAL) YS_MONTH10_FEE_TOTAL,
                    '100%' YS_MONTH10_FEE_TOTAL_PROP,
                    SUM(SJ_MONTH10_FEE_TOTAL) SJ_MONTH10_FEE_TOTAL,
                    '100%' SJ_MONTH10_FEE_TOTAL_PROP,
                    SUM(MONTH10_FEE_GAP) MONTH10_FEE_GAP,
                    --11月
                    SUM(YS_MONTH11_FEE_TOTAL) YS_MONTH11_FEE_TOTAL,
                    '100%' YS_MONTH11_FEE_TOTAL_PROP,
                    SUM(SJ_MONTH11_FEE_TOTAL) SJ_MONTH11_FEE_TOTAL,
                    '100%' SJ_MONTH11_FEE_TOTAL_PROP,
                    SUM(MONTH11_FEE_GAP) MONTH11_FEE_GAP,
                    --12月
                    SUM(YS_MONTH12_FEE_TOTAL) YS_MONTH12_FEE_TOTAL,
                    '100%' YS_MONTH12_FEE_TOTAL_PROP,
                    SUM(SJ_MONTH12_FEE_TOTAL) SJ_MONTH12_FEE_TOTAL,
                    '100%' SJ_MONTH12_FEE_TOTAL_PROP,
                    SUM(MONTH12_FEE_GAP) MONTH12_FEE_GAP,
                    16 seq
                FROM ss
            ) nn
        ORDER BY seq

总结

1、使用了with as 语句:
With…As()关键字,是以“With”关键字开头的Sql语句,在实际工作中,经常会遇到查询语句大部分相同的Sql语句,这时就可以将相同的Sql语句抽取出来,使用With…As定义,以便提高Sql的查询效率和代码的简洁。

针对一个别名
with tmp as (select * from tb_name)

针对多个别名
with
   tmp as (select * from tb_name),
   tmp2 as (select * from tb_name2),
   tmp3 as (select * from tb_name3),

2、使用了union all 语句:
1)union all是将两个或者两个以上的搜索结果合并到一起但是不去重!这样可以节省时间,节约效率。因为去重需要对数据重新排列。
2)UNION也是将两个或者两个以上的搜索结果集合并在一起并且去掉重复的数据!这个合并是有条件的!记录的类型要匹配,记录的列数要一样!

3、使用内连接:

SELECT a.xxx,b.xxxx FROM DETAIL a INNER JOIN tt b ON 1 = 1

内连接:inner join on,on 1=1.表示恒成立,两表进行连接。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Kingscada数据报表是指由Kingscada软件生成的用于展示不同数据指标、图表和图像的报告。该报表旨在帮助用户更好地理解和分析各种数据。 首先,Kingscada数据报表可以提供实时和历史数据的可视化展示。用户可以通过报表了解特定时间段内的数据变化趋势,例如生产量、销售额等。此外,报表还可以呈现数据的分布情况,包括最大值、最小值、平均值和中位数等统计指标。 其次,Kingscada数据报表可以提供多种图表类型来展示不同类型的数据。例如,柱状图可以用于比较不同类别的数据,折线图可以显示数据的趋势变化,饼图可以展示各个类别数据的占比等。通过这些图表,用户可以直观地了解数据之间的关系和趋势。 另外,Kingscada数据报表还具备自定义功能,用户可以根据自己的需求选择展示哪些数据和指标。用户可以根据不同的要求对报表进行调整,包括选择特定的时间范围、筛选特定的数据、添加或删除图表等。这样可以让用户更加灵活地分析和呈现数据。 总之,Kingscada数据报表是一种强大的数据分析工具,它能够帮助用户更好地理解和分析各种数据。通过提供实时和历史数据的可视化展示,多种图表类型和自定义功能,该报表可以帮助用户做出更准确的决策,并提升工作效率。 ### 回答2: Kingscada数据报表是一种用于整理和展示数据的工具。它能够帮助用户将大量的数据进行有效的组织和分析,以便更好地了解数据的趋势和模式。 Kingscada数据报表提供了丰富的图表和图形选项,如折线图、柱状图、饼图等,能够直观地展示数据的变化和比例关系。这些图表可以根据用户的需求自定义,并可以通过添加标题、标签等元素来增加其可读性和可理解性。 此外,Kingscada数据报表还支持数据过滤、排序和分组功能,使用户能够更好地对数据进行筛选和分析。它还可以生成数据汇总和统计信息,帮助用户更深入地理解数据的特征和趋势。 Kingscada数据报表还具有数据共享和导出的特性。用户可以通过电子邮件、链接或共享文件等方式将报表发送给其他人员。同时,用户也可以将报表导出为多种格式,如PDF、Excel等,以便于进一步的处理和使用。 总的来说,Kingscada数据报表是一个功能强大且易于使用的工具,它能够帮助用户有效地整理和展示数据,并帮助用户更好地理解数据的特征和趋势。无论是个人用户还是企业用户,都可以通过使用Kingscada数据报表来提升数据分析的效率和质量。 ### 回答3: Kingscada数据报表是一种数据分析和可视化工具,能够帮助用户将复杂的数据整理、分析和展示。它是基于CADA技术开发的,具有强大的数据处理能力和灵活的可视化选项。 Kingscada数据报表的主要功能包括数据导入、数据整理、数据分析和数据可视化。用户可以将不同来源的数据导入到系统中,进行数据清洗、筛选、排序和合并等操作,以保证数据的准确和完整。 在数据整理方面,Kingscada数据报表提供了多种数据转换和计算的功能,例如添加列、删除行、重命名字段等,以便用户能够根据实际需求对数据进行调整和优化。 数据分析是Kingscada数据报表的核心功能之一,它提供了丰富的统计分析和数据挖掘方法,如平均值、标准差、相关性分析、分类聚类等。用户可以根据需要选择不同的统计方法和参数,从而得到准确和有意义的分析结果。 数据可视化是Kingscada数据报表的另一个重要功能,它支持多种图表类型和展示方式,如柱状图、折线图、饼图、热力图等。用户可以根据数据的特点和需求选择最合适的图表类型,将数据以直观和易懂的方式展示出来。 总的来说,Kingscada数据报表是一款功能强大、操作简单的数据分析和可视化工具,它能够帮助用户更好地理解和利用数据,从而做出准确和明智的决策。无论是在商业、科研还是其他领域,Kingscada数据报表都可以为用户提供有价值的数据帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值