{
  "module": "MultiSceneAnalysis.T2",
  "flag": "vertical",
  "configs": [
    {
      "key": "dataMultiSceneAnalysisT2",
      "desc": "LTE室内外场景分析-LTE网内指标统计",
      "config": {
        "parameters": [
          {
            "name": "p_en",
            "columnname": "",
            "type": "string",
            "format": "",
            "conditionid": "c0",
            "symbol": ""
          },
          {
            "name": "starttime",
            "columnname": "",
            "type": "string",
            "format": "",
            "conditionid": "c1",
            "symbol": ""
          },
          {
            "name": "endtime",
            "columnname": "",
            "type": "string",
            "format": "",
            "conditionid": "c2",
            "symbol": ""
          }, {
            "name": "province",
            "columnname": "",
            "type":"string",
            "format": "",
            "conditionid": "c3",
            "symbol":""
          }
        ],
        "value": "SELECT      *  FROM      (          SELECT              qu.city                              AS data1,              ''                                   AS data2,              '全网'                                 AS data3,              0                                    AS data4,              ROUND(SUM(qu.delay)/1000/60,2.0)     AS data5,              ROUND(SUM(qu.dl_flow)/1024/1024,2.0) AS data6,              ROUND(SUM(qu.ul_flow)/1024/1024,2.0) AS data7,              ROUND(                  CASE                      WHEN SUM(qu.tcp_count)>0                      THEN SUM(qu.tcp_ack_delay)/SUM(qu.tcp_count)                      ELSE 0                  END,2.0) AS data8,              ROUND(                  CASE                      WHEN SUM(qu.tcp_count)>0                      THEN SUM(qu.tcp_res_delay)/SUM(qu.tcp_count)                      ELSE 0                  END ,2.0)                               AS data9,              ''                                          AS data10,              ''                                          AS data11,              ''                                          AS data12,              ''                                          AS data13,              ''                                          AS data14,              ''                                          AS data15,              ''                                          AS data16,              ''                                          AS data17,              ''                                          AS data18,              ''                                          AS data19,              ''                                          AS data20,              ''                                          AS data21,              ROUND(SUM(qu.dl_flow_500)/1024/1024,2.0)    AS data22,              ROUND(SUM(qu.dl_ack_delay_500)/1000/60,2.0) AS data23,              ROUND(                  CASE                      WHEN SUM(qu.dl_ack_delay_500)>0                      THEN SUM(qu.dl_flow_500)/SUM(qu.dl_ack_delay_500)                      ELSE 0                  END ,2.0)AS data24,              ROUND(                  CASE                      WHEN SUM(qu.xdr_count)>0                      THEN SUM(qu.ack_delay)/SUM(qu.xdr_count)                      ELSE 0                  END ,2.0)         AS data25,              SUM(qu.xdr_count)     AS data26 ,              SUM(qu.success_count) AS data27,              ROUND(                  CASE                      WHEN SUM(qu.xdr_count)>0                      THEN SUM(qu.success_count)/SUM(qu.xdr_count)                      ELSE 0                  END,2.0)                      AS data28,              SUM(qu.satisfied_xdr_count)       AS data29,              SUM(qu.satisfied_speed_xdr_count) AS data30,              ROUND(                  CASE                      WHEN SUM(qu.satisfied_xdr_count)>0                      THEN SUM(qu.satisfied_speed_xdr_count)/SUM(qu.satisfied_xdr_count)                      ELSE 0                  END,2.0)                       AS data31,              SUM(QU.satisfied_xdr_count)        AS data32 ,              SUM(QU.satisfied_sucess_xdr_count) AS data33,              ROUND(                  CASE                      WHEN SUM(qu.satisfied_xdr_count)>0                      THEN SUM(qu.satisfied_sucess_xdr_count)/SUM(qu.satisfied_xdr_count)                      ELSE 0                  END,2.0) AS data34,              ROUND( SUM(QU.satisfied_speed_xdr_count)/SUM(QU.satisfied_xdr_count)*(SUM              (QU.satisfied_sucess_xdr_count)/SUM(QU.satisfied_xdr_count)),2.0) AS data35,              ROUND(SUM(QU.delay)/1000/60,2.0)                                  AS data36,              ROUND(SUM(qu.dl_flow)/1024/1024,2.0)                              AS data37,              ROUND(                  CASE                      WHEN SUM(qu.delay)>0                      THEN SUM(qu.dl_flow)*8000/1024/SUM(qu.delay)                      ELSE 0                  END ,2.0)                            AS data38,              ROUND(SUM(QU.dl_delay_500)/1000/60,2.0)  AS data39 ,              ROUND(SUM(QU.dl_flow_500)/1024/1024,2.0) AS data40,              ROUND(                  CASE                      WHEN SUM(qu.dl_delay_500)>0                      THEN SUM(qu.dl_flow_500)*8000/1024/SUM(qu.dl_delay_500)                      ELSE 0                  END,2.0)                         AS data41,              ROUND(SUM(QU.delay)/1000/60,2.0)     AS data42,              ROUND(SUM(QU.ul_flow)/1024/1024,2.0) AS data43 ,              ROUND(                  CASE                      WHEN SUM(qu.delay)>0                      THEN SUM(qu.ul_flow)/SUM(qu.delay)                      ELSE 0                  END,2.0)                             AS data44,              ROUND(SUM(QU.ul_delay_200)/1000/60,2.0)  AS data45,              ROUND(SUM(QU.ul_flow_200)/1024/1024,2.0) AS data46,              ROUND(                  CASE                      WHEN SUM(qu.ul_delay_200)>0                      THEN SUM(qu.ul_flow_200)/SUM(qu.ul_delay_200)                      ELSE 0                  END,2.0)                             AS data47,              ROUND(SUM(QU.dl_delay_500)/1000/60,2.0)  AS data48,              ROUND(SUM(QU.ul_flow_500)/1024/1024,2.0) AS data49,              ROUND(                  CASE                      WHEN SUM(qu.dl_delay_500)>0                      THEN SUM(qu.ul_flow_500)*8000/1024/SUM(qu.dl_delay_500)                      ELSE 0                  END,2.0) AS data50,              ''           AS data51,              ''           AS data52,              ''           AS data53,              ''           AS data54,              ''           AS data55,              ''           AS data56,              ''           AS data57,              ''           AS data58,              ''           AS data59          FROM              LTE_SYS.[@c0]_T_QUALITYSTATISTICS_ALLUSER QU          WHERE              nettype=1          AND QU.hour>='[@c1]'          AND QU.hour<='[@c2]'          GROUP BY              qu.city          UNION ALL          SELECT              qu.city AS data1,              ''      AS data2,              CASE                  WHEN qu.scene1=1                  THEN '室外用户'                  WHEN qu.scene1=2                  THEN '占用室分的室内稳定用户(有室分)'                  WHEN qu.scene1=3                  THEN '占用宏站的室内稳定用户(无室分)'                  WHEN qu.scene1=4                  THEN '室内稳定用户(占用宏站和室分)'                  ELSE '未知场景'              END                                  AS data3,              0                                    AS USERCOUNT,              ROUND(SUM(qu.delay)/1000/60,2.0)     AS delay,              ROUND(SUM(qu.dl_flow)/1024/1024,2.0) AS dl_flow,              ROUND(SUM(qu.ul_flow)/1024/1024,2.0) AS ul_flow,              ROUND(                  CASE                      WHEN SUM(qu.tcp_count)>0                      THEN SUM(qu.tcp_ack_delay)/SUM(qu.tcp_count)                      ELSE 0                  END,2.0) AS tcp_ack_delay,              ROUND(                  CASE                      WHEN SUM(qu.tcp_count)>0                      THEN SUM(qu.tcp_res_delay)/SUM(qu.tcp_count)                      ELSE 0                  END ,2.0)                               AS tcp_ack_delay,              ''                                          AS DNSDelay,              ''                                        AS DNSQueriesCount,              ''                                       AS DNSQueriesSuccessesCount,              ''                                       AS DNSQuerySuccessRate,              ''                                          AS AttachDelay,              ''                                       AS AttachRequestSuccesses,              ''                                       AS AttachRequestsTotal,              ''                                       AS AttachRequestSuccessRate,              ''                                        AS EPSDefaultDelay,              ''                                         AS ProcessesTotal,              ''                                       AS EPSSuccessesTotal,              ''                                       AS EPSDefaultDelayRate,              ROUND(SUM(qu.dl_flow_500)/1024/1024,2.0)    AS dl_flow_500,              ROUND(SUM(qu.dl_ack_delay_500)/1000/60,2.0) AS dl_ack_delay_500,              ROUND(                  CASE                      WHEN SUM(qu.dl_ack_delay_500)>0                      THEN SUM(qu.dl_flow_500)*8000/1024/SUM(qu.dl_ack_delay_500)                      ELSE 0                  END,2.0) AS speed500,              ROUND(                  CASE                      WHEN SUM(qu.xdr_count)>0                      THEN SUM(qu.ack_delay)/SUM(qu.xdr_count)                      ELSE 0                  END,2.0)          AS tcp_ack_delay,              SUM(qu.xdr_count)     AS request_count ,              SUM(qu.success_count) AS success_count,              ROUND(                  CASE                      WHEN SUM(qu.xdr_count)>0                      THEN SUM(qu.success_count)/SUM(qu.xdr_count)                      ELSE 0                  END ,2.0)                     AS request_success,              SUM(qu.satisfied_xdr_count)       AS sessioncount,              SUM(qu.satisfied_speed_xdr_count) AS USERACCEPTPER,              ROUND(                  CASE                      WHEN SUM(qu.satisfied_xdr_count)>0                      THEN SUM(qu.satisfied_speed_xdr_count)/SUM(qu.satisfied_xdr_count)                      ELSE 0                  END ,2.0)                      AS USERACCEPTPERPPT,              SUM(QU.satisfied_xdr_count)        AS request_count_1 ,              SUM(QU.satisfied_sucess_xdr_count) AS success_count_1,              ROUND(                  CASE                      WHEN SUM(qu.satisfied_xdr_count)>0                      THEN SUM(qu.satisfied_sucess_xdr_count)/SUM(qu.satisfied_xdr_count)                      ELSE 0                  END,2.0) AS request_success_1,              ROUND( SUM(QU.satisfied_speed_xdr_count)/SUM(QU.satisfied_xdr_count)*(SUM              (QU.satisfied_sucess_xdr_count)/SUM(QU.satisfied_xdr_count)),2.0) AS USERACCEPT,              ROUND(SUM(QU.delay)/1000/60,2.0)                                  AS DELAY_1,              ROUND(SUM(qu.dl_flow)/1024/1024,2.0)                              AS dl_flow_1,              ROUND(                  CASE                      WHEN SUM(qu.delay)>0                      THEN SUM(qu.dl_flow)*8000/1024/SUM(qu.delay)                      ELSE 0                  END ,2.0)                            AS SPEED_1,              ROUND(SUM(QU.dl_delay_500)/1000/60,2.0)  AS DELAY500 ,              ROUND(SUM(QU.dl_flow_500)/1024/1024,2.0) AS FLOW500,              ROUND(                  CASE                      WHEN SUM(qu.dl_delay_500)>0                      THEN SUM(qu.dl_flow_500)*8000/1024/SUM(qu.dl_delay_500)                      ELSE 0                  END ,2.0)                        AS SPEED500_1,              ROUND(SUM(QU.delay)/1000/60,2.0)     AS DELAY_2,              ROUND(SUM(QU.ul_flow)/1024/1024,2.0) AS ULDELAY500 ,              ROUND(                  CASE                      WHEN SUM(qu.delay)>0                      THEN SUM(qu.ul_flow)*8000/1024/SUM(qu.delay)                      ELSE 0                  END ,2.0)                            AS SPEED_2,              ROUND(SUM(QU.ul_delay_200)/1000/60,2.0)  AS DELAY200,              ROUND(SUM(QU.ul_flow_200)/1024/1024,2.0) AS ULFLOW200,              ROUND(                  CASE                      WHEN SUM(qu.ul_delay_200)>0                      THEN SUM(qu.ul_flow_200)*8000/1024/SUM(qu.ul_delay_200)                      ELSE 0                  END ,2.0)                            AS SPEED200,              ROUND(SUM(QU.dl_delay_500)/1000/60,2.0)  AS dl_delay_500,              ROUND(SUM(QU.ul_flow_500)/1024/1024,2.0) AS ul_flow_500,              ROUND(                  CASE                      WHEN SUM(qu.dl_delay_500)>0                      THEN SUM(qu.ul_flow_500)*8000/1024/SUM(qu.dl_delay_500)                      ELSE 0                  END,2.0) AS SPEED500_3,              ''           AS Cell1,              ''           AS Cell2,              ''           AS Cell3,              ''           AS Cell4,              ''           AS Cell5,              ''           AS Cell6,              ''           AS Cell7,              ''           AS Cell8,              ''           AS Cell9          FROM              LTE_SYS.[@c0]_T_QUALITYSTATISTICS_ALLUSER qu          WHERE              qu.nettype=1          AND qu.hour>='[@c1]'          AND qu.hour<='[@c2]'          GROUP BY              qu.city,              qu.scene1          UNION ALL          SELECT              qu.city AS data1,              ''      AS data2,              CASE                  WHEN qu.scene2=1                  THEN '高铁用户'                  WHEN qu.scene2=2                  THEN '地铁用户'                  WHEN qu.scene2=3                  THEN '校园用户'                  WHEN qu.scene2=4                  THEN '商业区用户'                  WHEN qu.scene2=5                  THEN '风景区用户'                  WHEN qu.scene2=6                  THEN '居民区用户'                  ELSE '未知场景'              END                                  AS data3,              0                                    AS USERCOUNT,              ROUND(SUM(qu.delay)/1000/60,2.0)     AS delay,              ROUND(SUM(qu.dl_flow)/1024/1024,2.0) AS dl_flow,              ROUND(SUM(qu.ul_flow)/1024/1024,2.0) AS ul_flow,              ROUND(                  CASE                      WHEN SUM(qu.tcp_count)>0                      THEN SUM(qu.tcp_ack_delay)/SUM(qu.tcp_count)                      ELSE 0                  END,2.0) AS tcp_ack_delay,              ROUND(                  CASE                      WHEN SUM(qu.tcp_count)>0                      THEN SUM(qu.tcp_res_delay)/SUM(qu.tcp_count)                      ELSE 0                  END ,2.0)                               AS tcp_ack_delay,              ''                                          AS DNSDelay,              ''                                        AS DNSQueriesCount,              ''                                       AS DNSQueriesSuccessesCount,              ''                                       AS DNSQuerySuccessRate,              ''                                          AS AttachDelay,              ''                                       AS AttachRequestSuccesses,              ''                                       AS AttachRequestsTotal,              ''                                       AS AttachRequestSuccessRate,              ''                                        AS EPSDefaultDelay,              ''                                         AS ProcessesTotal,              ''                                       AS EPSSuccessesTotal,              ''                                       AS EPSDefaultDelayRate,              ROUND(SUM(qu.dl_flow_500)/1024/1024,2.0)    AS dl_flow_500,              ROUND(SUM(qu.dl_ack_delay_500)/1000/60,2.0) AS dl_ack_delay_500,              ROUND(                  CASE                      WHEN SUM(qu.dl_ack_delay_500)>0                      THEN SUM(qu.dl_flow_500)*8000/1024/SUM(qu.dl_ack_delay_500)                      ELSE 0                  END,2.0) AS speed500,              ROUND(                  CASE                      WHEN SUM(qu.xdr_count)>0                      THEN SUM(qu.ack_delay)/SUM(qu.xdr_count)                      ELSE 0                  END,2.0)          AS tcp_ack_delay,              SUM(qu.xdr_count)     AS request_count ,              SUM(qu.success_count) AS success_count,              ROUND(                  CASE                      WHEN SUM(qu.xdr_count)>0                      THEN SUM(qu.success_count)/SUM(qu.xdr_count)                      ELSE 0                  END,2.0)                      AS request_success,              SUM(qu.satisfied_xdr_count)       AS sessioncount,              SUM(qu.satisfied_speed_xdr_count) AS USERACCEPTPER,              ROUND(                  CASE                      WHEN SUM(qu.satisfied_xdr_count)>0                      THEN SUM(qu.satisfied_speed_xdr_count)/SUM(qu.satisfied_xdr_count)                      ELSE 0                  END ,2.0)                      AS USERACCEPTPERPPT,              SUM(QU.satisfied_xdr_count)        AS request_count_1 ,              SUM(QU.satisfied_sucess_xdr_count) AS success_count_1,              ROUND(                  CASE                      WHEN SUM(qu.satisfied_xdr_count)>0                      THEN SUM(qu.satisfied_sucess_xdr_count)/SUM(qu.satisfied_xdr_count)                      ELSE 0                  END,2.0) AS request_success_1,              ROUND(SUM(QU.satisfied_speed_xdr_count)/SUM(QU.satisfied_xdr_count)*(SUM              (QU.satisfied_sucess_xdr_count)/SUM(QU.satisfied_xdr_count)),2.0) AS USERACCEPT,              ROUND(SUM(QU.delay)/1000/60,2.0)                                  AS DELAY_1,              ROUND(SUM(qu.dl_flow)/1024/1024,2.0)                              AS dl_flow_1,              ROUND(                  CASE                      WHEN SUM(qu.delay)>0                      THEN SUM(qu.dl_flow)*8000/1024/SUM(qu.delay)                      ELSE 0                  END,2.0)                             AS SPEED_1,              ROUND(SUM(QU.dl_delay_500)/1000/60,2.0)  AS DELAY500 ,              ROUND(SUM(QU.dl_flow_500)/1024/1024,2.0) AS FLOW500,              ROUND(                  CASE                      WHEN SUM(qu.dl_delay_500)>0                      THEN SUM(qu.dl_flow_500)*8000/1024/SUM(qu.dl_delay_500)                      ELSE 0                  END,2.0)                         AS SPEED500_1,              ROUND(SUM(QU.delay)/1000/60,2.0)     AS DELAY_2,              ROUND(SUM(QU.ul_flow)/1024/1024,2.0) AS ULDELAY500 ,              ROUND(                  CASE                      WHEN SUM(qu.delay)>0                      THEN SUM(qu.ul_flow)*8000/1024/SUM(qu.delay)                      ELSE 0                  END ,2.0)                            AS SPEED_2,              ROUND(SUM(QU.ul_delay_200)/1000/60,2.0)  AS DELAY200,              ROUND(SUM(QU.ul_flow_200)/1024/1024,2.0) AS ULFLOW200,              ROUND(                  CASE                      WHEN SUM(qu.ul_delay_200)>0                      THEN SUM(qu.ul_flow_200)*8000/1024/SUM(qu.ul_delay_200)                      ELSE 0                  END,2.0)                             AS SPEED200,              ROUND(SUM(QU.dl_delay_500)/1000/60,2.0)  AS dl_delay_500,              ROUND(SUM(QU.ul_flow_500)/1024/1024,2.0) AS ul_flow_500,              ROUND(                  CASE                      WHEN SUM(qu.dl_delay_500)>0                      THEN SUM(qu.ul_flow_500)*8000/1024/SUM(qu.dl_delay_500)                      ELSE 0                  END,2.0) AS SPEED500_3,              ''           AS Cell1,              ''           AS Cell2,              ''           AS Cell3,              ''           AS Cell4,              ''           AS Cell5,              ''           AS Cell6,              ''           AS Cell7,              ''           AS Cell8,              ''           AS Cell9          FROM              LTE_SYS.[@c0]_T_QUALITYSTATISTICS_ALLUSER qu          WHERE              qu.nettype=1          AND qu.hour>='[@c1]'          AND qu.hour<='[@c2]'          GROUP BY              qu.city,              qu.scene2)G  WHERE      g.data1='[@c3]'  AND g.data3!='未知场景'"
      }
    }
  ]
}