Search & Filtering¶
Dealing with files that have many series is hard, so we put together a flexible searching system to find the series you’re after. Typing in the search bar filters the series: anything that does not match what you type is hidden.
Typing a word is enough most of the time, but the search also supports wildcards, boolean logic, filtering on data values and filtering by file name.
Searching for Series¶
Simple Text Search¶
Type any text to filter series by name. Matching is case-insensitive and matches anywhere in the name.
| You type | What shows up |
|---|---|
voltage |
Any series with "voltage" in the name, such as Voltage_A or Bus_Voltage_1 |
freq |
Frequency, Freq_Response, Low_Freq_Mode |
A file stays visible as long as one of its series matches.
Sorting and Advanced Search¶
The ··· button next to the search bar opens a menu with Sort A to Z, Sort Z to A, and Advanced search....
The Advanced Search dialog builds a query visually instead of typing the syntax below by hand. Add rows under Channel name, Channel contents or File selection, choose AND/OR to combine them, and a live preview shows the query it will produce. Apply writes that query into the search bar; Clear resets it.
Exact Matching with Quotes¶
Wrap a term in double quotes to match the full series name exactly (still case-insensitive).
| You type | Matches | Doesn't match |
|---|---|---|
"Frequency" |
Frequency |
Frequency_Response, Low_Freq |
"Active Power" |
Active Power |
Reactive Power, Active_Power_Output |
Wildcards¶
*matches any characters (including none)?matches exactly one character
| Pattern | Matches | Doesn't match |
|---|---|---|
Volt* |
Voltage, Volt_Drop, Volt |
Line_Voltage |
*Current* |
Line_Current, Current_A |
- |
V?ltage |
Voltage, Valtage |
Vllltage |
Combining with Boolean Operators¶
| Operator | Syntax | Example |
|---|---|---|
| AND | a space, or & |
voltage current, voltage & current |
| OR | | |
voltage | current |
| NOT | ! |
!reactive |
| Grouping | < > |
<voltage | current> & phase_a |
Precedence: NOT binds tightest, then AND, then OR.
So voltage | current & !reactive is read as voltage | (current & (!reactive)).
Angle brackets override that order. <voltage | current> & phase_a finds series matching voltage or current that also contain phase_a.
Examples¶
| Query | What it does |
|---|---|
voltage |
Series containing "voltage" |
voltage | frequency |
Series containing "voltage" or "frequency" |
power & !reactive |
Series containing "power" but not "reactive" |
<voltage | current> & phase_a |
Voltage or current series, narrowed to phase A |
Filtering by Data Values¶
A : after a column name filters on the data itself rather than the name, which is how you find series that cross a threshold. Value filters read the underlying data, so they are slower than name matching on large files.
Basic Value Filters¶
Syntax: column_name:operator value
| Operator | Meaning |
|---|---|
:> |
Greater than |
:>= |
Greater than or equal |
:< |
Less than |
:<= |
Less than or equal |
:= |
Equal to |
Examples:
| Query | Meaning |
|---|---|
Voltage:>1 |
Series where a Voltage value exceeds 1 |
Freq*:<=50 |
Series starting with "Freq" where a value is 50 or below |
*Power:>100 |
Series ending with "Power" where a value exceeds 100 |
The column name matches the same way as an ordinary search: without wildcards it tries an exact match and then a substring match; with wildcards it uses glob matching.
Filtering at a Specific Time¶
Add @time to test the value at one point in time:
This finds series where Voltage exceeds 1 at time 5. If there is no sample at exactly that time, the nearest one is used.
Filtering Across a Time Range¶
Add @start-end to test a time window:
This finds series where Frequency drops below 49.5 at any point between time 0 and time 10. Both ends of the range are included.
Column Names with Spaces¶
Quote the column name when it contains spaces or punctuation:
How Value Filters Affect Visibility¶
Value filters work at the file level: if one series in a file meets the condition, the whole file is shown. Text search, by contrast, filters individual series.
Mixed Queries (Value and Text)¶
You can combine the two in one query, where each part does a different job:
- the value filter decides which files to show
- the text search decides which series within those files to show
For example:
Show files in which a Voltage value exceeds 1, and within those files show only series containing "Active Power".
Another example:
Show files in which a P_* series exceeds 100 between time 5 and time 10, and within those files show only series containing "frequency".
Filtering by File Name¶
Use the file: prefix to filter at the file level instead of the series level:
This shows only the files whose names match case1*, along with all of their series. As with series search, matching is case-insensitive and supports wildcards.
| Query | What it shows |
|---|---|
file:simulation |
Files with "simulation" in the name |
file:case1* |
Files starting with "case1" |
file:*.csv |
Files ending with ".csv" |
Quick Reference¶
| Syntax | What it does | Example |
|---|---|---|
term |
Substring match, case-insensitive | voltage |
"term" |
Exact full-name match | "Active Power" |
*, ? |
Wildcards | Volt*, V?lt |
A B or A & B |
AND | voltage current |
A | B |
OR | voltage | frequency |
!A |
NOT | !reactive |
<A | B> & C |
Grouping | <voltage | current> & phase_a |
col:>val |
Value greater than | Voltage:>1 |
col:>=val |
Value greater than or equal to | Freq:>=50 |
col:<val |
Value less than | Power:<100 |
col:<=val |
Value less than or equal to | Current:<=5 |
col:=val |
Value equal to | Freq:=60 |
col:>val@t |
Value at a point in time | Voltage:>1@5 |
col:<val@t1-t2 |
Value within a time range | Freq:<49.5@0-10 |
"col name":>val |
Quoted column name | "Active Power":>100 |
file:pattern |
Filter by file name | file:case1* |
Notes¶
- Plain queries, with no operators or wildcards, are the fastest and filter as you type
- A malformed query does not raise an error. It matches nothing, so an empty sidebar can mean a syntax mistake
- Time ranges include both ends, and use the nearest available sample when there is none at exactly the time you gave