Optional
aggregatesOptional
columnsThe columns
property specifies which columns should be included in the
[crate::View
]'s output. This allows users to show or hide a specific
subset of columns, as well as control the order in which columns
appear to the user. This is represented in Perspective as an array
of string column names.
Optional
expressionsThe expressions
property specifies new columns in Perspective that
are created using existing column values or arbitary scalar values
defined within the expression. In <perspective-viewer>
,
expressions are added using the "New Column" button in the side
panel.
Optional
filterThe filter
property specifies columns on which the query can be
filtered, returning rows that pass the specified filter condition.
This is analogous to the WHERE
clause in SQL. There is no limit on
the number of columns where filter
is applied, but the resulting
dataset is one that passes all the filter conditions, i.e. the
filters are joined with an AND
condition.
Perspective represents filter
as an array of arrays, with the values
of each inner array being a string column name, a string filter
operator, and a filter operand in the type of the column.
Optional
filter_Optional
group_A group by groups the dataset by the unique values of each column used
as a group by - a close analogue in SQL to the GROUP BY
statement.
The underlying dataset is aggregated to show the values belonging to
each group, and a total row is calculated for each group, showing
the currently selected aggregated value (e.g. sum
) of the column.
Group by are useful for hierarchies, categorizing data and
attributing values, i.e. showing the number of units sold based on
State and City. In Perspective, group by are represented as an array
of string column names to pivot, are applied in the order provided;
For example, a group by of ["State", "City", "Postal Code"]
shows
the values for each Postal Code, which are grouped by City,
which are in turn grouped by State.
Optional
group_Optional
sortThe sort
property specifies columns on which the query should be
sorted, analogous to ORDER BY
in SQL. A column can be sorted
regardless of its data type, and sorts can be applied in ascending
or descending order. Perspective represents sort
as an array of
arrays, with the values of each inner array being a string column
name and a string sort direction. When column-pivots
are applied,
the additional sort directions "col asc"
and "col desc"
will
determine the order of pivot columns groups.
Optional
split_A split by splits the dataset by the unique values of each column used
as a split by. The underlying dataset is not aggregated, and a new
column is created for each unique value of the split by. Each newly
created column contains the parts of the dataset that correspond to
the column header, i.e. a View
that has ["State"]
as its split
by will have a new column for each state. In Perspective, Split By
are represented as an array of string column names to pivot.
Aggregates perform a calculation over an entire column, and are displayed when one or more Group By are applied to the
View
. Aggregates can be specified by the user, or Perspective will use the following sensible default aggregates based on column type:integer
andfloat
columnsPerspective provides a selection of aggregate functions that can be applied to columns in the
View
constructor using a dictionary of column name to aggregate function name.