Changes between Initial Version and Version 1 of View4


Ignore:
Timestamp:
01/04/26 22:06:58 (3 days ago)
Author:
211101
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • View4

    v1 v1  
     1= Извештај по тагови
     2
     3==== Опис
     4Овој поглед обезбедува преглед на потрошувачката по тагови, со што се овозможува категоризација и анализа на трошоците според нивната намена (храна, транспорт, сметки, забава и сл.)
     5
     6Погледот ги поврзува трансакциите со нивните тагови и ја сумира вкупната потрошувачка за секој таг
     7
     8==== Табели опфатени со погледот
     9- `tag`
     10- `tag_assigned_to_transaction`
     11- `transaction`
     12- `transaction_breakdown`
     13
     14==== SQL код
     15{{{#!sql
     16CREATE OR REPLACE VIEW vw_spending_by_tag AS
     17SELECT
     18    tg.tag_id,
     19    tg.tag_name,
     20
     21    COALESCE(SUM(tb.spent_amount), 0) AS total_spent,
     22    COUNT(DISTINCT t.transaction_id) AS transaction_count
     23
     24FROM tag tg
     25JOIN tag_assigned_to_transaction tat
     26    ON tat.tag_id = tg.tag_id
     27JOIN transaction t
     28    ON t.transaction_id = tat.transaction_id
     29JOIN transaction_breakdown tb
     30    ON tb.transaction_id = t.transaction_id
     31
     32GROUP BY
     33    tg.tag_id,
     34    tg.tag_name;
     35}}}
     36
     37==== Објаснување на логиката
     38- Се земаат само трансакции кои имаат доделен таг
     39- `spent_amount` се агрегира по таг
     40- `COUNT(DISTINCT ...)` се користи за да се избегне дуплирање на трансакции
     41
     42==== Причина за користење
     43- категоризацијата е суштинска за лични финансии
     44- овозможува анализа на трошоци по намена
     45- ја елиминира потребата од сложени `JOIN` и `GROUP BY` барања