Count: Integer;
Count: integer;
The Count property returns the size of the scales collection.
Executing the example requires that the repository contains a database with the ADHOC identifier. A dashboard must contain a speedometer.
Add links to the Adhoc, Express, Metabase, Speedometer system assemblies.
Sub UserProc;
Var
Speedometer: IPPSpeedometer;
MB: IMetabase;
AdhocReport: IAdhocReport;
EaxSpeedometer: IEaxSpeedometer;
Enalyzer: IEaxAnalyzer;
DsObjs: IAdhocDataSourceObjects;
Scales: IPPSpeedometerScales;
Scale: IPPSpeedometerScale;
Begin
MB := MetabaseClass.Active;
// Get dashboard
AdhocReport := MB.ItemById("ADHOC").Edit As IAdhocReport;
// Get dashboard data sources
DsObjs := AdhocReport.DataSourceObjects;
// Get speedometer
Enalyzer := DsObjs.Item(0).GetSourceObject As IEaxAnalyzer;
EaxSpeedometer := Enalyzer.Speedometer;
// Get speedometer parameters
Speedometer := EaxSpeedometer.Speedometer;
// Get collection of speedometer scales
Scales := Speedometer.Scales;
// Display collection size
Debug.Writeline("Number of elements in collection: " + Scales.Count.ToString);
// Display data scale name
Debug.Writeline("Data scale name: " + Scales.DataScale.Name);
// Get scale by its index
Scale := Scales.Item(0);
// Remove all elements from collection
Scales.RemoveAll;
// Return saved scale
Scales.Add(Scale);
(Enalyzer As IMetabaseObject).Save;
End Sub UserProc;
After executing the example the console window displays messages with the number of scales in the collection and data scale names. All elements are removed from the collection of scales, then the previously saved scale is returned to the collection.
The requirements and result of the Fore.NET example execution match with those in the Fore example.
Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.AdHoc;
Imports Prognoz.Platform.Interop.Express;
Imports Prognoz.Platform.Interop.Speedometer;
…
Public Shared Sub Main(Params: StartParams);
Var
Speedometer: IPPSpeedometer;
MB: IMetabase;
AdhocReport: IAdhocReport;
EaxSpeedometer: IEaxSpeedometer;
Enalyzer: IEaxAnalyzer;
DsObjs: IAdhocDataSourceObjects;
Scales: IPPSpeedometerScales;
Scale: PPSpeedometerScale;
Begin
MB := Params.Metabase;
// Get dashboard
AdhocReport := MB.ItemById["ADHOC"].Edit() As IAdhocReport;
// Get dashboard data sources
DsObjs := AdhocReport.DataSourceObjects;
// Get speedometer
Enalyzer := DsObjs.Item[0].GetSourceObject() As IEaxAnalyzer;
EaxSpeedometer := Enalyzer.Speedometer;
// Get speedometer parameters
Speedometer := EaxSpeedometer.Speedometer;
// Get collection of speedometer scales
Scales := Speedometer.Scales;
// Display collection size
System.Diagnostics.Debug.Writeline("Number of elements in collection: " + Scales.Count.ToString());
// Output data scale name
System.Diagnostics.Debug.Writeline("Data scale name: " + Scales.DataScale.Name);
// Get scale by its index
Scale := Scales.Item[0];
// Remove all elements from collection
Scales.RemoveAll();
// Return saved scale
Scales.Add(Scale);
(Enalyzer As IMetabaseObject).Save();
End Sub;
See also:
Related work items
Requirement