Changes between Version 1 and Version 2 of AdvancedReports2


Ignore:
Timestamp:
01/29/25 19:32:08 (32 hours ago)
Author:
175012
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • AdvancedReports2

    v1 v2  
    33=== Извештај 1: Листа на клиенти со сите активни полиси и деталите за нив ===
    44
    5 Овој извештај ќе ги прикаже сите клиенти со нивните активни полиси, типот на полиса, пакетот што го користат, и сите покриени услуги.
     5Овој извештај ќе ги прикаже сите клиенти со нивните активни полиси, типот на полиса, пакетот што го користат, и сите покриени услуги посебно за секој месец.
    66
    77{{{#!sql
    88
    99SELECT
     10    TO_CHAR(p.sdate, 'YYYY-MM') AS Month_Year,
    1011    c.name AS Customer_Name,
    1112    c.email AS Customer_Email,
     
    1415    p.edate AS End_Date,
    1516    CASE
    16         WHEN p.edate >= CURRENT_DATE THEN 'Active'
     17        WHEN p.edate > CURRENT_DATE THEN 'Active'
    1718        ELSE 'Expired'
    1819    END AS Policy_Status,
    1920    pkg.title AS Package_Title,
    2021    pkg.total AS Package_Total,
    21     STRING_AGG(cov.cov_type, ', ') AS Covered_Services
     22    STRING_AGG(DISTINCT cov.cov_type, ', ') AS Covered_Services
    2223FROM
    23     project.Customer c
     24    project.Customer AS c
    2425JOIN
    25     project.Pol_dog pd ON c.c_id = pd.c_id
     26    project.Pol_dog AS pd ON c.c_id = pd.c_id
    2627JOIN
    27     project.Policy p ON pd.policy = p.p_id
     28    project.Policy AS p ON pd.policy = p.p_id
    2829JOIN
    29     project.Package pkg ON p.package = pkg.code
     30    project.Package AS pkg ON p.package = pkg.code
    3031LEFT JOIN
    31     project.Covers cov ON pkg.code = cov.package
     32    project.Covers AS cov ON pkg.code = cov.package
    3233GROUP BY
    33     c.name, c.email, p.p_id, p.sdate, p.edate, pkg.title, pkg.total
     34    Month_Year, c.name, c.email, p.p_id, p.sdate, p.edate, pkg.title, pkg.total
    3435ORDER BY
    35     Customer_Name;
     36    Month_Year DESC, Customer_Name;
     37
    3638
    3739
     
    4042=== Извештај 2: Приходи од полиси по тип и број на клиенти ===
    4143
    42 Овој извештај ги прикажува приходите генерирани од полиси поделени по тип на пакет и го вклучува бројот на клиенти кои го користат секој тип на пакет.
     44Овој извештај ги прикажува приходите генерирани од полиси поделени по тип на пакет и го вклучува бројот на клиенти кои го користат секој тип на пакет за секој месец посебно.
    4345
    4446{{{#!sql
    4547
    4648SELECT
     49    DATE_TRUNC('month', pay.p_date) AS Payment_Month,
     50    pkg.title AS Package_Title,
    4751    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
     52    COUNT(pay.payment_num) AS Total_Payments,
     53    SUM(pay.p_amount) AS Total_Revenue,
     54    AVG(pay.p_amount) AS Average_Payment
    5155FROM
    5256    project.Package pkg
    5357JOIN
    5458    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
     59JOIN
    5860    project.Payment pay ON p.p_id = pay.policy
    5961GROUP BY
    60     pkg.type_pol
     62    Payment_Month, pkg.title, pkg.type_pol
    6163ORDER BY
    62     Total_Revenue DESC, Total_Customers DESC;
     64    Payment_Month DESC, Total_Revenue DESC;
     65
    6366
    6467