TSTool / Command / CopyTable
Overview
The CopyTable
command copies all or a subset of the columns and rows from one table to create a new table.
For example, this is useful to create one-column lists that can be used to expand template files with the
ExpandTemplateFile
command,
or to create a subset of a table to output to a file or write to a database
(for example filter a large table by geographic area or other criteria).
Command Editor
The command is available in the following TSTool menu:
- Commands(Table) / Create, Copy, Free Table
The following dialog is used to edit the command and illustrates the syntax of the command
(in this case illustrating how values in a column named LocationID
are copied to a new table).
CopyTable
Command Editor (see full-size image)
Command Syntax
The command syntax is as follows:
CopyTable(Parameter="Value",...)
Command Parameters
Parameter | Description | Default |
---|---|---|
TableID |
The identifier for the original table. Can be specified using processor ${Property} . |
None – must be specified. |
NewTableID |
The identifier for the new table. Can be specified using processor ${Property} . |
None – must be specified. |
IncludeColumns |
The names of columns to copy, separated by commas. | Copy all of the columns. |
DistinctColumns |
The names of columns to copy, separated by commas. Only distinct values from the specified column(s) will be copied. For example, if column A contains strings X, Y, Z, Y, C, the resulting distinct value column will have rows with X, Y, Z, C . The following behavior is implemented:
|
|
ColumnMap |
The new names for the output columns, using syntax: `OriginalColumn1:NewColumn1, OriginalColumn2:NewColumn2 |
The column names in the copy will be the same as in the original table. |
ColumnFilters |
Filters that limit the number of rows being copied, using the syntax:FilterColumn1:FilterPattern1, FilterColumn2:FilterPattern2 Patterns can use * to indicate wildcards for matches. Only string values can be checked (other data types are converted to strings for comparison). Comparisons are case-independent. All patterns must be matched in order to copy the row. Can be specified using processor ${Property} . |
No filtering. |
ColumnExcludeFilters |
Filters that exclude rows being copied, by matching column values:ColumnExcludeFilter1:FilterPattern1, ColumnExcludeFilter2:FilterPattern2 Patterns can use * to indicate wildcards for matches. Only string values can be checked (other data types are converted to strings for comparison). |
All patterns must be matched to exclude the row. |
RowCountProperty |
The row count for the copy will be set as a processor property. This is useful for error-checks (e.g., check that number of time series read with ReadTimeSeriesList based on the table list matches the expected count. Can be specified using processor ${Property} . |
Examples
See the automated tests.
Troubleshooting
See the main TSTool Troubleshooting documentation.
See Also
ExpandTemplateFile
commandFreeTable
commandNewTable
commandReadTimeSeriesList
command