Fundamental to the series transform graph is the concept of a data schema that defines this structure. The several columns of Niagara history data displayed by a table view provide a common example of a data schema. In the following table, the columns: timestamp, Trend Flags, Status, and Value together form the history schema.

Each history column has an associated name and data type. The Timestamp column is always an absolute time (BAbsTime) value. The data type of the Value column is based on the type of data the history represents. If the history serves a Boolean point, the Value column contains Boolean data. If the point is a numeric point, the value contains numeric data.
You configure each graph node on the Wire Sheet to create an output schema for other graph nodes to use when setting up a data transformation. This is what makes the process of manipulating history data and other forms of data possible. To manipulate data, such as the data in a history, you must know the point’s data type (format). This allows you to assign different value transformations and calculations to specific data.
As an example, imagine that you want to scale the value of a history record by a factor of 3.9. How would you know that the Value column can be scaled? If the Value column contains Boolean data, you cannot scale the data by number (what is 3.9 times False?). By knowing both the name and the data type of the column to manipulate, you can create intelligent data transformations that give information about that data.
When designing the graph node, you only need the output schema of the source graph node to configure the consuming graph node. By configuring your graph node against the input graph node schema, you are configuring how the graph node processes data returned by the source graph node at the time the station executes the graph.