У меня есть таблица с двумя столбцами (дата закрытия и доход). Я хотел бы рассчитать накопление, также известное как промежуточный итог суммы дохода на Snowflake.
Я использовал форму, которая есть в их документации, но по какой-то причине я продолжаю получать эту ошибку. кто-то еще столкнулся с проблемой, и не могли бы вы помочь?
select CLOSEDATE
, sum(RECURRING_REVENUE_AMOUNTS) over (partition by CLOSEDATE order by CLOSEDATE rows between unbounded preceding and current row) running_total
from PHOENIX_PROD.BI_AL.OPPORTUNITY_OVERVIEW
group by 1
Вы можете использовать что-то вроде следующего (удалить группу) -
SNOWFLAKE1#COMPUTE_WH@TEST_DB.PUBLIC>select closedate,sum(RECURRING_REVENUE_AMOUNTS) over (partition by closedate order
by closedate rows between unbounded preceding and current row) running_total from
OPPORTUNITY_OVERVIEW;
+------------+---------------+
| CLOSEDATE | RUNNING_TOTAL |
|------------+---------------|
| 2021-03-26 | 2000 |
| 2021-03-21 | 2944 |
| 2021-03-25 | 3444 |
| 2021-03-20 | 2300 |
| 2021-03-24 | 2444 |
| 2021-03-17 | 10200 |
| 2021-03-23 | 44323 |
| 2021-03-19 | 300 |
| 2021-03-22 | 2333 |
| 2021-03-18 | 30200 |
+------------+---------------+
10 Row(s) produced. Time Elapsed: 0.236s
Также см. следующее, в котором упоминается, что раздел теперь всегда совместим с GROUP BY - https://docs.snowflake.com/en/sql-reference/functions-analytic.html#general-tips