Installation Prerequisites
CXO Version 21.3.3 (or higher)
.NET 5.0 has to be installed
Installation
Install Longview Adapter
CXO configuration and Source Creation
Note: To be able to use the Longview Adapter you need a license key with Longview enabled.
Create a new source system in the SSM for the correct source type: Longview. This should create:
Fact database
SSAS cube
In the next steps you will run a few commands to initialize the Longview adapter and the source. These commands need a few parameters for input, please avoid using spaces in the parameter values.
For more information on the available commands and their parameters, run theCXO.Adapter.LongviewTidemark.Cli.exe help
command for detailed descriptions.Open command line as Administrator, browse to the Longview adapter folder and run the initialize command to create the configuration database.
Command | initialize |
---|---|
Parameters |
|
Example |
|
Then run the create-source-in-adapter command to create a new Longview source.
IMPORTANT: Here you decide the type of Longview source: Longview Close or Longview Tax. This cannot be changed after source creation!
Command | create-source-in-adapter |
---|---|
Parameters |
|
Example |
|
After running these commands the adapter is configured and a first source is available. When multiple sources are required, run the create-source-in-adapter for each source needed.
Each source is created with a default configuration for dimensions, Longview symbol names, etc. These defaults need to be changed for the source to function properly. The next section explains how to configure the Longview sources.
Longview Source Configuration
A newly created Longview source needs additional configuration to function properly. Since the Longview adapter currently does not have a user interface, these configurations have to be done by running SQL scripts on the Longview configuration database.
Longview Connection
To show the currently configured connection information for the sources in the Longview adapter, run the following query on the configuration database:
QUERY 1
select s.Name, Type = CASE WHEN s.Type = 1 THEN 'Longview Close' WHEN s.Type = 2 THEN 'Longview Tax' ELSE 'Unknown' END, sc.Url, sc.UserName, sc.Password, sc.ListenerPort, sc.Access, sc.UserGroup, sc.InstanceId from Source s join LVSourceConfiguration sc on sc.SourceId = s.Id
The results of this query shows per source the URL to the Longview instance, the username and password to authenticate with the Longview system and a few other Longview-specific fields. The values for these fields should be provided by people managing the Longview system to connect to.
To update the connection fields, run the following query with the correct values and source name. When certain values do not need to be replaced, remove the particular lines from the query.
QUERY 2
update sc set sc.Url = '...', sc.UserName = '...', sc.Password = '...', sc.ListenerPort = 0, sc.Access = '...', sc.UserGroup = '...', sc.InstanceId = '...' from LVSourceConfiguration sc join Source s on sc.SourceId = s.Id where s.Name = 'SOURCE NAME HERE'
An example to replace just the URL and credentials for a source called MyLongviewSource:
update sc set sc.Url = 'https://example-url-to-longview-source.com', sc.UserName = 'Administrator', sc.Password = 'secret_password' from LVSourceConfiguration sc join Source s on sc.SourceId = s.Id where s.Name = 'MyLongviewSource'
Showing Dimension Configuration for a Source
To show the currently configured dimension mappings for a given source, run the following query with the correct source name:
QUERY 3
select dm.LVSourceConfigurationId, dm.CxoDimension, dm.LVDimensionName from Source s join LVSourceConfiguration sc on sc.SourceId = s.Id join DimensionMapping dm on dm.LVSourceConfigurationId = sc.Id where s.Name = 'SOURCE NAME HERE'
This shows which Longview dimension is mapped to which CXO dimension. If the LVDimensionName column has a NULL value, nothing is mapped to this CXO dimension.
For each Longview dimension we also have to configure:
The symbol names to extract
The symbol attributes to extract
The description of the Longview dimension
To show the currently configured values for these fields, run the following query:
QUERY 4
select dec.LVSourceConfigurationId, dec.DimensionName, dec.DimensionDescription, dec.SymbolNames, dec.SymbolAttributes from Source s join LVSourceConfiguration sc on sc.SourceId = s.Id join LVDimensionsExtractionConfiguration dec on dec.LVSourceConfigurationId = sc.Id where s.Name = 'SOURCE NAME HERE'
Finally, it is possible to extract additional attributes from the Longview system and link them to members in a configured dimension. To show the currently configure member attribute mappings, run the following query:
QUERY 5
select dm.Id, dm.CxoDimension, dm.LVDimensionName, mam.CxoMemberAttribute, mam.SymbolAttribute from Source s join LVSourceConfiguration sc on sc.SourceId = s.Id join DimensionMapping dm on dm.LVSourceConfigurationId = sc.Id join MemberAttributeMapping mam on mam.DimensionMappingId = dm.Id where s.Name = 'SOURCE NAME HERE'
Per dimension this shows the SymbolAttribute that needs to be extracted from Longview, plus the CXO attribute on the member that needs to get the extracted value. For instance, the ZGPNativeCurrency attribute can be mapped to the Currency attribute of the CXO Entity dimension.
Updating Dimension Configuration for a Source
For updating dimension configuration of a Longview source we identify the following scenarios:
Create a new dimension mapping from a Longview dimension to a CXO dimension
Remove an existing dimension mapping from a Longview dimension to a CXO dimension
Update symbol names, symbol attributes and/or dimension description for a mapped Longview dimension.
Create a new member attribute mapping
Remove an existing member attribute mapping
NOTE: if you want to map a Longview dimension mapping to a CXO dimension that already has a Longview dimension mapped to it, first remove the existing mapping before adding the new mapping.
Create a Dimension Mapping
To create a new dimension mapping from a Longview dimension to a CXO dimension, run the following query with correct values for LVSourceConfigurationId and CxoDimension (you get these from running QUERY 3) plus the name of the LV Dimension you want to map.
QUERY 6
declare @lv_dimension_name varchar(255) = 'LV DIMENSION NAME HERE'; declare @lv_source_configuration_id uniqueidentifier = 'LV SOURCE CONFIGURATION ID HERE'; declare @cxo_dimension varchar(50) = 'CXO DIMENSION HERE'; update DimensionMapping set LVDimensionName = @lv_dimension_name where LVSourceConfigurationId = @lv_source_configuration_id and CxoDimension = @cxo_dimension insert into LVDimensionsExtractionConfiguration ( Id, DimensionName, LVSourceConfigurationId, SymbolNames, DimensionDescription, SymbolAttributes) values (newid(), @lv_dimension_name, @lv_source_configuration_id, '', '', '')
After running this query, there will be no symbol names, symbol attributes or dimension description configured yet. Proceed to update these by following Scenario 3: Update Symbol Names, Symbol Attributes and Dimension Description
Remove a Dimension Mapping
To remove a dimension mapping from a Longview dimension to a CXO dimension, run the following query with correct values for LVSourceConfigurationId and CxoDimension (you get these from running QUERY 3).
QUERY 7
declare @lv_source_configuration_id uniqueidentifier = 'LV SOURCE CONFIGURATION ID HERE'; declare @cxo_dimension varchar(50) = 'CXO DIMENSION HERE'; declare @lv_dimension_name varchar(255) = ( select LVDimensionName from DimensionMapping where LVSourceConfigurationId = @lv_source_configuration_id and CxoDimension = @cxo_dimension ); update DimensionMapping set LVDimensionName = NULL where LVSourceConfigurationId = @lv_source_configuration_id and CxoDimension = @cxo_dimension delete from LVDimensionsExtractionConfiguration where LVSourceConfigurationId = @lv_source_configuration_id and DimensionName = @lv_dimension_name
Update Symbol Names, Symbol Attributes and Dimension Description
To update symbol names, symbol attributes and dimension description for a LV dimension, run the following query with the correct LVSourceConfigurationId and DimensionName (you get these from running QUERY 4).
QUERY 8
update LVDimensionsExtractionConfiguration set SymbolNames = '...', SymbolAttributes = '...', DimensionDescription = '...' where LVSourceConfigurationId = 'LV SOURCE CONFIGURATION ID HERE' and DimensionName = 'DIMENSION NAME HERE'
Create a Member Attribute Mapping
To create a new member attribute mapping for a specific dimension, run the following query with the correct DimensionMappingId (you get this from running QUERY 5).
QUERY 9
insert into MemberAttributeMapping (Id, DimensionMappingId, CxoMemberAttribute, SymbolAttribute) values ( newid(), 'DIMENSION MAPPING ID HERE', 'CXO MEMBER ATTRIBUTE HERE', 'SYMBOL ATTRIBUTE HERE')
Remove a Member Attribute Mapping
To remove an existing member attribute mapping, run the following query with the correct DimensionMappingId and SymbolAttribute (you get these from running QUERY 5).
QUERY 10
delete from MemberAttributeMapping where DimensionMappingId = 'DIMENSION MAPPING ID HERE' and SymbolAttribute = 'SYMBOL ATTRIBUTE HERE'
Source Metadata and Data extraction
Performs a full extraction (metadata + data) for the given source and year/scenario slice.
Important: The command removes all existing data and metadata from fact database and imports data only for the years and scenarios specified in the arguments
Command | full-extract |
---|---|
Parameters |
|
Example |
|
Performs a metadata extraction for the given source.
Important: The command removes all existing metadata from fact database and re-imports it again.
Command | metadata-extract |
---|---|
Parameters |
|
Example |
|
Performs a data extraction for the given source and year/period/scenario slice.
Important: The command removes all existing data from fact database and imports data only for the years, periods and scenarios specified in the arguments
Command | data-extract |
---|---|
Parameters |
|
Example |
|
IMPORTANT:
If the scenarios contain empty space in their member name they need to be put in double quotes. Ex.
.\CXO.Adapter.LongviewTidemark.Cli.exe metadata-extract source:longview-close years:17,18 periods:Jan,Feb scenarios:"Scenarios 001","Scenarios 002","Scenarios 003"
Metadata members should be split by commas and should not contain empty space between the comma and the member name