Витрина TFCT_ABON_BASE
Таблицы витрин CM
1. Наименование таблицы
2. Код СИ
3. Период проверки
4. Описание проверки
5. Кол-во (план)
6. Кол-во (факт)
7. Отклонение (количественное)
8. Процент отклонения
9. Статус проверки
Пример визуализации:
Наименование проверки
DM_B2B_TFCT_ABON_BASE_TREND
Результирующая таблица
DCM_RESULT. DQ_RES_COMMON
Результирующее представление
DCM_RESULT.V_DQ_RES_COMMON
Системы источники: 1-12, 27-34 36-39, 45, 48-62, 80-88, 97, 107-113 207
1. TFCT_ABON_BASE
with t1 as (
select sum(~ATR~) as SUBS_QNT, src_id
from edw_dm_b2b.~TABLE_NAME~_1_prt_p~SRC_CODE~
where period = TO_DATE('~CHECKTASK_PERIOD~', 'YYYYMM') - interval '1 month'
group by src_id
)
, t2 as (
select sum(~ATR~) as SUBS_QNT, src_id
from edw_dm_b2b.~TABLE_NAME~_1_prt_p~SRC_CODE~
where period =TO_DATE('~CHECKTASK_PERIOD~', 'YYYYMM')
group by src_id
)
,t3 as (select
'~TABLE_NAME~' AS TABLE_NAME,
~CHECKTASK_PERIOD~ as period,
'~SRC_CODE~' as SRC_CODE,
'Трендовая проверка по SUBS_QNT' as DESCRIPTION,
t1.SUBS_QNT as cnt_plan,
t2.SUBS_QNT as cnt_fact,
ABS(t2.SUBS_QNT - t1.SUBS_QNT) delta,
case when t1.SUBS_QNT>0 then ABS(t2.SUBS_QNT::numeric(38,4) /
t1.SUBS_QNT::numeric(38,4) - 1)::numeric(38,4)*100 else case when t1.SUBS_QNT>0 then
100 else 0 end end as DELTA_PERCENT,
case
when case when t1.SUBS_QNT>0 then ABS(t2.SUBS_QNT::numeric(38,4) /
t1.SUBS_QNT::numeric(38,4) - 1)::numeric(38,4)*100 else case when t1.SUBS_QNT>0 then
100 else 0 end end <= '~DELTA~' then 'Критерии сверки выполнены'
else 'Критерии сверки нарушены'
end as SCRIPT_STATUS,
to_char(current_timestamp, 'YYYY-MM-DD HH24:MI:SS') AS LOAD_DTTM
from t2
left join t1 on t1.src_id=t2.src_id)
Кол-во (план) для данной проверки – это суммы записей SUBS_QNT в рамках одного src_id
витрине TFCT_ABON_BASE за предыдущий период.
Кол-во (факт) для данной проверки – это суммы записей SUBS_QNT в рамках одного src_id в
витрине TFCT_ABON_BASE за текущий период.
Отклонение для данной проверки - это суммы записей SUBS_QNT в рамках одного src_id в витрине
TFCT_ABON_BASE за предыдущий период минус суммы записей SUBS_QNT в рамках одного src_id
в витрине TFCT_ABON_BASE за текущий период.
Процент отклонения для данной проверки – соответственно процентное соотношение суммы
записей SUBS_QNT в рамках одного src_id в витрине TFCT_ABON_BASE за предыдущий период
минус суммы записей SUBS_QNT в рамках одного src_id в витрине TFCT_ABON_BASE за текущий
период деленное на общее суммы записей SUBS_QNT в витрине TFCT_ABON_BASE за предыдущий
период.
Наименование проверки
DM_B2B_TFCT_ABON_BASE_NULL_KEY_COUNT
Результирующая таблица
DCM_RESULT. DQ_RES_COMMON
Результирующее представление
DCM_RESULT.V_DQ_RES_COMMON
Системы источники: 1-12, 27-34 36-39, 45, 48-62, 80-88, 97, 107-113 207
1. TFCT_ABON_BASE
select
'~TABLE_NAME~' as TABLE_NAME,
'~CHECKTASK_PERIOD~' as PERIOD,
'~SRC_CODE~' as SRC_CODE,
'Проверка на обязательное заполнение ключевых полей' as DESCRIPTION,
plan.cnt as CNT_PLAN,
fact.cnt as CNT_FACT,
abs(fact.cnt-plan.cnt) as DELTA,
case when plan.cnt>0 then abs(plan.cnt-fact.cnt)*1.0/plan.cnt*100.0 else case when
fact.cnt>~DELTA~ then 100 else 0 end end as DELTA_PERCENT,
case
when plan.cnt=fact.cnt
then 'Критерии сверки выполнены'
else 'Критерии сверки нарушены'
end as SCRIPT_STATUS,
to_char(current_timestamp, 'YYYY-MM-DD HH24:MI:SS') as LOAD_DTTM
from (select 0 as cnt ) plan
full join
(
select
sum(case when ~ATR~ is null or ~ATR_2~ is null or ~ATR_3~ is null then 1 else 0
end) as cnt
from edw_dm_b2b.~TABLE_NAME~_1_prt_p~SRC_CODE~
where period = to_date('~CHECKTASK_PERIOD~', 'yyyymm')
) fact
on 1=1
;
Необходимо проверить, что по всем записям за выбранный период эффективности: SUBS_SRC_ID,
SERVICE_SRC_ID, PERIOD в витрине TFCT_ABON_BASE не содержат значений null.
Если условие выполняется, то в статусе проверки отражаем “Критерии сверки выполнены”, если
условие не выполняется, то в статусе проверки отражаем “Критерии сверки нарушены”.
Кол-во (план) для данной проверки – это количество записей в рамках одного src_id в витрине
TFCT_ABON_BASE равный 0;
Кол-во (факт) для данной проверки – это количество записей в рамках одного src_id в витрине
TFCT_ABON_BASE;
Отклонение для данной проверки - это количество записей в рамках одного src_id в витрине
TFCT_ABON_BASE план минус количество записей в рамках одного src_id в витрине
TFCT_ABON_BASE факт;
Процент отклонения для данной проверки – соответственно процентное соотношение количества
записей в рамках одного src_id в витрине TFCT_ABON_BASE план минус количество записей в
рамках одного src_id в витрине TFCT_ABON_BASE факт период деленное на общее количество
записей в витрине TFCT_ABON_BASE за текущий период.
Наименование проверки
DM_B2B_TFCT_ABON_BASE_UNIQ_KEY
Результирующая таблица
DCM_RESULT. DQ_RES_COMMON
Результирующее представление
DCM_RESULT.V_DQ_RES_COMMON
Системы источники: 1-12, 27-34 36-39, 45, 48-62, 80-88, 97, 107-113 207
1. TFCT_ABON_BASE
select
'~TABLE_NAME~' AS TABLE_NAME,
~CHECKTASK_PERIOD~ as period,
'~SRC_CODE~' as SRC_CODE,
'Проверка составного ключа на уникальность' as DESCRIPTION,
0 cnt_plan,
count(*) as cnt_fact,
0- count(*) delta,
case when count(*)>~DELTA~ then 100 else 0 end DELTA_PERCENT,
case
when count(*)=0 then 'Критерии сверки выполнены'
else 'Критерии сверки нарушены'
end as SCRIPT_STATUS,
to_char(current_timestamp, 'YYYY-MM-DD HH24:MI:SS') AS LOAD_DTTM
from
(
SELECT ~ATR~, ~ATR_2~
FROM edw_dm_b2b.~TABLE_NAME~_1_prt_p~SRC_CODE~
WHERE 1 = 1
and period = TO_DATE('~CHECKTASK_PERIOD~', 'YYYYMM')
GROUP BY
~ATR~, ~ATR_2~
HAVING COUNT(*)>1
) t2;
Необходимо проверить, что комбинация SERVICE_SRC_ID + SUBS_SRC_ID в витрине
TFCT_ABON_BASE в рамках одного периода эффективности уникальна.
Если условие выполняется, то в статусе проверки отражаем “Критерии сверки выполнены”, если
условие не выполняется, то в статусе проверки отражаем “Критерии сверки нарушены”.
Кол-во (план) для данной проверки – это количество записей в рамках одного src_id в витрине
TFCT_ABON_BASE равный 0
Кол-во (факт) для данной проверки – это количество записей в рамках одного src_id в витрине
TFCT_ABON_BASE
Отклонение для данной проверки - это количество записей в рамках одного src_id в витрине
TFCT_ABON_BASE план минус количество записей в рамках одного src_id в витрине
TFCT_ABON_BASE факт
Процент отклонения для данной проверки – соответственно процентное соотношение количества
записей в рамках одного src_id в витрине TFCT_ABON_BASE план минус количество записей в
рамках одного src_id в витрине TFCT_ABON_BASE факт период деленное на общее количество
записей в витрине TFCT_ABON_BASE за текущий период
Наименование проверки
DM_B2B_TFCT_ABON_BASE_PROJECT
Результирующая таблица
DCM_RESULT. DQ_RES_COMMON
Результирующее представление
DCM_RESULT.V_DQ_RES_COMMON
Системы источники: 1-12, 27-34 36-39, 45, 48-62, 80-88, 97, 107-113 207
1. TFCT_ABON_BASE
select
'~TABLE_NAME~' as TABLE_NAME,
'~CHECKTASK_PERIOD~' as PERIOD,
'~SRC_CODE~' as SRC_CODE,
'Проверка на наличие цифровой экономики' as DESCRIPTION,
plan.cnt as CNT_PLAN,
fact.cnt as CNT_FACT,
abs(fact.cnt-plan.cnt) as DELTA,
case when plan.cnt>0 then abs(plan.cnt-fact.cnt)*1.0/plan.cnt*100.0 else case when
fact.cnt>~DELTA~ then 0 else 100 end end as DELTA_PERCENT,
case
when plan.cnt<fact.cnt
then 'Критерии сверки выполнены'
else 'Критерии сверки нарушены'
end as SCRIPT_STATUS,
to_char(current_timestamp, 'YYYY-MM-DD HH24:MI:SS') as LOAD_DTTM
from (select 0 as cnt ) plan
full join
(
select
count (*) as cnt
from edw_dm_b2b.~TABLE_NAME~_1_prt_p~SRC_CODE~
where period = to_date('~CHECKTASK_PERIOD~', 'yyyymm')
and ~ATR~ != -1
and ~ATR~ is not null
) fact
on 1=1
;
Необходимо проверить, что project_src_id, который не равняется ‘-1' и не ‘NULL’ в витрине
TFCT_ABON_BASE в рамках одного периода эффективности присутсвует
Если условие выполняется, то в статусе проверки отражаем “Критерии сверки выполнены”, если
условие не выполняется, то в статусе проверки отражаем “Критерии сверки нарушены”
Кол-во (план) для данной проверки – это количество записей TFCT_ABON_BASE в рамках одного
src_id в витрине TFCT_ABON_BASE равный 0;
Кол-во (факт) для данной проверки – это количество записей TFCT_ABON_BASE в рамках одного
src_id в витрине TFCT_ABON_BASE;
Отклонение для данной проверки - это количество записей в рамках одного src_id в витрине
TFCT_ABON_BASE план минус количество записей в рамках одного src_id в витрине
TFCT_ABON_BASE факт;
Процент отклонения для данной проверки – соответственно процентное соотношение количества
записей в рамках одного src_id в витрине TFCT_ABON_BASE план минус количество записей в
рамках одного src_id в витрине TFCT_ABON_BASE факт период деленное на общее количество
записей в витрине TFCT_ABON_BASE за текущий период.
2. Результаты ККД
Если все проверки ККД из пункта 1 выполняются, то витрина TFCT_ABON_BASE прошла проверку
успешно.