среда, 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, поэтому даты просто забиты.

среда, 7 февраля 2018 г.

T-SQL script for quick select from csv

CREATE TABLE #entities (
  Model nvarchar(max),
  Entity nvarchar(max), 
  Description nvarchar(max)
); -- some fields, need from csv file

BULK INSERT #entities
FROM 'D:\test\entities.csv' -- some csv file into the file system
WITH
(
  FIRSTROW = 2,
  DATAFILETYPE='char',
  FIELDTERMINATOR = ';',
  ROWTERMINATOR = '\n',
  TABLOCK,
  KEEPNULLS
);

select * from #entities;


drop table #entities;