четверг, 10 января 2019 г.

Остановка процесса SSIS вручную

Если нужно вручную остановить запущенный процесс ETL (например, с помощью агента), можно 
выполнить следующие действия:

1. Найти процесс
select * from catalog.executions where end_time is null

2. Остановить операцию по execution_id

exec catalog.stop_operation  @operation_id =  11

среда, 29 августа 2018 г.

Переименование схемы для представлений

Возникла задача переименования схемы для всех представлений, созданных в другой схеме. Да, можно в Object explorer details выделить все представления и с помощью search and replace переименовывать схемы, а потом запустить скрипт, но вот существует скрипт. Может, пригодится :)

понедельник, 13 августа 2018 г.

T-SQL script for delete all rows from MDS entity

truncate table stg.[TableName_Leaf]

insert into stg.[TableName_Leaf]
(
ImportType
,ImportStatus_ID
,BatchTag
,Code
)
select
4 as ImportType
,0 as ImportStatus_ID
,'DeleteALL' as BatchTag
,Code
from
mdm.TableName -- Integration Management View

exec stg.[udp_TableName_Leaf] @VersionName = 'VERSION_1', @LogFlag = 0, @BatchTag = 'DeleteALL'

четверг, 31 мая 2018 г.

Парсер строки с разделителями на T-SQL

Постановка задачи:
Имеется таблица, в одном поле которой записаны строки с названиями и разделителями. Необходимо преобразовать данные в таблицу в которой названия значений станут названиями полей, а сами значения будут записаны в соответствующую ячейку. Список может быть с пропусками.

вторник, 29 мая 2018 г.

Запуск Jupyter notebook внутри другого ноутбука


import io
from nbformat import current
def execute_notebook(nbfile):
 
    with io.open(nbfile) as f:
        nb = current.read(f, 'json')
 
    ip = get_ipython()
 
    for cell in nb.worksheets[0].cells:
        if cell.cell_type != 'code':
            continue
        ip.run_cell(cell.input)

execute_notebook("ntbk.ipynb")

воскресенье, 29 апреля 2018 г.

пятница, 23 марта 2018 г.

Загрузка курса валют за период с сайта ЦБ


Для доступа к API ЦБ используем библиотеку pycbrf. Главная проблема в написании скрипта возникла на этапе построчной записи в файл, потому что многочисленные туториалы в интернете просто не работали по разным причинам либо были перенасыщены лишними строчками кода. Скрипт использовался внутри Jupyter Notebook, поэтому даты просто забиты.