Вы находитесь на странице: 1из 7

Проверки ККД для слоя EDW_DM_B2B

Витрина TFCT_ABON_BASE
Таблицы витрин CM

Схема хранения: EDW_DM_B2B


Витрины:

 Общая абонентская база за 6 месяцев в кодах систем источников в проекте МИС –


TFCT_ABON_BASE

1. ККД для витрины на слое EDW_DM_B2B

Общие требования к визуализации проверок:

В Журнале результатов проверки необходимо выводить следующие поля:

1. Наименование таблицы

2. Код СИ

3. Период проверки

4. Описание проверки

5. Кол-во (план)

6. Кол-во (факт)

7. Отклонение (количественное)

8. Процент отклонения

9. Статус проверки

10. Время запуска

Пример визуализации:

1.1. Проверка на расхождение количества показателей между соседними


периодами

Наименование проверки
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)

select TABLE_NAME, PERIOD, SRC_CODE, DESCRIPTION, CNT_PLAN, CNT_FACT, DELTA,


DELTA_PERCENT,
case when cnt_plan=0 then 'Проверьте предыдущий период'
else SCRIPT_STATUS end as SCRIPT_STATUS, LOAD_DTTM from t3
;

Необходимо проверить, что сумма записей SUBS_QNT за последний период эффективности в


витрине tfct_abon_base не отклоняются более чем на:
1. 1-12 си (Волга) - 15%
2. 27-34, 36-39 (Юг) - 15%
3. 45 (Урал) – 15%
4. 48-62 (Центр) – 15%
5. 80-88 (Сибирь) – 15%
6. 97 (Северо-Запад) – 15%
7. 107-113, 207 (Дальний Восток) – 15%

от суммы записей SUBS_QNT за предыдущий период эффективности.


Если условие выполняется, то в статусе проверки отражаем ‘Критерии сверки выполнены', если
условие не выполняется, то в статусе проверки отражаем ‘Критерии сверки нарушены’, если в
отчетном месяце 0 записей, то в статусе отражаем 'Проверьте предыдущий период'.

Кол-во (план) для данной проверки – это суммы записей 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 за предыдущий
период.

1.2. Проверка на обязательное заполнение ключевых полей

Наименование проверки
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 за текущий период.

1.3. Проверка составного ключа на уникальность

Наименование проверки
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 за текущий период

1.4. Проверка на наличие цифровой экономике

Наименование проверки
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 прошла проверку
успешно.

Вам также может понравиться