Database
 sql >> база данни >  >> RDS >> Database

Как да изчислим общия брой на бягане в червено изместване

Кумулативната обща сума, известна още като текуща сума, е полезен показател за KPI за наблюдение на общите стойности на сумата във времето. Ако вашите данни се съхраняват в Amazon Redshift, тогава е доста лесно да се изчисли кумулативната сума в Redshift. Нека да видим как да изчислим общия обем на движение в Redshift.

Как да изчислим текущия общ брой в червено изместване

Ето стъпките за изчисляване на общия брой в Redshift. Да приемем, че имате следната таблица, която съдържа ежедневни продажби

postgres-#> create table sales(order_date date,sale int);

postgres-#> insert into sales values('2020-03-01',30),
('2020-03-02',35),('2020-03-03',25),('2020-03-04',40),('2020-03-05',30);

postgres-#> select * from sales;
+------------+------+
| order_date | sale |
+------------+------+
| 2020-03-01 |   30 |
| 2020-03-02 |   35 |
| 2020-03-03 |   25 |
| 2020-03-04 |   40 |
| 2020-03-05 |   30 |
+------------+------+

Да приемем, че искате да изчислите кумулативната сума на продажбите, така,

+------------+------+-----------------+
| order_date | sale | cumulative_sale |
+------------+------+-----------------+
| 2020-03-01 |   30 |              30 |
| 2020-03-02 |   35 |              65 |
| 2020-03-03 |   25 |              90 |
| 2020-03-04 |   40 |             130 |
| 2020-03-05 |   30 |             160 |
+------------+------+-----------------+

Ето SQL заявката за изчисляване на текущата сума в Redshift. Тъй като Redshift е основно PostgreSQL, всичките му функции и изрази са налични в PostgreSQL. Така че ще използваме функция Window, налична в PostgreSQL, за да го направим.

postgres=# SELECT order_date
          , sum(sale) over (order by order_date asc rows between unbounded preceding and current row)
          FROM   sales
          ORDER  BY order_date;

 order_date | sum
------------+-----
 2020-03-01 |  30
 2020-03-02 |  65
 2020-03-03 |  90
 2020-03-04 | 130
 2020-03-05 | 160

Нека разгледаме по-подробно горната заявка. Функцията SUM по-горе изчислява кумулативната сума за всеки ред. Въпреки това, ние използваме функцията на прозореца OVER, която ни помага да дефинираме броя на редовете, които да се използват за изчисляване на текущата сума в Redshift.

Бонус за четене:Как да изчислим пълзящата средна в червено изместване

Първо, ние подреждаме данните си хронологично по order_date за да гарантираме, че събираме правилните редове за всяка кумулативна сума. След това за всеки ред казваме на Redshift да сумира продажба колона за всички предходни редове. Правим това с помощта на функцията на прозореца OVER и споменаваме редове между неограничен предходен и текущ ред . Това означава, че за всеки ред вземете предвид само предходните редове за кумулативна сума.

Тъй като рамката на прозореца се променя за всеки ред, само предходните редове ще бъдат използвани за изчисляване на текущата сума.

Ако искате да филтрирате данните си, преди да изчислите общия брой в Redshift, можете да го направите, като добавите клауза WHERE, както е показано по-долу.

postgres=# SELECT order_date
          , sum(sale) over (order by order_date asc rows between unbounded preceding and current row)
          FROM   sales
          ORDER  BY order_date
          WHERE <condition>;

Бонусно четене: Как да създадете обобщена таблица в PostgreSQL

Освен това, тъй като Redshift е основно PostgreSQL, можете също да използвате горната заявка, за да изчислите общия обем в PostgreSQL.

След като изчислите кумулативната сума в Redshift, можете да използвате инструмент за визуализация на данни Redshift, за да я начертаете на линейна диаграма. Ето пример за линейна диаграма за кумулативна сума, създадена с Ubiq.

Ако искате да създавате диаграми и табла за управление от базата данни Redshift, можете да опитате Ubiq. Предлагаме 14-дневен безплатен пробен период.

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PASS Summit 2013 :Успех в Шарлът

  2. Разберете ролята на архитектите на данни в управлението на данните

  3. Репликация на данни в IRI Workbench

  4. Съхранена процедура за изтриване на дублиращи се записи в SQL таблица

  5. Инсталиране на WordPress с помощта на WP-CLI