Time Series Table+
Time Series Table+ lists the values of one or more PI Points or AF attributes in rows, with one row for each point in time. Sort, filter, group and total the rows, color cells by limits, and export what you see.
Overview

Watch the demo
See Time Series Table+ in a practical PI Vision workflow.
When to use it
Use Time Series Table+ when you need to:
- Read the exact values of several data sources side by side, for example every 15 minutes.
- Show one summary value for each hour or day, such as the maximum or the average.
- Color cells by limits or by digital states.
- Group rows by day, show totals, and filter out the rows that do not matter.
- Export the table to CSV, JSON, XLSX or PDF.
Choose Combo Chart+ when the shape of a trend matters more than the exact values. Choose Asset Comparison Table+ to compare attributes across several assets.
Before you begin
- Use PI Points or AF attributes with numeric, digital (state) or text values. Summaries and totals need numeric data sources.
- Plan the row count. A 15-minute interval over a day is 96 rows; the table loads up to 1000 rows by default.
- Historical data comes through PI Web API. Ask your administrator to configure it for Vision Library+, see the installation guide.
Add and set up the symbol
- Select Time Series Table+ in the PI Vision symbol gallery.
- Drag the PI Points or AF attributes you want to compare onto the display. The table shows one column for each data source and the newest recorded values first.
- Right-click the table and select Configure Table....
- Under Data Retrieval, set Mode to Interpolated (1).
- Set Interval to 15 and Minute (2).
- Close the pane. The table shows one row for every 15 minutes of the display time range.


The table follows the display time range, so change the range with the PI Vision time controls. To give the table its own range, use Start- and Endtimes in the same group.
Common tasks
Show one summary value for each hour
Use this when you read a period as one number, such as the highest tank level of each hour.
- Right-click the table and select Configure Table....
- Under Columns, select each digital or text data source in the list and select Delete. Summaries are calculated for numeric data sources only.
- Under Data Retrieval, set Mode to Summary (1).
- Set Interval to 1 and Hour (2).
- Select the calculation in Type (3), for example Maximum.
- Leave Basis on Time Weighted to weight each value by how long it lasted, or select Event Weighted to count each recorded event once.

Each row is now one hour, and each cell is the maximum of that hour for its data source. For a shift or a day, enter a different interval, such as 8 Hour or 1 Day.

Group rows by day and show a daily average
Use this when the table covers several days and you want one average for each day.
- Right-click the table and select Configure Table....
- Under General, open Totals. Set Enabled to ON (1).
- Set Type to Single (2), Function to Average (3) and Position to Bottom.
- Under General, open Time. In the Group list, select Day (1).
- Select Show calculations when closed (2) and Count (3). The first of these appears only while Totals is on with Type Single.


The rows fold into one header for each day, with the number of values in its title, and an Average row under each day. Select a day header to open or close the day. You can select more than one Group entry, for example Month and Day, to build a tree.

Color a column by limits
Use this when readers must see at a glance whether a value is low, normal or high.
- Right-click the table and select Add Multi-State.... When a data source already has one, the command reads Configure Multi-State....
- Select the data source in the list (1).
- Select Enable Multi-State (2).
- Under Property, select a style (3), for example Soft Fill.
- In the Status list, select a color swatch (2) and pick a color for each limit. Type a value in the box and select Add (1) to add a limit. Select the cross (3) to remove one.


Each cell takes the color of the limit its value falls under. Values up to 25 are red, up to 45 orange, up to 65 green, up to 85 orange and up to 105 red. If the data source has limits in AF, the list starts with them. For a digital data source, the list holds one color for each state.

Filter the rows you see
Use this when you look for the rows that match a condition, for example automatic mode with a high level.
- Right-click the table and select Configure Table....
- Under General, open Header and set Column Filters to ON. A filter box appears under each column header.
- In the filter box of a digital column, select the states to keep (1).
- In the Min or Max box of a numeric column, type a limit (2).

Only the rows that match every filter remain. Column filters work on data that is already loaded. To reduce what the table requests, add a condition to a data source instead:
- Under Columns, select the data source.
- Set Filter to ON (1).
- Select + Add Condition (3), choose the operator, and enter the value (2).

The condition is applied in the data source's own unit. In Interpolated mode, the rows stay and the cells of that column that do not meet the condition are empty. A new condition without a value empties the column until you enter one.
Put the times across the top
Use this when you compare a few time points for many data sources, as in a shift report.
- Right-click the table and select Configure Table....
- Under General, open Table. Set Orientation to Horizontal (1).
- Set Layout to Fit Data (2) so the first column shows the full data source names.
- Under General, open Time. In Datetime Format, select a short format such as the time of day.

Each data source is now a row, and each time is a column. Max. Columns limits how many times load.

Export the table to a file
Use this when you share the values or keep a record of a shift.
- Right-click the table and select Export Data....
- Select the File Format (1): CSV, JSON, XLSX or PDF.
- For PDF, set Style, Title, Orientation, Font Size and Padding. Colors (2) keeps the table colors.
- Select Download (3).

Your browser saves a file named DataExport_, the date and the time. CSV, JSON and XLSX hold the table values, and the CSV header names carry the units. Every format includes the totals the table shows, with total rows after the data rows. In JSON, each row uses the keys DisplayTime and datasource_0, datasource_1 and so on, in column order. Nothing is written to PI.
Use the symbol

| What it shows | |
|---|---|
| (1) | The time column, pinned at the left. The arrow shows the sort direction. |
| (2) | The header menu of a data source. Available when Quick Trend is on. |
| (3) | The column filters. Numeric columns have Min and Max, digital columns a list of states. |
| (4) | The total rows, calculated from the rows that are loaded. |
| (5) | A cell colored by its limit or state. |
- Sort: Select a column header to sort by that column, and select it again to reverse the order. Sorting needs Sorting under Header.
- Filter: Type in a filter box. A text column shows the rows that contain your text, and
*and?match any characters. - Group: Select a group header to open or close it.
- Quick Trend: Open the header menu of a data source and select Quick Trend to trend it for the table's time range, or Add to active Quick Trend to add it to a trend that is open.
- Hover: Hover a column header to see the path of its data source.
- Pages and scrolling: With Paging on, use the page buttons under the table. With Auto Scroll on, the table moves by itself and pauses while you hover it.
- Bad data: A cell with a bad value or no value is empty or shows the error text. A Bad data color in the multi-state list colors it.
- Changes you make: Sorting, filtering and resizing a column count as display changes and are saved with the display if you save it. Export and Quick Trend change nothing.
Configure the symbol
Right-click the table and select Configure Table.... The pane has the sections General, Columns, Data Retrieval, Time Bar, Style, Export Data and Numbers. Configure Multi-State... and Export Data... open their own panes.
General: Table
| Setting | What it does |
|---|---|
| Orientation | Vertical puts times in rows. Horizontal puts times in columns, see Put the times across the top. |
| Max. Rows / Max. Columns | Limits the number of rows (vertical, default 1000) or columns (horizontal, default 100). The sort order decides which ones are kept. |
| Sort by, Descending | Sort by Time or by a data source; numeric data sources of any type are listed. Time is newest first by default. In horizontal orientation sorted by Time, the Descending switch under Time sets the column order instead. |
| Layout | Fit Data sizes each column to its content. Fit Table Width fills the width. Manual keeps the widths you drag. |
| Wrap Text, Right to Left | Wrap long cell text instead of cutting it. Show all text right to left. |
| Paging | Shows pages instead of a scroll bar. Not available with Wrap Text. |
General: Header
| Setting | What it does |
|---|---|
| Show | Shows or hides the column headers. The other settings in this group and Group need it. |
| Units, Wrap Text, Vertical | Add the unit to the header, wrap the header text, or turn it vertical. |
| Column Filters | Adds a filter box to each header, see Filter the rows you see. |
| Sorting | Lets readers sort by selecting a header. |
| Alignment | Aligns the header text left, center or right. |
General: Group
Column groups put a shared header above several data source headers.
| Setting | What it does |
|---|---|
| Enabled | Turns column groups on. Needs Show under Header. |
| By | Custom uses the Group text of each data source under Columns. Asset, Category and Description use that property of the data source. |
| Auto Expand | Starts the groups open. |
General: Totals
| Setting | What it does |
|---|---|
| Enabled | Adds calculation rows. They use the values that are loaded, in the displayed unit. |
| Type | Single adds one row. Multiple adds several rows at the top. Vertical orientation only; horizontal always uses the multiple settings. |
| Function, Position, Label | Available when Type is Single. Choose Sum, Average, Min, Max, Count or Count Specific, place the row at the top or bottom, and show its name in the value cells. |
| Decimals | Available when Type is Single, for Sum, Average, Min and Max, and when Type is Multiple or the orientation is horizontal, while Minimum, Maximum, Average or Sum is on. Same as column uses the format of each column. A number sets the decimal places of these totals under every Format. Counts stay whole numbers. |
| Alignment | Available when Type is Single. Aligns the values in the row, also in group rows. Until you choose one, the row is left-aligned at the top and right-aligned at the bottom. |
| Custom Label | Available when Type is Single. Replaces the function name in the time column, and in the value cells when Label is on. Empty uses the function name. Count Specific cells keep their own condition text. |
| Attributes, Time, Grand Total | Available when Type is Multiple. Total each data source, each time, or both. Grand Total needs both. |
| Minimum, Maximum, Average, Sum, Count, Count Specific | Available when Type is Multiple. Choose the rows to show. |
Count Specific counts the cells that match a condition. Set the operator and value for each data source under Columns, in the Count row. It appears while Function is Count Specific, and in Multiple or horizontal mode while Count Specific is on. The per-time and grand totals use the same conditions, also for digital and Boolean data sources.
General: Time
| Setting | What it does |
|---|---|
| Datetime Format | The format of the time column. Formats follow the browser language. For daily values choose a date format. |
| Pin Time Column | Keeps the time column in view when the table scrolls sideways. Vertical orientation. |
| Group (horizontal) | Descending reverses the time order. Group groups the time columns by Year, Month, Week, Day, Hour or Minute. |
| Group list (vertical) | Select Year, Month, Week, Day, Hour or Minute to group rows by time. Select more than one for a tree, see Group rows by day and show a daily average. |
| Auto Expand, Show calculations when closed, Count | Start the groups open, keep the total rows under closed groups, and show the number of rows in each group title. Show calculations when closed appears only in vertical orientation with Type Single under Totals. |
| Group by column value | Vertical orientation. Select + to add a column, choose it in Column, and use the arrows to set the order. The first entry is the outermost group. Column groups sit outside the time groups. Rows without a value form the (empty) group. |
| Style | Mode applies the colors to All timestamps or to Weekend only. Background, Text, Border and Bold style the time column. |
General: Interactivity and Auto Scroll
| Setting | What it does |
|---|---|
| Quick Trend | Adds the Quick Trend commands to the header menu of each data source. |
| Auto Scroll | Scrolls the table by itself. Page Duration [s] applies with Paging on, Scroll Speed [px/s] otherwise. Loop starts again at the end. Pause on Hover stops while the pointer is over the table. |
Columns
Select a data source in the list. The buttons move it up, down, to the top or to the bottom, delete it, or show its PI Point attributes.
| Setting | What it does |
|---|---|
| Label | The column title: a name part (data source, asset, attribute, description or path) or Custom text. |
| Group | The shared header text. Available when column groups are on and By is Custom. |
| Show Units | Shows the unit in the cells. |
| Display unit | Shows a numeric data source in another unit of the same kind, see Display unit. |
| Alignment, Header Alignment | Align the cells and the header text. |
| Filter | Loads only values that meet the conditions, see Filter the rows you see. A digital column offers its states. Not available in Summary mode. |
| Count | The operator and value for Count Specific. Available when a Count Specific total is shown. |
| Style | Background, Text, Border and Bold for the cells of this data source. Leave a color transparent to inherit it. A multi-state color wins over the style for the property it colors. |
Split String. Available for a text data source in Recorded mode. It splits each value at a Delimiter into columns. Additional delimiters also split at other characters, and a longer delimiter wins over a shorter one. Select the scan button next to the column list (Detect columns) to add one column for each position in the loaded values. For each column set Name, Index (zero-based position), and Data Type (String or Number). A Number column adds Decimal Separator and Display Digits, and it can have its own multi-state. A text column's multi-state limits are text patterns matched in order, and the first match wins.
Display unit
Default shows the unit stored in AF, for example Default (kg/s). A unit from the list converts the values and is saved with the display. The list offers units of the same kind only.
- A PI Point cannot be converted, because it has no unit of measure in AF. An AF attribute that reads a PI Point can.
- Values you type are read in the displayed unit: Count Specific, multi-state limits and column filters. Enter them again after you change the unit. A Filter condition is read in the data source's own unit, and the pane names it under the condition.
- Totals use the displayed values. Limitation: The Time totals and the Grand Total add the displayed values of all data sources, so data sources in different units give a mixed total. Give them the same Display unit.
- A value that is much smaller in the new unit can need more decimals. Choose a format under Numbers.
Data Retrieval
| Setting | What it does |
|---|---|
| Mode | Recorded loads every stored value. Summary loads one calculated value for each interval. Interpolated loads a value at each interval. Joined uses one data source as the time reference and interpolates the others to its timestamps. |
| Interval, Sync Time | The step in seconds, minutes, hours, days, weeks, months or years. Sync Time aligns the timestamps to a time of day. Available in Summary and Interpolated mode. |
| Type, Basis | Available in Summary mode. Type is Total, Average, Minimum, Maximum, Range, Standard Deviation, Population StdDev, Count or Percent Good. Basis is Time Weighted or Event Weighted. |
| Start- and Endtimes | Display time range follows the display. Custom time range takes a start and an end, such as *-8h and *. Duration and offset sets a length and an offset from the display end time. |
Time Bar
Enabled adds the shared Time Bar, which gives the table its own range. Its duration options can also set the interval.
Style
| Setting | What it does |
|---|---|
| Theme | The colors of the table. Custom Theme opens controls for colors, fonts, borders and row and header heights. To reuse a custom style, select Copy on one table, select another Vision Library+ table, and select Paste. |
| Container Style | The frame around the table. See Themes and container styles. |
| Apply to all symbols, Comfortable | Apply to all symbols gives every other Vision Library+ symbol on the display the same style. Comfortable switches between compact and comfortable row density; with Custom Theme, the row and header heights apply instead. |
Export Data
| Setting | What it does |
|---|---|
| File Format | CSV, JSON, XLSX or PDF. |
| Style, Title, Orientation, Font Size, Padding, Colors | PDF layout. Colors applies the text and fill colors of the table, including the row and column colors from Apply to row or Apply to column. Borders, dots, badges, progress bars and blinking are not drawn, and soft colors are blended against the page background. XLSX also keeps the colors. CSV and JSON carry no styling. |
| Download | Saves the file. |
Numbers
Format sets how numbers are shown: Database, General, Number or Scientific.
Multi-State
| Setting | What it does |
|---|---|
| Enable Multi-State | Turns limits on for the selected data source. |
| Property | Text, Border, Soft Fill, Accent + Tint, Status Dot, Value Badge, Solid Fill, Progress or Progress and Value. Solid Fill replaces the background and picks a contrasting text color. |
| Gradient | Blends the colors between limits. Numeric data sources only. |
| Apply to row / Apply to column | Uses this data source's color for the other cells at the same time. It fills only properties without a cell or data source style. The label follows the orientation. |
| Status | The Bad data color, then the limits or states with their colors. |
Troubleshooting and limitations
| Symptom | Cause | What to do |
|---|---|---|
Digital or text columns show [-11059] No Good Data For Calculation. | Summary mode calculates numbers only. | Use Recorded or Interpolated mode, or delete the digital and text data sources. |
| A column is empty after you add a Filter condition. | The condition has no value yet, or no value meets it. | Enter a value or select Remove. |
| Rows are missing. | The mode, interval, time range, Max. Rows or a filter removes them. | Check Data Retrieval, Max. Rows and the filters. |
| The table is slow or shows too many rows. | The range is long or the interval is short. | Lengthen the interval, or shorten the range. |
| The filter boxes do not appear. | Column Filters is off, or Show under Header is off. | Turn both on. |
| An Hour group contains rows from more than one day. | The Hour group title is the hour only, such as 11:00, so the same hour of different days shares a group when the range is longer than 24 hours. | Select Day as well as Hour to build a tree, or keep the range within one day. |
| Values look 1,000 times too large or small. | The attribute's unit in AF is, for example, k m3. | Choose the unit you expect under Display unit. |
| Display unit is unavailable. | The data source is a PI Point, has no unit in AF, or is digital or text. | Use an AF attribute with a unit. |
| A multi-state limit or Count Specific value no longer matches. | You changed Display unit. Typed values are read in the displayed unit. | Enter the values again in the new unit. |
| A total across data sources does not add up. | The data sources have different units. | Give them the same Display unit. |

Limitation: Column filters apply to loaded data only. Use a data source Filter to reduce what is requested.
Limitation: Summary mode works for numeric data sources. Filter and Split String are not available in it.
Limitation: Split String works for text data sources in Recorded mode.
Limitation: A PI Point cannot be shown in another unit.
