Changes between Version 1 and Version 2 of AdvancedReports2
- Timestamp:
- 01/29/25 19:32:08 (32 hours ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
AdvancedReports2
v1 v2 3 3 === Извештај 1: Листа на клиенти со сите активни полиси и деталите за нив === 4 4 5 Овој извештај ќе ги прикаже сите клиенти со нивните активни полиси, типот на полиса, пакетот што го користат, и сите покриени услуги .5 Овој извештај ќе ги прикаже сите клиенти со нивните активни полиси, типот на полиса, пакетот што го користат, и сите покриени услуги посебно за секој месец. 6 6 7 7 {{{#!sql 8 8 9 9 SELECT 10 TO_CHAR(p.sdate, 'YYYY-MM') AS Month_Year, 10 11 c.name AS Customer_Name, 11 12 c.email AS Customer_Email, … … 14 15 p.edate AS End_Date, 15 16 CASE 16 WHEN p.edate > =CURRENT_DATE THEN 'Active'17 WHEN p.edate > CURRENT_DATE THEN 'Active' 17 18 ELSE 'Expired' 18 19 END AS Policy_Status, 19 20 pkg.title AS Package_Title, 20 21 pkg.total AS Package_Total, 21 STRING_AGG( cov.cov_type, ', ') AS Covered_Services22 STRING_AGG(DISTINCT cov.cov_type, ', ') AS Covered_Services 22 23 FROM 23 project.Customer c24 project.Customer AS c 24 25 JOIN 25 project.Pol_dog pd ON c.c_id = pd.c_id26 project.Pol_dog AS pd ON c.c_id = pd.c_id 26 27 JOIN 27 project.Policy p ON pd.policy = p.p_id28 project.Policy AS p ON pd.policy = p.p_id 28 29 JOIN 29 project.Package pkg ON p.package = pkg.code30 project.Package AS pkg ON p.package = pkg.code 30 31 LEFT JOIN 31 project.Covers cov ON pkg.code = cov.package32 project.Covers AS cov ON pkg.code = cov.package 32 33 GROUP BY 33 c.name, c.email, p.p_id, p.sdate, p.edate, pkg.title, pkg.total34 Month_Year, c.name, c.email, p.p_id, p.sdate, p.edate, pkg.title, pkg.total 34 35 ORDER BY 35 Customer_Name; 36 Month_Year DESC, Customer_Name; 37 36 38 37 39 … … 40 42 === Извештај 2: Приходи од полиси по тип и број на клиенти === 41 43 42 Овој извештај ги прикажува приходите генерирани од полиси поделени по тип на пакет и го вклучува бројот на клиенти кои го користат секој тип на пакет .44 Овој извештај ги прикажува приходите генерирани од полиси поделени по тип на пакет и го вклучува бројот на клиенти кои го користат секој тип на пакет за секој месец посебно. 43 45 44 46 {{{#!sql 45 47 46 48 SELECT 49 DATE_TRUNC('month', pay.p_date) AS Payment_Month, 50 pkg.title AS Package_Title, 47 51 pkg.type_pol AS Policy_Type, 48 COUNT( DISTINCT pd.c_id) AS Total_Customers,49 COUNT(DISTINCT p.p_id) AS Total_Policies,50 SUM(pay.p_amount) AS Total_Revenue52 COUNT(pay.payment_num) AS Total_Payments, 53 SUM(pay.p_amount) AS Total_Revenue, 54 AVG(pay.p_amount) AS Average_Payment 51 55 FROM 52 56 project.Package pkg 53 57 JOIN 54 58 project.Policy p ON pkg.code = p.package 55 LEFT JOIN 56 project.Pol_dog pd ON p.p_id = pd.policy 57 LEFT JOIN 59 JOIN 58 60 project.Payment pay ON p.p_id = pay.policy 59 61 GROUP BY 60 pkg.type_pol62 Payment_Month, pkg.title, pkg.type_pol 61 63 ORDER BY 62 Total_Revenue DESC, Total_Customers DESC; 64 Payment_Month DESC, Total_Revenue DESC; 65 63 66 64 67