##### Page tree
Go to start of banner

# 30 Visibility Dialog and On The Fly Expression Series

Visibility Dialog

The visibility dialog can be opened by clicking the red encircled button with tooltip "mark series invisible in the chart"

By (de)selecting the checkboxes the time series can be made (in)visible.

When there are any series marked invisible the button icon will change so the user is attended that some series are made invisible, also when the visibility dialog has already been closed.

# On The Fly Expression Series

Since 2018.01 the Visibility dialog has been extended with the possibility to add "on the fly" expression series.

These series will be created with a formula that contains variables refering to time series.

The user can pick a

-Name => Just to show extra information in the GUI for clearification

-Parameter group => This will decide in which plot the series will be added. Behind the screen it will use the first parameter id of the parameter group, this is done so it is able to listen to  <parameterDisplayOptions> from TimeSeriesDisplayConfig.xml to determine its lineStyle for instance.

-Formula => This formula will be used to calculate the values of the expression series based on the series it is referring to.

This series will be added and appear with the Name of the series as location and the formula as postfix.

The expression series will always be non-equidistant with only the time steps that are present in all the source series.

When the selection has changed and the time series from the formula variables (sources) are not present anymore, they will be added as invisible so it can still be seen where the on the fly expression series is based on.

On the fly expression series can be removed by selecting them in blue and clicking the remove button:

## Creating expression series based on other expression series (since 2019.02)

Since 2019.02 it is possible to use other expression series as source for new expression series.

In the image below expression serie C has been created as A + B which are original time series from the database.

Series D is an expression series based on the formula C * A. Because C is an expression series itself, in the formula for D the C will be substituted by its own formula A + B. This way C * A becomes (A + B) * A.

This substitution can be repaited many times as can be seen by series E ad F which are combinations of B and D and D and E respectively but can be completely rewritten into the actual source series A and B.

## Import and export expression series (since 2019.02)

Since 2019.02 it is possible to import and export expression series. This way Expression series can be imported in a later session and by other users.

When an expression series is selected in blue, the "export" button will be enabled. When clicking an xml file can be named where it will be exported to.

It will store:

- the name of the series

- the formula

- time series set for each source series with the description containing the part of the formula

Expression series xml
```<?xml version="1.0" encoding="UTF-8"?>
<onTheFlyExpressionTimeSeries
xsi:schemaLocation="http://www.wldelft.nl/fews http://fews.wldelft.nl/schemas/version1.0/onTheFlyExpressionTimeSeries.xsd"
xmlns="http://www.wldelft.nl/fews" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<onTheFlyExpressionTimeSeriesDefinition>
<name>D-E</name>
<parameterGroupId>Debiet</parameterGroupId>
<formula>((A+B)*A)-(B/((A+B)*A))</formula>
<timeSeriesSet>
<description>A</description>
<moduleInstanceId>ImportOpvlWater</moduleInstanceId>
<valueType>scalar</valueType>
<parameterId>Q.G.15</parameterId>
<locationId>KW214012</locationId>
<timeSeriesType>external historical</timeSeriesType>
<timeStep unit="minute" multiplier="15"/>
<relativeViewPeriod unit="hour" start="-70" end="0"
startOverrulable="false" endOverrulable="false"/>
<synchLevel>5</synchLevel>
<ensembleId>main</ensembleId>
<ensembleMemberIndex>0</ensembleMemberIndex>
</timeSeriesSet>
<timeSeriesSet>
<description>B</description>
<moduleInstanceId>ImportOpvlWater</moduleInstanceId>
<valueType>scalar</valueType>
<parameterId>Q.G.15</parameterId>
<locationId>KW107511</locationId>
<timeSeriesType>external historical</timeSeriesType>
<timeStep unit="minute" multiplier="15"/>
<relativeViewPeriod unit="hour" start="-70" end="0"
startOverrulable="false" endOverrulable="false"/>
<synchLevel>5</synchLevel>
<ensembleId>main</ensembleId>
<ensembleMemberIndex>0</ensembleMemberIndex>
</timeSeriesSet>
</onTheFlyExpressionTimeSeriesDefinition>
</onTheFlyExpressionTimeSeries>

```

The import button can be used at any time but make sure the id's used exist in the system. So in practice this functionality is most suitable for usage within the same system.

## Selection of time series (since 2020.02)

Since 2020.02 time series selected via the tree will selected in the same way as if they were selected via the graph or table.

When statistical functions are active be aware that changing the selected time series will affect the time series for which statistics are calculated.

• No labels