Changes between Initial Version and Version 1 of View3


Ignore:
Timestamp:
01/04/26 21:56:56 (3 days ago)
Author:
211101
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • View3

    v1 v1  
     1= Месечно потрошено по корисник
     2
     3==== Опис
     4Овој поглед обезбедува преглед на месечната потрошувачка за секој корисник, каде податоците се групираат по корисник и месец(придружен со година)
     5
     6Погледот е наменет за:
     7- месечни финансиски извештаи
     8- тренд анализи
     9- визуелизации (графици)
     10
     11==== Табели опфатени со погледот
     12- `transaction`
     13- `transaction_breakdown`
     14- `transaction_account`
     15
     16==== Тип
     17- **READ-ONLY VIEW
     18
     19==== SQL код
     20{{{#!sql
     21CREATE OR REPLACE VIEW vw_monthly_spending_by_user AS
     22SELECT
     23    ta.user_id,
     24    EXTRACT(MONTH FROM t.date) AS month,
     25    EXTRACT(YEAR FROM t.date) AS year,   
     26
     27    COALESCE(SUM(tb.spent_amount), 0) AS total_spent
     28
     29FROM transaction t
     30JOIN transaction_breakdown tb
     31    ON tb.transaction_id = t.transaction_id
     32JOIN transaction_account ta
     33    ON ta.transaction_account_id = tb.transaction_account_id
     34
     35GROUP BY
     36    ta.user_id,
     37    EXTRACT(YEAR FROM t.date),
     38    EXTRACT(MONTH FROM t.date);
     39}}}
     40
     41==== Објаснување на логиката
     42- Се користи датумот на трансакцијата како временска референца
     43- Се агрегира само `spent_amount`
     44- Податоците се групираат по корисник и по месец
     45Ова овозможува јасен временски преглед на трошоците
     46
     47==== Причина за користење
     48Овој поглед е важен затоа што:
     49- месечните извештаи се честa потреба
     50- сложените агрегации се централизирани
     51- апликацијата не мора да имплементира временска логика