User Tools

Site Tools


reports:beeasy

This is an old revision of the document!


BeEasy - Reports (2024-03-14)

In data 13/03/2024 è stato richiesto la creazione di N custom report. Questi custom reports sono stati prima studiati da noi (BeCloud) per poter verificare la fattibilità del progetto e a seguito dello studio sono stati identificati i seguenti reports per commessa:
1) Acque Bresciane:

  1. Export Massivo ARERA
  2. Riepilogo Annuo Chiamate Inbound per servizio utenti e TICSI –> Wait fields per Servizio Utenti
    1. Servizio UTENTI wait custom fields –> TBD
  3. Report Semestrale ARERA servizio utenti
  4. Report Giornaliero ABs –> WAIT FOR CUSTOM FIELDS
  5. Report 30 minuti ABs –> WAIT


2) ASM Voghera:

  1. Riepilogo Annuo Chiamate Inbound Annuo ASM Voghera –> Wait TICKETS
  2. Riepilogo Annuo ASM Voghera Credito
  3. Report Semestrale ARERA ASM Voghera
  4. Report Annuo Autoletture ASM Voghera –> Wait config Autolettura


3) Broni Stradella:

  1. Riepilogo Annuo Chiamate Inbound BRST –> Wait Mail3Liv


4) ISIDATA:

  1. Riepilogo Annuo Chiamate Outbound Isidata


5) Metano Nord:

  1. Report Semestrale ARERA Metano Nord
  2. (*TBD*) Report Annuo Chiamate Inbound per Commessa


6) Pavia Acque:

  1. Export Massivo ARERA
  2. Riepilogo Annuo Chiamate Inbound per Pavia Acque –> Wait per “Tickets
  3. Riepilogo Chiamate Annuo Pavia Acque per servizio Credito –> Wait per “Scelte IVR
  4. Report Semestrale ARERA Pavia Acque
  5. Report Annuo Autoletture Pavia Acque –> Wait config Autolettura
  6. Riepilogo Annuo Chiamate Outbound Pavia Acque –> Wait config Servizi OUT


7) Tari:

  1. Riepilogo Annuo Chiamate Inbound Annuo per Albonese, Cassolnovo, FerreraE, Gravellona, Pieve


8) Utilità:

  1. Riepilogo Annuo Chiamate Inbound per Utilità
  2. Report Semestrale ARERA
  3. Report Giornaliero Inbound Utilita –> Wait per “Scelte IVR


Report –> Export Massimo
Query:

SELECT
    hex(global_interaction_id) callId,
    from_phone as ani,
    start_time as TStampIn,
    CASE 
        WHEN queue_time > 0 AND talk_time > 0 THEN
            TIMESTAMPADD(SECOND, COALESCE(ivr_time, 0), start_time)
        ELSE NULL
    END AS TStampTransferred,
    CASE 
        WHEN queue_time > 0 AND talk_time > 0 THEN
            TIMESTAMPADD(SECOND, 
                COALESCE(pending_time, 0) +
                COALESCE(queue_time, 0) +
                COALESCE(ivr_time, 0),
            start_time)
        ELSE NULL
    END AS TStampAnswered,
    duration,
    custom3 as OVFL_Varzi,
    TIMESTAMPADD(SECOND, duration, start_time) AS TStampEnd
FROM beeasy_it.call_detail
WHERE  start_time >= $P{start_time} AND start_time < $P{end_time}
AND service_name LIKE 'Acque Bresciane%'  **<-- sostituire con 'Pavia Acque%' per PVAcq**
AND media_type <> 'EMAIL'
ORDER BY initial_start_time, initial_call_id, start_time


Field in Jasper:

ConnID –> $P{FORMATTER_SCRIPTLET}.formatGUID($F{callId})
Ani –> $F{ani}
TStampIn –> $F{TStampIn}
TStampTransferred –> $F{TStampTransferred}
TStampAnswered –> $F{TStampAnswered}
Durata –> $F{duration}
OVFL_Varzi –> $F{OVFL_Varzi}
TStampEnd –> $F{TStampEnd}


Report Caricati in piattaforma con i seguenti nomi:

  1. Export Massivo ARERA ABs / Export Massivo ARERA PVAcq



Report –> Riepilogo_ABs_Credito_TICSI

Query:

SELECT 
start_time,
YEAR(start_time) AS year,
MONTH(start_time) AS month,
service_name,
count(*) as totale_ivr,
COUNT(CASE
    WHEN (queue_time > 0 OR pending_time > 0) AND 
         disposition NOT LIKE 'ABANDONED%' THEN
        1
END) AS offered,
COUNT(CASE
	WHEN (queue_time > 0 or pending_time > 0) AND talk_time > 0 AND 
         disposition NOT LIKE 'ABANDONED%' THEN
        1
END) AS answered,   
(COUNT(CASE
            WHEN (queue_time > 0 OR pending_time > 0) AND talk_time > 0 AND disposition NOT LIKE 'ABANDONED%' THEN 1
        END) * 100.0 / COUNT(*)) AS percentage_answered,
COUNT(CASE
	WHEN disposition LIKE 'ABANDONED%' OR disposition LIKE 'SYSTEM%' THEN 1
END
) as abandoned
FROM beeasy_it.call_detail cd 
WHERE start_time >= $P{start_time} AND start_time < $P{end_time}
AND disposition NOT LIKE 'TRANSFERRED' AND disposition NOT IN ('CONFERENCED', 'CALLER_TRANSFERRED') 
AND service_name = 'Acque Bresciane - TICSI'  
AND (media_type <> 'EMAIL' or media_type is null)
GROUP BY year, month



Field in Jasper:

Mese –> $F{month} == 1 ? “Gennaio” : ($F{month} == 2 ? “Febbraio” : ($F{month} == 3 ? “Marzo” : ($F{month} == 4 ? “Aprile” : ($F{month} == 5 ? “Maggio” : ($F{month} == 6 ? “Giugno” : ($F{month} == 7 ? “Luglio” : ($F{month} == 8 ? “Agosto” : ($F{month} == 9 ? “Settembre” : ($F{month} == 10 ? “Ottobre” : ($F{month} == 11 ? “Novembre” : ($F{month} == 12 ? “Dicembre” : “Invalid Month”)))))))))))
Totale IVR –> $F{totale_ivr}
Offerte Operatore –> $F{offered}
Risposte –> $F{answered}
% Risposte –> $F{percentage_answered}
Abbandonate –> $F{abandoned}



Report –> Report Semestrale ARERA servizio utenti

Query:

SELECT
start_time,
YEAR(start_time) AS year,
MONTH(start_time) AS month,
service_name,
COUNT(CASE
    WHEN (queue_time > 0 OR pending_time > 0) AND 
         disposition NOT LIKE 'ABANDONED%' THEN
        1
END) AS offered,
COUNT(CASE
	WHEN (queue_time > 0 or pending_time > 0) AND talk_time > 0 AND 
         disposition NOT LIKE 'ABANDONED%' THEN
        1
END) AS answered,
((COUNT(CASE
	WHEN (queue_time > 0 or pending_time > 0) AND talk_time > 0 AND disposition NOT LIKE 'ABANDONED%' THEN 1
END)) * 100 / COUNT(CASE
    WHEN (queue_time > 0 OR pending_time > 0) AND 
         disposition NOT LIKE 'ABANDONED%' THEN
        1
END)) as ls_percentage,
100 as indice_as,
avg(queue_time) as tma,
NULL as op_auto
FROM beeasy_it.call_detail cd 
WHERE start_time >= $P{start_time} AND start_time < $P{end_time}
AND disposition NOT LIKE 'TRANSFERRED' AND disposition NOT IN ('CONFERENCED', 'CALLER_TRANSFERRED') 
AND service_name = 'Acque Bresciane'
AND (media_type <> 'EMAIL' or media_type is null)
GROUP BY year, month


Field in Jasper:

Offerte Op. : $F{offered}
Risposte: $F{answered}
% Risposte (Indice LS): $F{ls_percentage}
Indice AS: $F{indice_as}
TMA: $F{tma}
Op. Auto: $F{op_auto}


Creato un “Group” per dividere le row Semestralmente

  1. → In “Outline” > Groups > Total
    1. → Creato Expression: ($F{month} ⇐ 6) ? “First Semester” : “Second Semester”

Allo stesso tempo, creato delle variabili per fare la somma per colonna, nel “Reset Type” ho aggiunto “[Group] Total” in modo che il report fornisca solo le somme/avg per semestre.


Report –> Report Giornaliero ABs
Query:

SELECT
start_time,
YEAR(start_time) AS year,
MONTH(start_time) AS month,
DAY(start_time) AS day,
DAYNAME(start_time) AS nameday,
service_name,
COUNT(CASE
    WHEN (queue_time > 0 OR pending_time > 0) AND 
         disposition NOT LIKE 'ABANDONED%' THEN
        1
END) AS offered,
COUNT(CASE
	WHEN (queue_time > 0 or pending_time > 0) AND talk_time > 0 AND 
         disposition NOT LIKE 'ABANDONED%' THEN
        1
END) AS answered,
(COALESCE(((COUNT(CASE
	WHEN (queue_time > 0 OR pending_time > 0) 
		AND talk_time > 0 
		AND disposition NOT LIKE 'ABANDONED%' THEN 1
END)) * 100.0 / NULLIF(COUNT(CASE
	WHEN (queue_time > 0 OR pending_time > 0) 
		AND disposition NOT LIKE 'ABANDONED%' THEN 1
END), 0)), 0)) AS answer_percentage,
COUNT(CASE
	WHEN (queue_time > 0 or pending_time > 0) AND talk_time > 0 AND 
         disposition NOT LIKE 'ABANDONED%' and custom5 = 'ROVATO' THEN
        1
END) AS answered_rovato,
(COALESCE(((COUNT(CASE
	WHEN (queue_time > 0 OR pending_time > 0) 
		AND talk_time > 0 AND custom5 = 'ROVATO'
		AND disposition NOT LIKE 'ABANDONED%' THEN 1
END)) * 100.0 / NULLIF(COUNT(CASE
	WHEN (queue_time > 0 OR pending_time > 0) 
		AND disposition NOT LIKE 'ABANDONED%' THEN 1
END), 0)), 0)) AS answer_percentage_rovato,
COUNT(CASE
    WHEN (queue_time > 0 OR pending_time > 0) AND 
         disposition NOT LIKE 'ABANDONED%' AND custom5 = 'OVFL' THEN
        1
END) AS offered_ovfl,
COUNT(CASE
	WHEN (queue_time > 0 or pending_time > 0) AND talk_time > 0 AND 
         disposition NOT LIKE 'ABANDONED%' AND custom5 = 'OVFL' THEN
        1
END) AS answered_ovfl,
(COALESCE(((COUNT(CASE
	WHEN (queue_time > 0 OR pending_time > 0) 
		AND disposition NOT LIKE 'ABANDONED%' 
		AND custom5 = 'OVFL' THEN 1
	END)) * 100.0 / NULLIF(COUNT(CASE
		WHEN (queue_time > 0 OR pending_time > 0) 
			AND disposition NOT LIKE 'ABANDONED%' THEN 1
END), 0)), 0)) AS offered_percentage_ovfl,
(COALESCE(((COUNT(CASE
	WHEN (queue_time > 0 OR pending_time > 0) 
		AND talk_time > 0 
		AND disposition NOT LIKE 'ABANDONED%' 
		AND custom5 = 'OVFL' THEN 1
END)) * 100.0 / NULLIF(COUNT(CASE
	WHEN (queue_time > 0 OR pending_time > 0) 
		AND disposition NOT LIKE 'ABANDONED%' THEN 1
END), 0)), 0)) AS answer_percentage_ovfl
FROM beeasy_it.call_detail cd 
WHERE start_time >= $P{start_time} AND start_time < $P{end_time}
AND disposition NOT LIKE 'TRANSFERRED' AND disposition NOT IN ('CONFERENCED', 'CALLER_TRANSFERRED') 
AND service_name = 'Acque Bresciane'
AND (media_type <> 'EMAIL' or media_type is null)
GROUP BY year, month, day

WAIT FOR CUSTOM FIELDS


Report –> Isidata Outbound

Query:

SELECT
start_time,
YEAR(start_time) AS year,
MONTH(start_time) AS month,
service_name,
COUNT(CASE 
	WHEN pending_time > 0 THEN
	1
END) AS calls_made,
COUNT(CASE
	WHEN talk_time > 0 THEN
	1
END) as calls_answered,
COUNT(CASE
	WHEN media_type = 'CHAT' and service_name LIKE '%SMS%' THEN 
	1
END) as sms_sent,
null as sms_ongoing
FROM beeasy_it.call_detail cd 
WHERE start_time >= $P{start_time} AND start_time < $P{end_time}
AND disposition NOT LIKE 'TRANSFERRED' AND disposition NOT IN ('CONFERENCED', 'CALLER_TRANSFERRED') 
AND service_name LIKE 'Isidata%'
AND caller_phone_type = 'INTERNAL'
AND (media_type <> 'EMAIL' or media_type is null)
GROUP BY year, month



Field in Jasper:

Mese –> $F{mese}
Chiamate Effettuate –> $F{calls_made}
Chiamate Risposte –> $F{calls_answered}
SMS inviati –> $F{sms_sent}
SMS in corso –> $F{sms_ongoing}

reports/beeasy.1711382371.txt.gz · Last modified: by antonio.andriychuk

Except where otherwise noted, content on this wiki is licensed under the following license: Public Domain
Public Domain Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki