Skip to main content

Attributes reference

Every attribute in the tag DSL, with a one-line description and where it's covered.

The <compute> tags have attributes of their own (v, sep, as, width, fill, from, to, size, pattern, default). Each one belongs to a single tag and is covered where that tag is explained — see the compute reference.

Environment & config

AttributeWhat it setsSee
version / vThe DSL version the file requiresConfiguration
countNumber of recordsDeterminism
seedRNG seed, for reproducibilityDeterminism
localLocale for template data — on <env> for the whole run, and on one <gen type="template"> to override it for that sequence aloneTemplate
injectCustom interpolation markerOutput & formatting
modememory / disk — which engine family; stream is a legacy alias that forces engine 2; sequential is a fourth value that prev() requiresLarge outputs, Expressions
engine1 / 2 / 3 — force one engine (advanced)Large outputs
commentFree-form commentConfiguration

Sequences & dependencies

AttributeWhat it setsSee
nameOn <sequence>: its name. On <gen>: makes it a field, Sequence.Field. On <data> inside a sequence: a constant field, the only one that costs no drawSequences
parentParent filter, Parent.ValueHierarchical dependencies
uniqCombination that must be unique across all rowsUnique values
on / isSubject / branch key for <switch>Switch
filterOn <gen type="pool">: which members this row may draw fromCoherent records
ofOn <gen type="running">: the column to accumulate. On <gen type="stat">: the column to summarise. On <gen type="date">: the column to measure fromRunning total, Statistic
plusOn <gen type="date" of="…">: how far from that column — 7d, 3..10d, 1..3mo, -10..-3d; a bare number means daysAn interval
opOn <gen type="stat">: which statistic — sum, mean, median, min, max, count or stddevStatistic
exprOn <gen type="formula">: the arithmetic this column is, written the way an if= condition is writtenFormula
thatOn <assert>: the condition the finished run must satisfy, in the if= languageSelf-checking configs
saysOn <assert>: the sentence a reader is given when it does not holdSelf-checking configs
resetOn <gen type="running">: a column whose change restarts the totalRunning total

Generator values

AttributeWhat it setsSee
typeWhich generator to useGenerators
valueThe generator's main value (type-specific)Generators
percentExact distribution of the valuesText
accumulateReplace a repeat list with its running total, or say how a running column accumulatesSeveral values in a cell
alphabetNamed Unicode alphabetSymbol
lengthOutput length or widthNumber
first_zeroAllow a leading zeroNumber
weekdaysWhich weekdays a walked date axis keeps: mon..fri, sun,wedDate
stepCounter stride, or how far a walked date axis advances: 15m, 1h30m, 3moCounters, Date
regex_max_lengthLength cap for a regexRegex
include / excludeKeep or drop values from the poolNumber
decimalsDigits after the decimal pointNumber
oldest / youngestBirthday age windowDate
formatDate output formatDate
from / toRange endpoints, given separatelyDate
precisionStep size for a date-time rangeDate
rangeDate range for date.rangeTemplate

Statistical shape

AttributeWhat it setsSee
distributionNamed distribution (normal, zipf, …)Distributions
min / maxClip the drawn values to a rangeDistributions
missingShare of rows left emptyMissing data
missing_asHow an empty cell is writtenMissing data
missing_whenWhich rows may go missing (MAR / MNAR)Missing data
anomalyShare of rows turned into outliersAnomalies
anomaly_factorHow far an outlier is pushedAnomalies
anomaly_flagAnswer column that marks the outliersAnomalies

Each distribution takes its own parameters, and they are only read when distribution= names that one. Every distribution also accepts decimals, min and max. Each is explained, with a histogram, on the distributions guide.

distribution=ParametersWhat they mean
normalmean sdThe centre and the spread
lognormalmeanlog sdlogThe centre and spread of the logarithm — the value itself is skewed right
exponentialrateEvents per unit of time; the mean is 1/rate
paretoalpha xminTail thickness, and the smallest possible value
weibullshape scaleshape below 1 = early failures, above 1 = wear-out; scale sets the typical lifetime
poissonlambdaAverage count per interval (capped at 700)
zipfn sHow many ranks, and how steeply they fall off
gammashape scaleTotal wait for shape events that each take scale on average
betaalpha betaPull toward 1 and toward 0 — the result is between 0 and 1

Timeseries

AttributeWhat it setsSee
baseStarting level of the seriesTimeseries
trendDrift per stepTimeseries
periodLength of one seasonal cycleTimeseries
amplitudeHeight of the seasonal swingTimeseries
peak_atWhich row the seasonal wave peaks onTimeseries
noiseRandom jitter added on topTimeseries
noise_correlationHow much of one row's jitter carries into the nextTimeseries

Pattern (a drawing as the source)

AttributeWhat it setsSee
pointsInline x,y pairs instead of a filePattern
upper / lowerTwo boundary curves — a corridorPattern
modesignal (a trajectory) / density (a distribution)Pattern
y_rangemin..max — the vertical scale (required)Pattern
fitlow..high — where a drawing from src landsPattern
interplinear / smooth / step between pointsPattern
spreadWiden the line into a band of ±NPattern
ink_thresholdHow dark a PNG pixel has to be to count as inkPattern

mode is really three different readings that share a name. On <env> it does two jobs: memory / disk pick the engine family, while sequential is a promise about row ORDER — row N is computed after row N−1, which is what prev() needs and what pins the run to engine 1. On a pattern generator it picks what you're asking the drawing for.

The CLI's --mode covers only the engine-family half: --mode memory and --mode disk are the whole set, so sequential is reachable from the config and nowhere else.

Files & CSV

AttributeWhat it setsSee
srcPath to a data fileFile
columnCSV column (name or number)File
headerSkip the first CSV rowFile
delimiterCSV separatorFile
rowLinked-row keyFile
weightFrequency column for weighted rowsCoherent data
read"quantile" — read the file as a sorted sample and land anywhere on itFile
sample"exact" — sweep that distribution evenly instead of drawing from itFile

HTTP service

AttributeWhat it setsSee
srcService URL (the same attribute as the file path above)HTTP service
inSequence whose value is sent with each rowHTTP service
on_errorfail (default) or empty when a request failsHTTP service
timeoutSeconds to wait for a response (default 30)HTTP service
secretKey each request is signed with — env:, file: or a literalHTTP service

Output & formatting

AttributeWhat it setsSee
ifDisplay condition (an expression)Output & formatting
pairPaired marker for a literal </data>Output & formatting
maskDisplay mask (x/w/*)Masks & case
caseLetter case (upper/lower/…)Masks & case
orderValue order (random / sequential) — text, file and date onlyGenerators
cycleWith sequential: cycle or raise an error — the same three typesGenerators
repeat / separatorSeveral values in one cellMultiple values
lengthsBeside repeat="A..B": the share of rows that get each possible length, A first — an exact quota, not an approximationMultiple values
distinctNo repeats inside one cell (needs repeat)Multiple values
eachRepeat a line for each list element; on <assert>, a condition every row must satisfyRelational tables, Self-checking configs
flagAnswer column that marks <mix> outliersMix