Changes between Initial Version and Version 1 of AdvancedReports2


Ignore:
Timestamp:
01/20/25 21:28:39 (44 hours ago)
Author:
175012
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • AdvancedReports2

    v1 v1  
     1= Напредни извештаи од базата (SQL и складирани процедури) =
     2
     3=== Извештај 1: Листа на клиенти со сите активни полиси и деталите за нив ===
     4
     5Овој извештај ќе ги прикаже сите клиенти со нивните активни полиси, типот на полиса, пакетот што го користат, и сите покриени услуги.
     6
     7{{{#!sql
     8
     9SELECT
     10    c.name AS Customer_Name,
     11    c.email AS Customer_Email,
     12    p.p_id AS Policy_ID,
     13    p.sdate AS Start_Date,
     14    p.edate AS End_Date,
     15    CASE
     16        WHEN p.edate >= CURRENT_DATE THEN 'Active'
     17        ELSE 'Expired'
     18    END AS Policy_Status,
     19    pkg.title AS Package_Title,
     20    pkg.total AS Package_Total,
     21    STRING_AGG(cov.cov_type, ', ') AS Covered_Services
     22FROM
     23    project.Customer c
     24JOIN
     25    project.Pol_dog pd ON c.c_id = pd.c_id
     26JOIN
     27    project.Policy p ON pd.policy = p.p_id
     28JOIN
     29    project.Package pkg ON p.package = pkg.code
     30LEFT JOIN
     31    project.Covers cov ON pkg.code = cov.package
     32GROUP BY
     33    c.name, c.email, p.p_id, p.sdate, p.edate, pkg.title, pkg.total
     34ORDER BY
     35    Customer_Name;
     36
     37
     38}}}
     39
     40=== Извештај 2: Приходи од полиси по тип и број на клиенти ===
     41
     42Овој извештај ги прикажува приходите генерирани од полиси поделени по тип на пакет и го вклучува бројот на клиенти кои го користат секој тип на пакет.
     43
     44{{{#!sql
     45
     46SELECT
     47    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_Revenue
     51FROM
     52    project.Package pkg
     53JOIN
     54    project.Policy p ON pkg.code = p.package
     55LEFT JOIN
     56    project.Pol_dog pd ON p.p_id = pd.policy
     57LEFT JOIN
     58    project.Payment pay ON p.p_id = pay.policy
     59GROUP BY
     60    pkg.type_pol
     61ORDER BY
     62    Total_Revenue DESC, Total_Customers DESC;
     63
     64
     65}}}
     66