Changes between Version 2 and Version 3 of AdvancedTopics


Ignore:
Timestamp:
06/08/26 00:16:13 (3 days ago)
Author:
231020
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • AdvancedTopics

    v2 v3  
    3939ORDER BY u.username, s.symbol;
    4040}}}
     41
     42
     43Излез:
     44
     45{{{
     46username|symbol|year|month|type|total_trade_value |total_quantity|trade_count|is_all_users|is_all_stocks|is_all_types|
     47--------+------+----+-----+----+------------------+--------------+-----------+------------+-------------+------------+
     48user1   |ALK   |2026|    5|    | 966688.5368608509|           149|          3|           0|            0|           1|
     49user1   |ALK   |    |    5|    | 966688.5368608509|           149|          3|           0|            0|           1|
     50user1   |ALK   |    |     |SELL| 283321.8072274284|            35|          1|           0|            0|           0|
     51user1   |ALK   |    |    5|SELL| 283321.8072274284|            35|          1|           0|            0|           0|
     52user1   |ALK   |    |    5|BUY | 683366.7296334225|           114|          2|           0|            0|           0|
     53user1   |ALK   |    |     |BUY | 683366.7296334225|           114|          2|           0|            0|           0|
     54user1   |ALK   |2026|     |    | 966688.5368608509|           149|          3|           0|            0|           1|
     55}}}
     56
     57Излезот од оваа SQL квери претставува резултат од Data Cube (GROUP BY CUBE), каде податоците се прикажани на повеќе различни нивоа на агрегација истовремено.
     58
     59Тоа значи дека не се прикажуваат само детални записи, туку и збирни вредности за различни комбинации од димензиите: корисник, акција (stock), година, месец и тип на трансакција (BUY/SELL).
     60
     61Редовите каде некои од колоните (година, месец или type) имаат NULL не претставуваат грешка или дупликати, туку означуваат дека тие димензии се агрегирани.
     62
     63На пример, ако колоната type е NULL, тоа значи дека вредностите за BUY и SELL се собрани заедно. Ако месец е NULL, тогаш податоците се агрегирани за целата година итн.
     64
     65Поради тоа, истите вредности на total_trade_value, total_quantity и trade_count може да се појават повеќе пати, бидејќи тие се повторно прикажани за различни нивоа на агрегација (на пример по месец, по година или само по тип на трансакција).
     66
     67Со користење на GROUPING() функцијата јасно се означува кои колони се дел од агрегација, што помага да се разликуваат реални NULL вредности од оние кои настануваат како резултат на Data Cube. Овој пристап овозможува анализа на податоците од повеќе перспективи во исто време.