{
  "module": "MultiSceneAnalysis.T3",
  "flag": "vertical",
  "configs": [
    {
      "key": "dataMultiSceneAnalysisT3",
      "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  distinct    apt.CATEGORYNAME    AS data3,      apt.BUSSINESSNAME AS data4,      t.*  FROM      (          SELECT              qu.city       AS data1,              '全网'          AS data2,              qu.AppType    AS data3_1,              qu.AppSubType AS data4_1,              ROUND(                  CASE                      WHEN SUM(qu.tcp_count)>0                      THEN SUM(qu.tcp_ack_delay)/SUM(qu.tcp_count)                      ELSE 0                  END,2.0)  AS data5,              qu.AppSubType AS data6,              ROUND(                  CASE                      WHEN SUM(qu.tcp_count)>0                      THEN SUM(qu.tcp_res_delay)/SUM(qu.tcp_count)                      ELSE 0                  END,2.0)             AS data7,              qu.AppSubType            AS data8,              ''                       AS data9,              qu.AppSubType            AS data10,              ''                       AS data11,              qu.AppSubType            AS data12,              ''                       AS data13,              qu.AppSubType            AS data14,              ''                       AS data15,              qu.AppSubType            AS data16,              ''                       AS data17,              qu.AppSubType            AS data18,              ''                       AS data19,              qu.AppSubType            AS data20,              SUM(qu.dl_flow_500)      AS data21,              SUM(qu.dl_ack_delay_500) AS data22,              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 data23,              qu.AppSubType 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,              qu.AppSubType         AS data26,              SUM(qu.xdr_count)     AS data27 ,              SUM(qu.success_count) AS data28,              ROUND(                  CASE                      WHEN SUM(qu.xdr_count)>0                      THEN SUM(qu.success_count)/SUM(qu.xdr_count)                      ELSE 0                  END,2.0)                      AS data29,              qu.AppSubType                     AS data30,              SUM(qu.satisfied_xdr_count)       AS data31,              SUM(qu.satisfied_speed_xdr_count) AS data32,              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 data33,              SUM(QU.satisfied_xdr_count)        AS data34 ,              SUM(QU.satisfied_sucess_xdr_count) AS data35,              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 data36,              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 data37,              qu.AppSubType                                                     AS data38,              SUM(QU.delay)                                                     AS data39,              SUM(qu.dl_flow)                                                   AS data40,              ROUND(                  CASE                      WHEN SUM(qu.delay)>0                      THEN SUM(qu.dl_flow)*8000/1024/SUM(qu.delay)                      ELSE 0                  END,2.0)         AS data41,              qu.AppSubType        AS data42,              SUM(QU.dl_delay_500) AS data43 ,              SUM(QU.dl_flow_500)  AS data44,              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 data45,              qu.AppSubType   AS data46,              SUM(QU.delay)   AS data47,              SUM(QU.ul_flow) AS data48 ,              ROUND(                  CASE                      WHEN SUM(qu.delay)>0                      THEN SUM(qu.ul_flow)/SUM(qu.delay)                      ELSE 0                  END,2.0)         AS data49,              qu.AppSubType        AS data50,              SUM(QU.ul_delay_200) AS data51,              SUM(QU.ul_flow_200)  AS data52,              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 data53,              qu.AppSubType        AS data54,              SUM(QU.dl_delay_500) AS data55,              SUM(QU.ul_flow_500)  AS data56,              ROUND(                  CASE                      WHEN SUM(qu.dl_delay_500)>0                      THEN SUM(qu.ul_flow_500)/SUM(qu.dl_delay_500)                      ELSE 0                  END,2.0) AS data57,              ''           AS data58,              ''           AS data59,              ''           AS data60,              ''           AS data61          FROM              lte_sys.[@c0]_T_QUALITYSTATISTICS_ALLUSER QU          WHERE              nettype=1          AND qu.hour>='[@c1]'          AND qu.hour<='[@c2]'          GROUP BY              qu.city,              qu.AppType,              qu.AppSubType          UNION ALL          SELECT              qu.city AS data1,              CASE                  WHEN qu.scene1=1                  THEN '室外用户'                  WHEN qu.scene1=2                  THEN '占用室分的室内稳定用户(有室分)'                  WHEN qu.scene1=3                  THEN '占用宏站的室内稳定用户(无室分)'                  WHEN qu.scene1=4                  THEN '室内稳定用户(占用宏站和室分)'                  ELSE '未知场景'              END           AS data2,              qu.AppType    AS data3,              qu.AppSubType AS data4,              ROUND(                  CASE                      WHEN SUM(qu.tcp_count)>0                      THEN SUM(qu.tcp_ack_delay)/SUM(qu.tcp_count)                      ELSE 0                  END,2.0)  AS data5,              qu.AppSubType AS data6,              ROUND(                  CASE                      WHEN SUM(qu.tcp_count)>0                      THEN SUM(qu.tcp_res_delay)/SUM(qu.tcp_count)                      ELSE 0                  END,2.0)             AS data7,              qu.AppSubType            AS data8,              ''                       AS data9,              qu.AppSubType            AS data10,              ''                       AS data11,              qu.AppSubType            AS data12,              ''                       AS data13,              qu.AppSubType            AS data14,              ''                       AS data15,              qu.AppSubType            AS data16,              ''                       AS data17,              qu.AppSubType            AS data18,              ''                       AS data19,              qu.AppSubType            AS data20,              SUM(qu.dl_flow_500)      AS data21,              SUM(qu.dl_ack_delay_500) AS data22,              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,              qu.AppSubType 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,              qu.AppSubType         AS data26,              SUM(qu.xdr_count)     AS data27 ,              SUM(qu.success_count) AS data28,              ROUND(                  CASE                      WHEN SUM(qu.xdr_count)>0                      THEN SUM(qu.success_count)/SUM(qu.xdr_count)                      ELSE 0                  END,2.0)                      AS data29,              qu.AppSubType                     AS data30,              SUM(qu.satisfied_xdr_count)       AS data31,              SUM(qu.satisfied_speed_xdr_count) AS data32,              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 data33,              SUM(QU.satisfied_xdr_count)        AS data34 ,              SUM(QU.satisfied_sucess_xdr_count) AS data35,              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 data36,              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 data37,              qu.AppSubType                                                     AS data38,              SUM(QU.delay)                                                     AS data39,              SUM(qu.dl_flow)                                                   AS data40,              ROUND(                  CASE                      WHEN SUM(qu.delay)>0                      THEN SUM(qu.dl_flow)*8000/1024/SUM(qu.delay)                      ELSE 0                  END,2.0)         AS data41,              qu.AppSubType        AS data42,              SUM(QU.dl_delay_500) AS data43 ,              SUM(QU.dl_flow_500)  AS data44,              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 data45,              qu.AppSubType   AS data46,              SUM(QU.delay)   AS data47,              SUM(QU.ul_flow) AS data48 ,              ROUND(                  CASE                      WHEN SUM(qu.delay)>0                      THEN SUM(qu.ul_flow)*8000/1024/SUM(qu.delay)                      ELSE 0                  END,2.0)         AS data49,              qu.AppSubType        AS data50,              SUM(QU.ul_delay_200) AS data51,              SUM(QU.ul_flow_200)  AS data52,              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 data53,              qu.AppSubType        AS data54,              SUM(QU.dl_delay_500) AS data55,              SUM(QU.ul_flow_500)  AS data56,              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 data57,              ''           AS data58,              ''           AS data59,              ''           AS data60,              ''           AS data61          FROM              lte_sys.[@c0]_T_QUALITYSTATISTICS_ALLUSER QU          WHERE              nettype=1          AND qu.hour>='[@c1]'          AND qu.hour<='[@c2]'          GROUP BY              qu.city,              qu.scene1,              qu.AppType,              qu.AppSubType          UNION ALL          SELECT              qu.city AS data1,              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 data2,              qu.AppType    AS data3,              qu.AppSubType AS data4,              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,              qu.AppSubType AS data6,              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,              qu.AppSubType            AS data8,              ''                       AS DNSDelay,              qu.AppSubType            AS data10,              ''                       AS DNSQuerySuccessRate ,              qu.AppSubType            AS data12,              ''                       AS AttachDelay,              qu.AppSubType            AS data14,              ''                       AS AttachRequestSuccessRate,              qu.AppSubType            AS data16,              ''                       AS EPSDefaultDelay,              qu.AppSubType            AS data18,              ''                       AS EPSDefaultDelayRate,              qu.AppSubType            AS data20,              SUM(qu.dl_flow_500)      AS dl_flow_500,              SUM(qu.dl_ack_delay_500) 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,              qu.AppSubType 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 tcp_ack_delay,              qu.AppSubType         AS data26,              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,              qu.AppSubType                     AS data30,              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,              qu.AppSubType                                                     AS data38,              SUM(QU.delay)                                                     AS DELAY_1,              SUM(qu.dl_flow)                                                   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,              qu.AppSubType        AS data42,              SUM(QU.dl_delay_500) AS DELAY500 ,              SUM(QU.dl_flow_500)  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,              qu.AppSubType   AS data46,              SUM(QU.delay)   AS DELAY_2,              SUM(QU.ul_flow) 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,              qu.AppSubType        AS data50,              SUM(QU.ul_delay_200) AS DELAY200,              SUM(QU.ul_flow_200)  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,              qu.AppSubType        AS data54,              SUM(QU.dl_delay_500) AS dl_delay_500,              SUM(QU.ul_flow_500)  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          FROM              lte_sys.[@c0]_T_QUALITYSTATISTICS_ALLUSER QU          WHERE              nettype=1          AND qu.hour>='[@c1]'          AND qu.hour<='[@c2]'          GROUP BY              qu.city,              qu.scene2,              qu.AppType,              qu.AppSubType )t  INNER JOIN      lte_sys.[@c0]_T_BASE_CATEGORYTYPE apt  ON      t.data3_1=apt.CATEGORYID  AND t.data4_1=apt.BUSSINESSTYPE  WHERE      data1='[@c3]'  and t.data2!='未知场景'"
      }
    }
  ]
}