Skip to main content

Excel Functions

Documentation for the functions available in Excel

ODSL.REFID

Represents the ID for the referenced entity.

The REFID function is used in conjunction with one of the range functions:

  • OBJECTRANGE - when the reference id is master data
  • SERIESRANGE - when the referenced data is a timeseries
  • CURVERANGE - when the referenced data is a curve
  • CURVEDATA - when the referenced data is a curve and you want to display the full curve information
  • CURVESERIESRANGE - when the referenced data is a curve series

Parameters

id

The full id of the entity:

  • Object: objectid
  • TimeSeries: objectid:seriesid
  • Curve: objectid:curveid:curvedate
  • Event: objectid:eventid

source

The source of the object, can be one of:

  • public
  • private
  • custom MongoDB collection reference

options

This is a key=value pair list of options separated by semi-colons(;).

These options override the options provided in the range functions

Options can be any of the following:

optiondescriptionexample
$timezoneThe timezone you want the data represented in$timezone=Australia/Perth
expressionAn expression used to transform the dataexpression=scale(BASE,'MONTHLY','averaged')
currencySpecify which currency you want to convert the data tocurrency=USD
unitsSpecify the units you want to convert the data tounits=MWH
precisionSpecify the number of decimal places to round the data toprecision=2
roundingModeUsing with precision to define the rounding method to useroundingMode=DOWN

Example

=ODSL.REFID("#ABN_FX.EURAED")

ODSL.CURVERANGE

Represents a curve range

Parameters

ondate

options

This is a key=value pair list of options separated by semi-colons(;).

Options can be any of the following:

optiondescriptionexample
$timezoneThe timezone you want the data represented in$timezone=Australia/Perth
currencySpecify which currency you want to convert the data tocurrency=USD
unitsSpecify the units you want to convert the data tounits=MWH
precisionSpecify the number of decimal places to round the data toprecision=2
roundingModeUsing with precision to define the rounding method to useroundingMode=DOWN

Additional options when creating a curve series:

optiondescriptionexample
$objtypeThe type used when creating the object, defaults to #Object$type=#MarketData
$expirycalendarThe expiry calendar to use for the curve$expirycalendar=#REOMHENG
$currencyThe currency that this data is in$currency=EUR
$unitThe units that this data is measured in$unit=MWH
$timezoneThe timezone that this data is in, only relevant for intraday data$timezone=Europe/London

Example

=ODSL.CURVERANGE("2024-11-11")

ODSL.CURVEDATA

Represents curve data, this is an alternative to CURVERANGE which displays a more detailed curve structure rather than just the tenor and value.

Parameters

id

This is the full id of the curve in the format objectid:curveid:curvedate

options

This is a key=value pair list of options separated by semi-colons(;).

Options can be any of the following:

optiondescriptionexample
$timezoneThe timezone you want the data represented in$timezone=Australia/Perth
currencySpecify which currency you want to convert the data tocurrency=USD
unitsSpecify the units you want to convert the data tounits=MWH
precisionSpecify the number of decimal places to round the data toprecision=2
roundingModeUsing with precision to define the rounding method to useroundingMode=DOWN

Example

=ODSL.CURVEDATA("#BSP.EL.SI.BASE.DA:PRICE:2022-12-12","$timezone=Europe/Ljubljana")

ODSL.CURVESERIESRANGE

Represents a curveseries range

Parameters

ondate

The curve date for the curve series

start

The start date or rule of the range of timeseries data to return, e.g. "01-11-2022"

end

The end date or rule of the range of timeseries data to return, e.g. "30-11-2022"

options

This is a key=value pair list of options separated by semi-colons(;).

Options can be any of the following:

optiondescriptionexample
$timezoneThe timezone you want the data represented in$timezone=Australia/Perth
$sortorderThe sort order of the indexes$sortorder=descending
currencySpecify which currency you want to convert the data tocurrency=USD
unitsSpecify the units you want to convert the data tounits=MWH
precisionSpecify the number of decimal places to round the data toprecision=2
roundingModeUsing with precision to define the rounding method to useroundingMode=DOWN

Additional options when creating a curve series:

optiondescriptionexample
$objtypeThe type used when creating the object, defaults to #Object$type=#MarketData
$calendarThe calendar to use for the observations in the series$calendar=#DAILY
$currencyThe currency that this data is in$currency=EUR
$unitThe units that this data is measured in$unit=MWH
$timezoneThe timezone that this data is in, only relevant for intraday data$timezone=Europe/London

Example

=ODSL.CURVESERIESRANGE("2024-10-28",t-10d","t-1d","$sortorder=descending;$timezone=Europe/Berlin")

ODSL.EVENTDATA

Represents event data

Parameters

id

This is the full id of the event in the format objectid:eventid

start

The start date or rule of the range of timeseries data to return, e.g. "01-11-2022"

end

The end date or rule of the range of timeseries data to return, e.g. "30-11-2022"

options

This is a key=value pair list of options separated by semi-colons(;).

Options can be any of the following:

optiondescriptionexample
$timezoneThe timezone you want the data represented in$timezone=Australia/Perth
$sortorderThe sort order of the indexes$sortorder=descending

Additional options when creating a curve series:

optiondescriptionexample
$objtypeThe type used when creating the object, defaults to #Object$type=#MarketData
$eventtypeThe event type for this event$eventtype=#Event

Example

=ODSL.EVENTDATA("#AEMO.EL.AU.WEM.OUTAGES.WPGENER.COLLIE_G1:UMM","01-01-2022","31-12-2022","$sortorder=descending")

ODSL.OBJECTRANGE

Represents an object range

Parameters

options

This is a key=value pair list of options separated by semi-colons(;).

Options can be any of the following:

optiondescriptionexample

ODSL.SERIESRANGE

Represents a series range

Parameters

start

The start date or rule of the range of timeseries data to return, e.g. "01-11-2022"

end

The end date or rule of the range of timeseries data to return, e.g. "30-11-2022"

options

This is a key=value pair list of options separated by semi-colons(;).

Options can be any of the following:

optiondescriptionexample
$timezoneThe timezone you want the data represented in$timezone=Australia/Perth
$sortorderThe sort order of the indexes$sortorder=descending
currencySpecify which currency you want to convert the data tocurrency=USD
unitsSpecify the units you want to convert the data tounits=MWH
precisionSpecify the number of decimal places to round the data toprecision=2
roundingModeUsing with precision to define the rounding method to useroundingMode=DOWN

Additional options when creating a time series:

optiondescriptionexample
$objtypeThe type used when creating the object, defaults to #Object$type=#MarketData
$calendarThe calendar to use for the observations in the series$calendar=#DAILY
$currencyThe currency that this data is in$currency=EUR
$unitThe units that this data is measured in$unit=MWH
$timezoneThe timezone that this data is in, only relevant for intraday data$timezone=Europe/London

Example

=ODSL.SERIESRANGE("t-10d","t-1d","$sortorder=descending;$timezone=Europe/Berlin")

ODSL.RTD

Represents real-time data which will refresh when the referenced item is updated in the server

Parameters

id

The full id of the entity:

  • Object: objectid
  • TimeSeries: objectid:seriesid
  • Curve: objectid:curveid:curvedate
  • Event: objectid:eventid

index

The index of the entity, see the description below for what this can be depending on the type of entity.

Object

The name of the property in the object

Timeseries

The date/time of the observation

Curve

The tenor of the curve

Event

The name of the property on the event

options

This is a key=value pair list of options separated by semi-colons(;).

Options can be any of the following:

optiondescriptionexample
$timezoneThe timezone you want the data represented in$timezone=Australia/Perth