SuiteTable

SuiteTable provides utility methods for managing and manipulating tables and columns using Tablesaw Framework.

Steps of Creating a Table:

  1. Create Table: use SuiteTable's create method: SuiteTable.create("tablename")

  2. Define Columns: use SuiteTable's addStringColumn(), addIntColumn(), addDateColumn()... to add columns to Table

table.addStringColumn("columnName")

  1. Define Rows as maps: var row = { "column1": "field1", "column2": "field2" }

  2. Add Rows to Table: use SuiteTable's addRow method: table.addRow(row);

// create a new table
var table = SuiteTable.create("MyTable");

// add columns to table
table.addStringColumn("name");
table.addIntColumn("age");
table.addInstantColumn("joined");
table.addDateTimeColumn("birthday");
table.addBooleanColumn("customer");

// define two rows
var row1 = {
  "Name": "tony",
  "age": 20,
  "joined": Instant.now(),
  "birthday": LocalDateTime.now(),
  "customer": true
};

var row2 = {
  "Name" : "Mark",
  "age": 20,
  "joined": Instant.parse("2023-10-20T12:00:00Z"),
  "birthday": LocalDateTime.of(2023, 10, 24, 15, 30),
  "customer": false
};

// add rows to table
table.addRow(row1);
table.addRow(row2);

return table;

Adding Columns

Adding a column to a table is done with a single methods: add<type>Column.

Note: The columns appear in the table in the order they were added.

ColumnTypes supported: String, Intger, Double, Boolean, Instant, DateTime, Date, Time, and Instant.

addStringColumn(columnName: String): void

Add a StringColumn with the specified name to a Table instance.

Parameters:

  • columnName (Type: String) - The name of the StringColumn.

Example:


addIntColumn(columnName: String): void

Add an IntColumn with the specified name to a Table instance.

Parameters:

  • columnName (Type: String) - The name of the IntColumn.

Example:


addDoubleColumn(columnName: String): void

Add a DoubleColumn with the specified name to a Table instance.

Parameters:

  • columnName (Type: String) - The name of the DoubleColumn.

Example:

Similarly for the rest of the ColumnTypes.


Adding Rows

Note: The rows appear in the table in the order they were added.

To add row, you first need to have already created an instance of Class Table and at least one column. Then you can define a row a time as follows: A hashmap with column title and row value

Then, you can add the row to your table using the addRow method:

addRow(HashMap<String, Object> row): Row

Add a row of data to the table instance and return the row.

Parameters:

  • row (Type: HashMap<String, Object>) - A map representing the data to be added to the row.

Example:


Table Information

Methods for retreiving table information such as table name, column names, list of rows.

name(): String

Get the name of the table.

Returns:

  • A String representing the name of the table.

Example:


getColumnNames(): List<String>

Get the list of column names in the table.

Returns:

  • A List<String> representing the column names.

Example:


columnCount(): Integer

Get the number of columns in the table.

Returns:

  • An Integer representing the total number of columns in the table.

Example:

Note: Replace placeholder content with actual information related to your SuiteTableclass. Feel free to add more details or examples based on your specific use cases.


rowCount(): Integer

Get the number of rows in the table.

Returns:

  • An Integer representing the total number of rows in the table.

Example:

Note: Replace placeholder content with actual information related to your SuiteTable class. Feel free to add more details or examples based on your specific use cases.


columnIndex(columnName: String): Integer - Returns the index of a column by name.


row(rowIndex: Integer): Row - Returns the Row object at the specified index.


where(selection: Selection): Table - Returns a new table containing rows that match the selection criteria.


stringColumn(columnIndex: Integer): StringColumn - Returns a StringColumn for the specified column.


first(nRows: Integer): Table - Returns a new table containing the first nRows of data.


last(nRows: Integer): Table - Returns a new table containing the last nRows of data.


inRange(rowStart: Integer, rowEnd: Integer): Table - Returns a new table containing rows within the specified range.


sortOn(columnIndex: Integer): Table - Sorts the table based on the specified column index.


removeColumns(...columnIndex: Integer[]): Table - Removes specified columns from the table.


emptyCopy(): Table - Returns a table with the same columns but no data.


sampleX(proportion: Double): Table - Returns a table with a sample based on the given proportion.


sampleN(nRows: Integer): Table - Returns a table with a random sample of the specified number of rows.


summary(): Table - Returns a table containing summary statistics for the columns in the relation.


Examples

Was this helpful?