Skip to content
Get on GitHub Autodesk App Store - coming soon

Table

28 nodes. Types ending in [] are lists. An input with a default is optional.

Nodes

Table.AddColumn

Adds a column at the end: a list with one value per row, or a single value repeated on every row.

Inputs

Input Type Default What it does
table required CamelGraphTable — The table.
name required string — The new column's name.
values required any — A list with one value per row, or a single value repeated on every row.

Outputs

Output Type What it gives
table CamelGraphTable The table with the column added at the end.

Tags: add column append new field constant

Table.AddFormulaColumn

Adds a column calculated per row from the others, e.g. "Width * Height * Length / 1000000000" (same formula language as Math.Formula; [Names with spaces] in brackets). A blank or text cell is never counted as 0: a row where a column the formula uses is blank or not a number gets an empty cell, and so does a result that is not a finite number (a division by zero). The node turns amber and says how many rows were left empty.

Inputs

Input Type Default What it does
table required CamelGraphTable — The table.
name required string — The new column's name.
formula required string — A formula over the column names, e.g. Width * Height or [Fire Rating] / 60 (names with spaces in square brackets).

Outputs

Output Type What it gives
table CamelGraphTable The table with the calculated column added at the end; a row where a column the formula uses is blank or not a number, and a result that is not a finite number, get an empty cell.

Tags: formula calculated computed column expression volume area

Table.Column

The cells of one column, top to bottom — wire it into List.Sum, List.CountValues, Search or a property writer.

Inputs

Input Type Default What it does
table required CamelGraphTable — The table.
column required string — The column name.

Outputs

Output Type What it gives
values any[] The cells of that column, top to bottom.

Tags: column field values extract pick

Table.Concat

Stacks tables one below the other, matching columns by name; a column one table lacks is left empty — weekly snapshots, one table per model.

Inputs

Input Type Default What it does
tables any number of wires required any[] — The tables, top first (wire several into the one socket).

Outputs

Output Type What it gives
table CamelGraphTable One table with every column of every table (matched by name; missing cells are empty).

Tags: append union stack merge combine rbind

Table.Distinct

Keeps only the first row for each distinct value of the given columns (a list of names or one text with commas), or of the whole row when none are given.

Inputs

Input Type Default What it does
table required CamelGraphTable — The table.
columns any[] null Columns that must differ: a list of names, or one text with names separated by commas; leave empty to compare whole rows.

Outputs

Output Type What it gives
table CamelGraphTable The table with only the first row of each kind.

Tags: unique duplicates dedupe remove duplicates distinct

Table.Filter

Splits a table by a test on one column — Level == "L02", Length > 3000, Name matches "W-*", Level in "L01, L02" — into the rows that pass and the rows that do not. A blank cell never passes > >= < <=, and neither does text that is not a number when you compare with a number (the node turns amber and counts them); they land in the rejected table. in and notIn take a list of values, or one text with the values separated by commas; an empty cell is in no list. Regex tests are case sensitive unless ignoreCase is ticked.

Inputs

Input Type Default What it does
table required CamelGraphTable — The table.
column required string — The column to test.
test string "==" The test: ==, !=, >, >=, <, <=, contains, !contains, startsWith, endsWith, matches (wildcards * and ?), regex, in, notIn, isNull, notNull, isEmpty, notEmpty.
value any null What to test against (unused by the null / empty tests). For in and notIn: the values to look for, as a list or as one text with the values separated by commas.
ignoreCase boolean true True (default) ignores upper/lower case in text tests.

Outputs

Output Type
matched dict
rejected dict

Returns: The rows that passed and the rows that did not, both as tables.

Tags: filter where query select rows search keep in list is one of member of not in

Table.FromColumns

Makes a table from columns: a list of lists, one per column, with optional names — for results that come as parallel lists.

Inputs

Input Type Default What it does
columns required any[] — One list per column (they may differ in length; short ones are padded with nulls).
headers any[] null The column names (leave unwired for Column 1, Column 2 …).

Outputs

Output Type What it gives
table CamelGraphTable The table.

Tags: columns parallel lists zip table transpose

Table.FromCsvFile

Reads a CSV file straight into a table (numbers become numbers, everything else stays text). The delimiter is a comma, a semicolon (European Excel), a bar or a tab.

Inputs

Input Type Default What it does
path required string — The CSV file.
delimiter string "," The cell separator: a comma (default), a semicolon, a bar or tab.
firstRowIsHeader boolean true True (default) takes the first row as the column names.

Outputs

Output Type What it gives
table CamelGraphTable The table.

Tags: csv read import load file tsv tab semicolon

Table.FromDictionaries

Makes a table from a list of dictionaries (one row each); the columns are all their keys — property bags become rows.

Inputs

Input Type Default What it does
dictionaries required any[] — Dictionaries such as the ones Properties.AsDictionary returns; the columns are all their keys, in order of first appearance.

Outputs

Output Type What it gives
table CamelGraphTable The table.

Tags: properties records json dictionary table dataframe

Table.FromExcelFile

Reads an Excel worksheet straight into a table. Dates arrive as Excel serial numbers; DateTime.FromExcelSerial turns one into a date.

Inputs

Input Type Default What it does
path required string — The .xlsx file.
sheet string "" The worksheet name (empty takes the first sheet).
firstRowIsHeader boolean true True (default) takes the first row as the column names.

Outputs

Output Type What it gives
table CamelGraphTable The table.

Tags: excel xlsx read import load spreadsheet

Table.FromRows

Makes a table from rows of cells and column names (or from the first row) — the doorway from Excel, CSV and list data.

Inputs

Input Type Default What it does
rows required any[] — The rows; each row a list of cells (as read by Excel.ReadFromFile or CSV.ReadFromFile).
headers any[] null The column names. Leave unwired to name the columns Column 1, Column 2 …, or tick firstRowIsHeader.
firstRowIsHeader boolean false True takes the first row as the column names (when no headers are wired).

Outputs

Output Type What it gives
table CamelGraphTable The table.

Tags: create table dataframe rows headers sheet grid

Table.GroupBy

Groups rows by one or more columns (a list of names or one text with commas) and works out count, sum, average, min, max, median, first, last, list or distinct per group — "sum:Volume", "count" — the pivot-table core for quantities. Blank cells are skipped by sum, average and median; text in a number column is an error that names it.

Inputs

Input Type Default What it does
table required CamelGraphTable — The table.
by required any[] — The column(s) to group by: a list of names, or one text with names separated by commas; leave empty for one total row.
aggregations required any[] — What to work out per group, one text each: count, sum:Volume, average:Length as AvgLength. Functions: count, sum, average, min, max, median, first, last, list, distinct.

Outputs

Output Type What it gives
table CamelGraphTable One row per group: the grouping columns followed by one column per aggregation.

Tags: group aggregate summary rollup total sum count pivot takeoff qto

Table.Info

How many rows and columns a table has, and its column names (the headers output is the list of names, in column order).

Inputs

Input Type Default What it does
table required CamelGraphTable — The table.

Outputs

Output Type
rowCount integer
columnCount integer
headers string[]

Returns: rowCount, columnCount and headers.

Tags: size count shape dimensions length columns names header headers fields column names

Table.Join

Joins two tables on one or more key columns (inner, left or outer) — add the Excel columns to the model data by GUID or mark. Keys match as text, so 42 and "42" are the same, and a key that looks like a GUID matches whatever its capitals and small letters (other text keys must match exactly). An empty key never matches anything, not even another empty key. leftKey and rightKey take one column name, several separated by commas (or a list) to join on Level and Mark together; leave rightKey empty when both tables use the same names. Table.Unmatched lists the left rows that found no partner (it replaces Table.JoinByKey's unmatchedKeys).

Inputs

Input Type Default What it does
left required CamelGraphTable — The main table.
right required CamelGraphTable — The table to add columns from.
leftKey required any[] — The key column(s) of the left table: one name, several names separated by commas, or a list of names.
rightKey any[] null The key column(s) of the right table, as many as in leftKey and in the same order (leave empty to use the same names as leftKey).
kind string "inner" inner keeps rows with a match on both sides; left keeps every left row; outer keeps every row of both.

Outputs

Output Type What it gives
table CamelGraphTable The joined table: the left columns, then the right columns (a repeated name gets " (right)").

Tags: join merge lookup vlookup combine match relate joinbykey by key guid mark

Table.Pivot

Cross-tabulates: rows from one column, columns from another, each cell the sum (or count, average …) of a third — clashes by level and status.

Inputs

Input Type Default What it does
table required CamelGraphTable — The table.
rowColumn required string — The column whose values become the rows.
columnColumn required string — The column whose values become the new columns.
valueColumn string "" The column to total in each cell (not needed for count).
aggregation string "sum" How to combine: sum (default), count, average, min, max, median, first, last, list or distinct.

Outputs

Output Type What it gives
table CamelGraphTable One row per row value, one column per column value.

Tags: pivot cross-tab matrix crosstab summary levels by status

Table.RemoveColumns

Drops the listed columns and keeps the rest. Names come as a list or as one text separated by commas; a column whose name has a comma in it ("Area, gross") is found by its whole name. An empty list removes nothing and says so.

Inputs

Input Type Default What it does
table required CamelGraphTable — The table.
columns required any[] — The names to remove: a list, or one text with names separated by commas. A column whose own name contains a comma works when you type or wire that name whole.

Outputs

Output Type What it gives
table CamelGraphTable The table without them.

Tags: drop delete columns remove hide

Table.RenameColumn

Renames one column.

Inputs

Input Type Default What it does
table required CamelGraphTable — The table.
column required string — The current name.
newName required string — The new name.

Outputs

Output Type What it gives
table CamelGraphTable The table with the column renamed.

Tags: rename header column name

Table.Row

One row of a table as a dictionary from column name to cell (0 is the first row; -1 the last).

Inputs

Input Type Default What it does
table required CamelGraphTable — The table.
index required integer — The row number, counting from 0 (negative counts from the end).

Outputs

Output Type What it gives
row dict The row as a dictionary from column name to cell.

Tags: row record line get

Table.Rows

The rows of a table as a list of lists of cells (for Excel.WriteToFile, CSV.WriteToFile and the List nodes).

Inputs

Input Type Default What it does
table required CamelGraphTable — The table.

Outputs

Output Type What it gives
rows any[] A list of rows, each a list of cells in column order (feeds Excel.WriteToFile and CSV.WriteToFile).

Tags: rows cells list export values

Table.SelectColumns

Keeps only the listed columns, in that order. Names come as a list or as one text separated by commas; a column whose name has a comma in it ("Area, gross") is found by its whole name. At least one name is needed.

Inputs

Input Type Default What it does
table required CamelGraphTable — The table.
columns required any[] — The names to keep: a list, or one text with names separated by commas. A column whose own name contains a comma ("Area, gross") works when you type or wire that name whole.

Outputs

Output Type What it gives
table CamelGraphTable The narrower table.

Tags: keep columns pick reorder project narrow

Table.SetColumn

Replaces the cells of a column in place, keeping its position and name, or adds the column at the end when there is none of that name. Give a list with one value per row, or a single value repeated on every row — take a column out with Table.Column, clean it with String or List nodes, and put it back here.

Inputs

Input Type Default What it does
table required CamelGraphTable — The table.
name required string — The column to replace (found like every other column name: exactly, then ignoring case and spaces). A name the table does not have adds a new column at the end.
values required any — A list with one value per row, or a single value repeated on every row.

Outputs

Output Type What it gives
table CamelGraphTable The table with that column's cells replaced, in the same position (the column keeps its name).

Tags: replace column overwrite update column set clean modify column column fill

Table.Slice

Takes count rows from a starting row (count -1 takes all the rest) — the first 10 rows: start 0, count 10.

Inputs

Input Type Default What it does
table required CamelGraphTable — The table.
start integer 0 The first row to take, counting from 0 (not below 0).
count integer -1 How many rows (-1 takes all the rest; not below -1).

Outputs

Output Type What it gives
table CamelGraphTable The rows from start on, at most count of them.

Tags: take skip head top limit page subset

Table.Sort

Sorts the rows by one or more columns, as a list of names or one text ("Level, -Length" sorts by level, then longest first); numbers numerically, text alphabetically, empty cells last. A list of names sorts once by all of them, in that order.

Inputs

Input Type Default What it does
table required CamelGraphTable — The table.
columns required any[] — Columns to sort by: a list of names, or one text with names separated by commas; add " desc" or a leading "-" for largest first: Level, -Length. A list sorts by its first name, then the next.
descending boolean false True sorts every column largest first (a column can still opt out with " asc").

Outputs

Output Type What it gives
table CamelGraphTable The sorted table; empty cells go last and equal rows keep their order.

Tags: sort order rank arrange ascending descending

Table.ToCsvFile

Writes one table, with its column names, to a CSV file; a file that is already there is replaced. The delimiter is a comma, a semicolon, a bar or a tab. A list of tables is an error (they would overwrite each other): stack them with Table.Concat first.

Inputs

Input Type Default What it does
table required any — The table to write: one table, not a list of them.
path required string — The file to write (replaced when it exists; folders are created).
delimiter string "," The cell separator: a comma (default), a semicolon, a bar or tab.

Outputs

Output Type What it gives
path string The path that was written.

Tags: csv write export save file tsv tab semicolon

Table.ToDictionaries

The rows of a table as dictionaries (column name to cell) — for JSON.WriteToFile or per-row lookups.

Inputs

Input Type Default What it does
table required CamelGraphTable — The table.

Outputs

Output Type What it gives
dictionaries any[] One dictionary per row, from column name to cell.

Tags: records json dictionary objects

Table.ToExcelFile

Writes one table, with its column names, to an Excel worksheet. With append ticked the sheet is added to the workbook that is already there; without it the whole file is replaced, other sheets included. For several sheets in one workbook use one node per table, each with its own sheet name and append ticked, and wire the path of one into the next so they run in order. A list of tables is an error (they would overwrite each other).

Inputs

Input Type Default What it does
table required any — The table to write: one table, not a list of them.
path required string — The .xlsx file to write.
sheet string "Sheet1" The worksheet name.
append boolean false True adds the sheet to an existing workbook instead of replacing the file.

Outputs

Output Type What it gives
path string The path that was written.

Tags: excel xlsx write export save spreadsheet sheet

Table.ToText

Renders a table as Markdown, CSV, tab-separated or an HTML table — for a report, an e-mail or a log.

Inputs

Input Type Default What it does
table required CamelGraphTable — The table.
format string "markdown" markdown (default), csv, tsv, or html.

Outputs

Output Type What it gives
text string The table rendered in that format, ready for Text.WriteToFile, an e-mail or Log.Write.

Tags: markdown csv html render print string report

Table.Unmatched

The rows of the left table that find no partner in the right table, using the same keys and the same matching as Table.Join (GUIDs match whatever their case, a blank key never matches) — which model elements have no row in the Excel list, which GUIDs were not found.

Inputs

Input Type Default What it does
left required CamelGraphTable — The main table.
right required CamelGraphTable — The table to look the keys up in.
leftKey required any[] — The key column(s) of the left table: one name, several names separated by commas, or a list of names.
rightKey any[] null The key column(s) of the right table, as many as in leftKey and in the same order (leave empty to use the same names as leftKey).

Outputs

Output Type What it gives
table CamelGraphTable The left rows with no partner, with the left columns only (rows with a blank key are always among them).

Tags: unmatched anti join missing not found no match difference left only joinbykey unmatchedkeys guid mark