Created
February 25, 2022 18:56
-
-
Save MikeRzhevsky/60aa57f8250620982832a3b1939d3f46 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| {{ config( | |
| as_columnstore=false | |
| , post_hook=[" | |
| {{ create_nonclustered_index( ['Товар']) }} | |
| {{ create_nonclustered_index( ['СкладКуда']) }} | |
| {{ create_nonclustered_index( ['СкладОткуда']) }} | |
| "] | |
| ) | |
| }} | |
| {% set start_date = '20210101' %} | |
| -- Куда = Тип Движения = 1 | |
| with СкладКуда as ( | |
| select Регистратор, Склад as СклКуда,max(whn.Наименование) as КудаНаименование, Товар | |
| from {{ ref('dm_stage_РегистрНакопления_ОстаткиТоваров') }} | |
| left join {{ ref('dm_stage_Справочник_МестаХранения') }} whn on whn.Ссылка = Склад | |
| where ТипДвижения = 0 and Период > '{{start_date}}' | |
| group by Регистратор, Товар, Склад | |
| ), | |
| СкладОткуда as ( | |
| select Регистратор, Склад as СклОткуда, max(whn.Наименование) as ОткудаНаименование, Товар as Товар | |
| from {{ ref('dm_stage_РегистрНакопления_ОстаткиТоваров') }} | |
| left join {{ ref('dm_stage_Справочник_МестаХранения') }} whn on whn.Ссылка = Склад | |
| where ТипДвижения = 1 and Период > '{{start_date}}' | |
| group by Регистратор,Склад,Товар,Период | |
| ) | |
| select {{ BinaryToChar( 'mov.Товар' ) }} as Товар, mov.Товар as ТоварБин, СкладКуда.КудаНаименование as СкладКуда, whn.Наименование as СкладОткуда, mov.ОстатокТовара as Количество,mov.Период | |
| from {{ ref('dm_stage_РегистрНакопления_ОстаткиТоваров') }} as mov | |
| LEFT OUTER JOIN СкладКуда on СкладКуда.Регистратор = mov.Регистратор and СкладКуда.Товар = mov.Товар | |
| LEFT JOIN {{ ref('dm_stage_Справочник_МестаХранения') }} whn on whn.Ссылка = mov.Склад | |
| where mov.ТипДвижения = 1 and mov.Период > '{{start_date}}' | |
| union all | |
| select {{ BinaryToChar( 'mov.Товар' ) }} as Товар, mov.Товар as ТоварБин, whn.Наименование as СкладКуда,СкладОткуда.ОткудаНаименование as СкладОткуда, mov.ОстатокТовара as Количество, mov.Период | |
| from {{ ref('dm_stage_РегистрНакопления_ОстаткиТоваров') }} as mov | |
| LEFT OUTER JOIN СкладОткуда on СкладОткуда.Регистратор = mov.Регистратор and СкладОткуда.Товар = mov.Товар | |
| LEFT JOIN {{ ref('dm_stage_Справочник_МестаХранения') }} whn on whn.Ссылка = mov.Склад | |
| where mov.ТипДвижения = 0 and mov.Период > '{{start_date}}' | |
| and not exists (select 1 from {{ ref('dm_stage_РегистрНакопления_ОстаткиТоваров') }} | |
| where Период > '{{start_date}}' and ТипДвижения = 1 | |
| and Регистратор = mov.Регистратор and Товар = mov.Товар ) |
Author
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Проверка что Количество по складу на дату сходится
select sum(ОстатокТовара) from CifraTest.[dbt_stage].dm_stage_РегистрНакопления_ОстаткиТоваров
where Склад = 0x80F5A8494DAAE3A211EA7EFD9B95F39E
and Период between '20210201' and '20210205'
select sum(Количество) from CifraTest.[dbt_logist].dm_ДижениеТоваров
where (СкладОткуда = 'Ozon' or СкладКуда = 'Ozon')
and Период between '20210201' and '20210205'