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

Справочник атрибутов

Все атрибуты тегового DSL — с однострочным описанием и указанием, где они разобраны подробнее.

У тегов <compute> свои атрибуты (v, sep, as, width, fill, from, to, size, pattern, default). Каждый принадлежит одному тегу и объясняется там, где разобран этот тег, — см. справочник compute.

Как записать значение​

Значение пишется в двойных кавычках: value="a,b". Чтобы поставить внутрь ", возьмите значение в одинарные кавычки:

<gen type="text" value='say "hi",wave'/>
<data if='City == "New York"'>…</data>

Внутри значения ничего не экранируется — ни \", ни &quot;, — поэтому другие кавычки и есть единственный способ записать кавычку. Оба вида кавычек сразу значение не вмещает; такому тексту место в теле <data>, где каждый символ берётся как написан.

Окружение и конфигурация​

АтрибутЧто задаётСм.
version / vВерсия DSL, которую требует файлКонфигурация
countКоличество карточекДетерминизм
seedСид генератора случайных чисел (воспроизводимость)Детерминизм
localЛокаль для шаблонных данных — на <env> для всего запуска и на отдельном <gen type="template">, чтобы перебить её только для этой последовательностиШаблоны
injectСвой маркер интерполяцииВывод и форматирование
modememory / disk — семейство движков; stream — легаси-псевдоним, форсирующий движок 2Большие объёмы
engine1 / 2 / 3 — форсировать движок (продвинутое)Большие объёмы
commentПроизвольный комментарийКонфигурация

Последовательности и зависимости​

АтрибутЧто задаётСм.
nameНа <sequence> — её имя. На <gen> — делает его полем, Имя.Поле. На <data> внутри последовательности — константное поле, единственное, которое не стоит ни одного розыгрышаПоследовательности
parentФильтр по родителю Родитель.ЗначениеИерархические зависимости
uniqУникальная комбинация по всем строкамУникальные значения
on / isСубъект / ключ ветки для <switch>Switch
filterНа <gen type="pool">: из каких членов может выбирать эта строкаСогласованные записи
ofНа <gen type="running">: какую колонку накапливать. На <gen type="stat">: по какой колонке считать. На <gen type="date">: от какой колонки отсчитыватьНарастающий итог, Статистика
plusНа <gen type="date" of="…">: насколько далеко от той колонки — 7d, 3..10d, 1..3mo, -10..-3d или колонка и единица, Length m; голое число или имя означает дниИнтервал
opНа <gen type="stat">: какая статистика — sum, mean, median, min, max, count или stddevСтатистика
exprНа <gen type="formula">: арифметика, которой эта колонка является — записывается так же, как условие if=Формула
thatНа <assert>: условие, которому обязан удовлетворять готовый запуск, на языке if=Самопроверяющиеся конфиги
saysНа <assert>: фраза, которую получит читатель, если условие не сошлосьСамопроверяющиеся конфиги
resetНа <gen type="running">: колонка, смена значения которой перезапускает итогНарастающий итог

Значения генераторов​

АтрибутЧто задаётСм.
typeКакой генераторГенераторы
valueОсновное значение генератора (зависит от типа)Генераторы
percentТочное распределение значенийТекст
accumulateЗаменить список repeat его нарастающим итогом, либо задать, как накапливает колонка runningНесколько значений в ячейке
alphabetИменованный Unicode-алфавитСимволы
lengthДлина / ширина выводаЧисла
first_zeroРазрешить ведущий нольЧисла
weekdaysКакие дни недели оставляет обходимая ось дат: mon..fri, sun,wedДата
stepШаг счётчика или насколько сдвигается обходимая ось дат: 15m, 1h30m, 3moСчётчики, Дата
regex_max_lengthОграничение длины для regexRegex
include / excludeОставить или выбросить значения из набораЧисла
decimalsЗнаков после запятойЧисла
oldest / youngestВозрастной диапазон для дня рожденияДаты
formatФормат вывода датыДаты
from / toГраницы диапазона по отдельностиДаты
precisionШаг для диапазона с датой и временемДаты
rangeДиапазон дат для date.rangeШаблоны

Статистическая форма​

АтрибутЧто задаётСм.
distributionИменованное распределение (normal, zipf, …)Распределения
min / maxОбрезать выпавшие значения диапазономРаспределения
missingДоля строк, оставленных пустымиПропуски
missing_asЧем записывается пустая ячейкаПропуски
missing_whenКакие строки вообще могут опустеть (MAR / MNAR)Пропуски
anomalyДоля строк, сделанных выбросамиАномалии
anomaly_factorНасколько далеко отодвинут выбросАномалии
anomaly_flagКолонка-ответ, помечающая выбросыАномалии

У каждого распределения свои параметры, и читаются они только тогда, когда distribution= называет именно его. Кроме них любое распределение принимает decimals, min и max. Каждый разобран, с гистограммой, в руководстве по распределениям.

distribution=ПараметрыЧто они значат
normalmean sdЦентр и разброс
lognormalmeanlog sdlogЦентр и разброс логарифма — само значение скошено вправо
exponentialrateСобытий за единицу времени; среднее равно 1/rate
paretoalpha xminТолщина хвоста и наименьшее возможное значение
weibullshape scaleshape меньше 1 — ранние отказы, больше 1 — износ; scale задаёт типичный срок
poissonlambdaСреднее число событий за интервал (потолок 700)
zipfn sСколько рангов и насколько круто они падают
gammashape scaleСуммарное ожидание shape событий, каждое в среднем по scale
betaalpha betaТяга к 1 и к 0 — результат лежит между 0 и 1

Временные ряды​

АтрибутЧто задаётСм.
baseСтартовый уровень рядаВременные ряды
trendСнос за шагВременные ряды
periodДлина одного сезонного циклаВременные ряды
amplitudeВысота сезонного размахаВременные ряды
peak_atНа какой строке пикует сезонная волнаВременные ряды
noiseСлучайное дрожание сверхуВременные ряды
noise_correlationСколько дрожания одной строки переходит в следующуюВременные ряды

Pattern (рисунок как источник)​

АтрибутЧто задаётСм.
pointsПары x,y прямо в конфиге вместо файлаPattern
upper / lowerДве границы — коридорPattern
modesignal (траектория) / density (распределение)Pattern
y_rangemin..max — вертикальный масштаб (обязателен)Pattern
fitниз..верх — куда ложится рисунок из srcPattern
interplinear / smooth / step между точкамиPattern
spreadПревратить линию в туннель шириной ±NPattern
ink_thresholdНасколько тёмный пиксель PNG считать краскойPattern

mode — это два разных атрибута с одним именем: на <env> он выбирает семейство движков, на генераторе pattern — вопрос, который вы задаёте рисунку.

Файлы и CSV​

АтрибутЧто задаётСм.
srcПуть к файлу данныхФайлы
columnКолонка CSV (имя или номер)Файлы
headerПропустить первую строку CSVФайлы
delimiterРазделитель CSVФайлы
rowКлюч связанной строкиФайлы
weightКолонка частоты для взвешенных строкСвязные данные
read"quantile" — читать файл как отсортированную выборку и попадать в любую её точкуФайл
sample"exact" — пройти это распределение равномерно, а не бросать жребийФайл

HTTP-сервис​

АтрибутЧто задаётСм.
srcАдрес сервиса (и путь к файлу, выше)HTTP-сервис
inПоследовательность, чьё значение шлётсяHTTP-сервис
on_errorfail (по умолч.) / empty при отказеHTTP-сервис
timeoutСколько секунд ждать ответ (по умолч. 30)HTTP-сервис
secretКлюч, которым подписывается запрос — env:, file: или литералHTTP-сервис

Вывод и форматирование​

АтрибутЧто задаётСм.
ifУсловие отображения (выражение)Вывод и форматирование
pairПарный маркер для литерального </data>Вывод и форматирование
maskМаска оформления (x/w/*)Маски и регистр
caseРегистр букв (upper/lower/…)Маски и регистр
orderПорядок значений (random / sequential) — только text, file и dateГенераторы
cycleПри sequential: зациклить или ошибка — те же три типаГенераторы
repeat / separatorНесколько значений в одной ячейкеНесколько значений
lengthsРядом с repeat="A..B": доля строк, получающих каждую возможную длину, начиная с A — точная квота, а не приближениеНесколько значений
distinctБез повторов внутри ячейки (нужен repeat)Несколько значений
eachПовторить строку или <group> строк для каждого элемента списка или записи пула; на <assert> — условие, которому обязана удовлетворять каждая строкаСвязанные таблицы, Самопроверяющиеся конфиги
flagКолонка-ответ для разметки выбросов в <mix>Mix