Перейти к основному содержимому

Редактор скрипта загрузки

Скрипт загрузки генерируется автоматически после выбора источников данных. 

Этап ручного редактирования скрипта загрузки является необязательным, однако функциональность Fastboard позволяет при необходимости внести изменения. 

Скрипт загрузки

Правила использования редактора

Добавить источник

ШагиОжидаемый результат

В любом месте скрипта добавить строку Source "Название коннекта"

где:

  • Source - ключевое слово обозначающее вставку нового коннекта,

  • "Название источника" - имя коннекта из списка источников

  • При вставке кода для импорта таблиц из этого источника  таблицы успешно загрузятся в БД проекта

Удалить таблицу

ШагиОжидаемый результат
  1. Удалить строку объявляющую таблицу

    Table "Car"

  2. Удалить секции Create, Delete, Read, Write для этой таблицы

  3. Нажать кнопку «Сохранить». Для записи изменений в тексте скрипта

  4. Нажать кнопку «Запустить». Для старта импорта данных согласно сохраненному скрипту загрузки

Удаленная таблица исчезла из списка таблиц на странице модели данных

Добавить поле из таблицы источника в таблицу импорта

ШагиОжидаемый результат
  1. В список полей таблицы куда вставляем секции Create добавить строку: 

    "id" String NULL

     - "название поля" / тип данных / может быть пустым Null (если нет, not null)

  2. В список полей таблицы откуда импортируем для секции Read добавить строку с названием поля:

    "id"::text

      - "название поля" / тип данных (всегда текст)

  3. В список полей данной таблицы в секции Write добавить строку с названием поля: "id"

  4. Нажать кнопку «Сохранить». Для записи изменений в тексте скрипта

  5. Нажать кнопку «Запустить». Для старта импорта данных согласно сохраненному скрипту загрузки

На странице модели данных в данной таблице появилось поле  "id" с типом данных, указанным в секции Create

Удалить поле из таблицы

ШагиОжидаемый результат
  1. В списке полей таблицы в секциях Create, Delete, Read, Write удалить необходимое поле

  2. Нажать кнопку «Сохранить». Для записи изменений в тексте скрипта

  3. Нажать кнопку «Запустить». Для старта импорта данных согласно сохраненному скрипту загрузки

Удаленное поле исчезло таблицы на странице модели данных

Изменить тип данных поля

ШагиОжидаемый результат
  1. В строке поля таблицы в секции Create изменить тип на один из поддерживаемых КХ: String, Int64, Float32 и т.д.

    Полный список типов

  2. Нажать кнопку «Сохранить». Для записи изменений в тексте скрипта

  3. Нажать кнопку «Запустить». Для старта импорта данных согласно сохраненному скрипту загрузки

Тип поля изменился в таблице 
к сведению

В настоящий момент для применения любых изменений в таблицах (создание поля, переимнование поля, изменение типа поля и т.д.) необходимо пересоздать таблицу в БД проекта. Для этого после внесения всех изменеий к имени таблицы можно добавить, например _1, после этого сохранить, затем запустить скрипт. При необходимости вернуть таблице старое название тем же способом. (Это связано с текущими ограничениями парсера. Мы над этим работаем)

Создать новую таблицу "Календарь"

Вставить в скрипт загрузки следующий текст (обратите внимание на комментарии), после выполнения скрипта загрузки выполнить JOIN таблицы Calendar к вашей таблице фактов.

Table "calendar"

Create @@@
CREATE TABLE IF NOT EXISTS
"calendar" (
"id" Int32 NULL,
"key_date" String NULL,
"date" Date32 NULL,
"index_day" Int32 NULL,
"day" String NULL,
"week" Int32 NULL,
"quarter" Int32 NULL,
"year" Int32 NULL,
"index_month" Int32 NULL,
"month" String NULL

) ENGINE = MergeTree ()
ORDER BY
tuple ()
@@@

Delete @@@
ALTER TABLE "calendar" DELETE WHERE 1=1
@@@

Source "promo_fb (RomanS)" -- Укажите любой существующий источник, чтобы сохранить в него вашу таблицу

Read @@@
SELECT
a."id"::text,
a."key_date"::text,
a."date"::text,
a."index_day"::text,
a."day"::text,
a."week"::text,
a."quarter"::text,
a."year"::text,
a."index_month"::text,
a."month"::text
FROM
(
select distinct
row_number() over() as id,
date(date)::text as key_date,
date::date,
extract('isodow' from date) as index_day,
CASE
WHEN extract('isodow' from date) = 1 then 'ПН' -- Если нужно, укажите названия дней (и месяцев ниже)
WHEN extract('isodow' from date) = 2 then 'ВТ'
WHEN extract('isodow' from date) = 3 then 'СР'
WHEN extract('isodow' from date) = 4 then 'ЧТ'
WHEN extract('isodow' from date) = 5 then 'ПТ'
WHEN extract('isodow' from date) = 6 then 'СБ'
WHEN extract('isodow' from date) = 7 then 'ВС' end as day,
extract('week' from date) as week,
extract('quarter' from date ) as quarter,
extract('year' from date) as year,
extract('month' from date) as index_month,
CASE
WHEN extract('month' from date) = 1 then 'Январь'
WHEN extract('month' from date) = 2 then 'Февраль'
WHEN extract('month' from date) = 3 then 'Март'
WHEN extract('month' from date) = 4 then 'Апрель'
WHEN extract('month' from date) = 5 then 'Май'
WHEN extract('month' from date) = 6 then 'Июнь'
WHEN extract('month' from date) = 7 then 'Июль'
WHEN extract('month' from date) = 8 then 'Август'
WHEN extract('month' from date) = 9 then 'Сентябрь'
WHEN extract('month' from date) = 10 then 'Октябрь'
WHEN extract('month' from date) = 11 then 'Ноябрь'
WHEN extract('month' from date) = 12 then 'Декабрь'end as month
from generate_series(date'2015-01-01',date(now()),interval '1 day')as t(date) -- Выберите дату начала и интервал
order by
date desc) a
@@@

Таблица в результате:

Результаты таблицы