IVZDataNormalizeAdapter.MaxValue

Fore Syntax

MaxValue: Double;

Fore.NET Syntax

MaxValue: double;

Description

The MaxValue property determines the upper border of the interval, to which the data is cast

Comments

To determine lower border of interval, use the IVZDataNormalizeAdapter.MinValue property.

Fore Example

Executing the example requires that the repository contains an express report with the EXPRESS_IVZ identifier containing a bubble chart.

Add links to the Express, Metabase, Visualizators system assemblies.

Sub UserProc;
Var
    Metabase: IMetabase;
    EaxAnalyzer: IEaxAnalyzer;
    DataSourceMapping: IVZDataSourceMapping;
    SizeVisual: IVZNumericVisual;
    DataSource: IVZMultiplyDataSource;
    DataTransformer: IVZDataNormalizeAdapter;
    i, j: Integer;
    val: Variant;
Begin
    // Get repository
    Metabase := MetabaseClass.Active;
    // Get express report
    EaxAnalyzer := Metabase.ItemById("EXPRESS_IVZ").Edit As IEaxAnalyzer;
    // Activate bubble chart and refresh it
    EaxAnalyzer.BubbleChart.Enabled := True;
    EaxAnalyzer.BubbleChart.Visible := True;
    EaxAnalyzer.BubbleChart.Refresh;
    // Get X axis visualizer
    SizeVisual := EaxAnalyzer.BubbleChart.BubbleChart.XVisual;
    // Get settings for data mapping
    DataSourceMapping := SizeVisual.NumericMapping;
    // Set mapping type "Data Transformer"
    DataSourceMapping.MappingType := VisualizatorDataMappingType.DataMappingTransformer;
    // Set title for data source corresponding to identifier
    DataSource := DataSourceMapping.DataSource;
    // Create data transformer
    DataTransformer := New VZDataNormalizeAdapter.Create;
    // Get upper legend of interval
    DataTransformer.MaxValue := 100;
    // Set the minimum value, which is output if data source values are less than it
    DataTransformer.MinCutValue := 10;
    // Set lower border of interval
    DataTransformer.MinValue := 0;
    // Set the value if the source contains empty values
    DataTransformer.NoDataValue := "No data";
    // Load data from source
    DataTransformer.InitializeFromDataSourceEx(DataSource, DataSourceMapping.AttributeId, 1);
    // Set logarithmic mode of data normalization
    DataTransformer.NormalizeMode := VisualizatorDataAdapterMode.Linear;
    // Set this transformer
    DataSourceMapping.DataTransformer := DataTransformer;
    // Transform data from the source and output to the console window
    Debug.WriteLine("Data transformation:");
    For i := 0 To DataSource.GetObjects.Count - 1 Do
        For j := 0 To EaxAnalyzer.BubbleChart.BubbleChart.TimeLine.StepsNames.Count - 1 Do
            val := DataSource.GetDataEx(DataSource.GetObjects.Item(i), DataSourceMapping.AttributeId, j);
            Debug.WriteLine("Input: " + ((val.IsNull)? "Null" :(val As String))
                + ", output: " + (DataTransformer.GetData(val)) As String);
        End For;
    End For;
End Sub UserProc;

After executing the example the console window displays the values from the specified data source cast to interval borders

Fore.NET Example

The requirements and result of the Fore.NET example execution match with those in the Fore example.

Imports Prognoz.Platform.Interop.Express;
Imports Prognoz.Platform.Interop.Visualizators;

Public Shared Sub Main(Params: StartParams);
Var
    Metabase: IMetabase;
    EaxAnalyzer: IEaxAnalyzer;
    DataSourceMapping: IVZDataSourceMapping;
    SizeVisual: IVZNumericVisual;
    DataSource: IVZMultiplyDataSource;
    DataTransformer: VZDataNormalizeAdapterClass = New VZDataNormalizeAdapterClass();
    i, j: Integer;
    val: object;
Begin
    // Get repository
    Metabase := Params.Metabase;
    // Get express report
    EaxAnalyzer := Metabase.ItemById["EXPRESS_IVZ"].Edit() As IEaxAnalyzer;
    // Activate bubble chart and refresh it
    EaxAnalyzer.BubbleChart.Enabled := True;
    EaxAnalyzer.BubbleChart.Visible := True;
    EaxAnalyzer.BubbleChart.Refresh();
    // Get X axis visualizer
    SizeVisual := EaxAnalyzer.BubbleChart.BubbleChart.XVisual;
    // Get settings for data mapping
    DataSourceMapping := SizeVisual.NumericMapping;
    // Set mapping type "Data Transformer"
    DataSourceMapping.MappingType := VisualizatorDataMappingType.vdmtDataMappingTransformer;
    // Set title for data source corresponding to identifier
    DataSource := DataSourceMapping.DataSource;
    // Get upper legend of interval
    DataTransformer.MaxValue := 100;
    // Set the minimum value, which is output if data source values are less than it
    DataTransformer.MinCutValue := 10;
    // Set lower border of interval
    DataTransformer.MinValue := 0;
    // Set the value if the source contains empty values
    DataTransformer.NoDataValue := "No data";
    // Load data from source
    DataTransformer.InitializeFromDataSourceEx(DataSource, DataSourceMapping.AttributeId, 1);
    // Set logarithmic mode of data normalization
    DataTransformer.NormalizeMode := VisualizatorDataAdapterMode.vdamLinear;
    // Set this transformer
    DataSourceMapping.DataTransformer := DataTransformer;
    // Transform data from the source and output to the console window
    System.Diagnostics.Debug.WriteLine("Data transformation:");
    For i := 0 To DataSource.GetObjects().Count - 1 Do
        For j := 0 To EaxAnalyzer.BubbleChart.BubbleChart.TimeLine.StepsNames.Count - 1 Do
            val := DataSource.GetDataEx(DataSource.GetObjects().Item[i], DataSourceMapping.AttributeId, j);
            System.Diagnostics.Debug.WriteLine("Input: " + ((val = Null)? "Null" :(val.ToString()))
                + ", output: " + (DataTransformer.GetData(val)) As String);
        End For;
    End For;
End Sub;

See also:

IVZDataNormalizeAdapter