Skip to main content
Version: Next

Tag filtering

Tags apply to records (rows) and are used to export subsets: test data, rows visible only on a given branch, temporary drafts, and so on. This is a different dimension from field/table group (structural trimming).

How to mark tags​

Data sourceSyntax
ExcelFill the tag in the first column of the data row (the first column of the header area is often empty or a comment)
json"__tag__": "dev"
lua__tag__ = "dev"
xml<__tag__>dev</__tag__>
yaml__tag__: dev

Excel example​

##varidname
##typeintstring
##Item IDName
1Gold
##2Draft row
test3Test only
DEV4Dev build
5Shipping item
RowFirst columnEffect
id=1, 5emptyUsually always exported (in exclude mode)
id=2##Never exported (special tag)
id=3testRemoved when --excludeTag test
id=4DEVTag names match case as written

json example​

{
"__tag__": "dev",
"id": 3,
"name": "Test only"
}

Special tags​

tagMeaning
##Permanent comment; excluded from every export
uncheckedValidators skip this record (use sparingly)

A row may have a business tag; ## is related to “comment rows whose first column starts with ##” in the header rules—see Excel basics.

CLI filtering​

# Exclude: rows tagged test are not exported (untagged rows are usually still exported)
-e test
# or
--excludeTag test

# Include only: only rows whose tag is empty or ship (mutually exclusive with exclude)
-i ship
# or
--includeTag ship
ModeTypical use
--excludeTag testStrip test rows from release builds
--includeTag shipWhitelist: export only rows with the given mark

--includeTag and --excludeTag cannot be used together.

Difference from group​

grouptag
Applies toTables / fields (whether a column goes to a given end)Records (whether a row is exported)
Config locationschema / ##groupFirst column of data rows / __tag__
CLI-t client and similar to select target-e / -i

They can be combined: trim fields by target first, then trim rows by tag.

Practical tips​

  • Use a consistent tag for test-only rows: test / dev, and add -e test in CI release generation.
  • Mark permanently retired rows with first-column ##; do not rely on “deleting numbers and pretending they are gone.”
  • Use unchecked only for transitional dirty data—not as a long-term convention.