Changes between Initial Version and Version 1 of AdvancedReport5


Ignore:
Timestamp:
12/28/25 23:14:52 (6 days ago)
Author:
211101
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • AdvancedReport5

    v1 v1  
     1===== Сумарни приходи и расходи по месеци
     2Сумарните приходи и расходи (состојба) во целиот систем, поделени по месеци, со цел да се видат проблематичните месеци, се пресметува вкупниот приход и расход за секој месец, а разликата меѓу нив ќе ја даде состојбата
     3{{{#!sql
     4CREATE OR REPLACE FUNCTION get_monthly_system_balance()
     5RETURNS TABLE (
     6    month TEXT,
     7    total_income NUMERIC,
     8    total_expense NUMERIC,
     9    net_balance NUMERIC
     10)
     11LANGUAGE plpgsql
     12AS $$
     13BEGIN
     14    RETURN QUERY
     15    SELECT
     16        TO_CHAR(t.date, 'YYYY-MM'),
     17        SUM(tb.earned_amount),
     18        SUM(tb.spent_amount),
     19        SUM(tb.earned_amount) - SUM(tb.spent_amount)
     20    FROM transaction t
     21    JOIN transaction_breakdown tb ON t.transaction_id = tb.transaction_id
     22    GROUP BY TO_CHAR(t.date, 'YYYY-MM')
     23    ORDER BY month;
     24END;
     25$$;
     26}}}
     27Проблематичен месец е месец каде што {{{net_balance}}} е негативен. Резултатите можат да се прикажат во графикон (на пример, бар график или линиски график) за подобра анализа. Може да се додаде процентуална промена меѓу месеците за да се откријат трендовите во приходите и трошоците