Lusid.RelationalDataset.Definition

Prev Next

Type

Read/write

Author

Availability

Data provider

Read

FINBOURNE

Provided with LUSID

The Lusid.RelationalDataset.Definition provider enables you to write a Luminesce SQL query that retrieves information about relational dataset definitions (RDDs).

One row is returned for each SeriesIdentifier, Value and Metadata field in each RDD.

See also: Lusid.RelationalDataset.Definition.Writer

Basic usage

select * from Lusid.RelationalDataset.Definition where <filter-expression>;

Query parameters

Lusid.RelationalDataset.Definition has parameters that enable you to filter or refine a query.

To list available parameters, their data types, default values, and an explanation for each, run a query like this one using a suitable tool:

select FieldName, DataType, ParamDefaultValue, Description from Sys.Field 
  where TableName = 'Lusid.RelationalDataset.Definition' and FieldType = 'Parameter';

Data fields

By default, Lusid.RelationalDataset.Definition returns a table of data populated with particular fields (columns). You can return a subset of these fields.

To list fields available to return, their data types, whether fields are considered 'main', and an explanation for each, run a query like this one using a suitable tool:

select FieldName, DataType, IsMain, IsPrimaryKey, SampleValues, Description from Sys.Field 
  where TableName = 'Lusid.RelationalDataset.Definition' and FieldType = 'Column';

Note: Fields marked 'main' are returned by queries that select a caret character, for example select ^ from Lusid.RelationalDataset.Definition

Examples

Note: For more example Luminesce SQL queries, visit our Github repo.

Example 1: Retrieve every field for every RDD

select * from Lusid.RelationalDataset.Definition;

Example 2: Retrieve the fields for a particular RDD

select * from Lusid.RelationalDataset.Definition 
  where Scope = 'MyRDDs' and Code = 'Addresses';

Example 3: Retrieve one row per RDD

You can pivot the results through the Tools.Pivot provider to display fields as columns, reducing the number of rows and possibly making the results more intuitive:

@results = select * from Lusid.RelationalDataset.Definition;

@pivoted_results = use Tools.Pivot with @results
--key=FieldName
--aggregateColumns=FieldCategory,FieldRequired,FieldDataTypeScope,FieldDataTypeCode,FieldDisplayName,FieldDescription
enduse;
select * from @pivoted_results;