MaxValue: Double;
The MaxValue property determines the upper limit of the interval, to which the data is cast.
To determine the lower limit of the interval, use the IVZDataNormalizeAdapter.MinValue property.
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 the current 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 visualizer along X axis
SizeVisual := EaxAnalyzer.BubbleChart.BubbleChart.XVisual;
// Get data mapping settings
DataSourceMapping := SizeVisual.NumericMapping;
// Set the Data Transformer mapping type
DataSourceMapping.MappingType := VisualizatorDataMappingType.DataMappingTransformer;
// Set title for data source corresponding to identifier
DataSource := DataSourceMapping.DataSource;
// Create data transformer
DataTransformer := New VZDataNormalizeAdapter.Create;
// Set upper limit of interval
DataTransformer.MaxValue := 100;
// Set minimum value displayed if values from data source are less than its values
DataTransformer.MinCutValue := 10;
// Set lower limit of interval
DataTransformer.MinValue := 0;
// Set value if 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 source and display it in 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.
See also: