OptionalaggregatesOptionalcolumnsThe 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.
OptionalexpressionsThe 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.
OptionalfilterThe 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.
Optionalfilter_Optionalgroup_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.
Optionalgroup_OptionalsortThe 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.
Optionalsplit_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:integerandfloatcolumnsPerspective provides a selection of aggregate functions that can be applied to columns in the
Viewconstructor using a dictionary of column name to aggregate function name.