Show contents 

Express > Express Assembly Interfaces > IEaxAnalyzerUserEvents > IEaxAnalyzerUserEvents.OnAfterExecuteAnalyzer

IEaxAnalyzerUserEvents.OnAfterExecuteAnalyzer

Syntax

OnAfterExecuteAnalyzer(Args: IEaxAfterExecuteEventArgs);

Parameters

Args. Event arguments.

Description

The OnAfterExecuteAnalyzer method implements the event that occurs after table calculation.

Comments

The event occurs not only after table calculation but also after workbook calculation.

To implement the event that occurs before table calculation, use IEaxAnalyzerUserEvents.OnBeforeExecuteAnalyzer.

Example

The example describes the class that can be used as an express report event handler.

Add links to the Dimensions, Export, Express, Metabase, Ui system assemblies.

Class ExpressRep_Events: ExpressEvents

// Implements the event that occurs before table calculation
Public Sub OnBeforeExecuteAnalyzer(Args: IEaxBeforeExecuteEventArgs);
Var
    AnalyzerData: IReportData;
    SheetData: IReportSheetData;
    Name, NameDes: String;
    DataSources: IReportDataSourcesData;
    DataSource: IReportDataSourceData;
    Descriptor: IMetabaseObjectDescriptor;
    i, DataSourcesCount: integer;
Begin
    // Get report data
    AnalyzerData := Args.AnalyzerData;
    // Get sheet parameters
    SheetData := AnalyzerData.SheetData;
    // Display sheet name
    Name := SheetData.Name;
    // Get the collection of data sources
    DataSources := SheetData.DataSources;
    For i := 0 To DataSources.Count - 1 Do
        DataSource := DataSources.Item(i);
        // Get source description
        Descriptor := DataSource.Descriptor;
        // Get source name
        NameDes := Descriptor.Name;
        // Get the number of data sources
        DataSourcesCount := DataSource.DataSources.Count;
    End For;
    // Display information in information window
    Winapplication.InformationBox
    ("The OnBeforeExecute occurred" + #13 + #10 +
        "Sheet name - " + Name + #13 + #10 +
        "Data source name - " + NameDes + #13 + #10 +
        "Number of data sources = " + DataSourcesCount.ToString);
End Sub OnBeforeExecuteAnalyzer;

// Implements the event that occurs after table calculation
Public Sub OnAfterExecuteAnalyzer(Args: IEaxAfterExecuteEventArgs);
Var
    AnalyzerData: IReportData;
    SheetData: IReportSheetData;
    Descriptor: IMetabaseObjectDescriptor;
    Name, NameDes, NameDSDes, Id: String;
    ParamValues: IMetabaseObjectParamValues;
    ParamValuesCount, DataSourcesCount, OwnParamValuesCount, SelCount: Integer;
    DataSources: IReportDataSourcesData;
    DSDescriptor: IMetabaseObjectDescriptor;
    OwnParamValues: IMetabaseObjectParamValues;
    Selection: IDimSelectionSet;
Begin
    // Get report data
    AnalyzerData := Args.AnalyzerData;
    // Get sheet parameters
    SheetData := AnalyzerData.SheetData;
    // Get parameters of data source values
    ParamValues := SheetData.DataSourceParamValues;
    // Get the number of parameters of data source values
    ParamValuesCount := ParamValues.Count;
    // Get data source
    DataSources := SheetData.DataSources;
    // Get the number of data sources
    DataSourcesCount := DataSources.Count;
    // Get sheet description
    DSDescriptor := SheetData.Descriptor;
    // Get description name
    NameDSDes := DSDescriptor.Name;
    // Get sheet identifier
    Id := SheetData.Id;
    // Get sheet name
    Name := SheetData.Name;
    // Get proper value parameters
    OwnParamValues := SheetData.OwnParamValues;
    // Get the number of proper value parameters
    OwnParamValuesCount := OwnParamValues.Count;
    // Get dimension selection
    Selection := SheetData.Selection;
    // Get the number of selection elements
    SelCount := Selection.Count;
    // Get description of report data
    Descriptor := AnalyzerData.Descriptor;
    // Get name of report data description
    NameDes := Descriptor.Name;
    // Display information in information window
    Winapplication.InformationBox
    ("The OnAfterExecute event occurred" + #13 + #10 +
        "Sheet name - " + Name + #13 + #10 +
        "Description name - " + NameDes + +#13 + #10 +
        "Number of parameters of data source values = " + ParamValuesCount.ToString +
        #13 + #10 +
        "Number of data sources = " + DataSourcesCount.ToString + +#13 + #10 +
        "Descriptor name - " + NameDSDes + #13 + #10 +
        "Sheet identifier - " + Id + #13 + #10 +
        "Number of proper value parameters = " + OwnParamValuesCount.ToString +
        #13 + #10 +
        "Number of selection elements = " + SelCount.ToString);
End Sub OnAfterExecuteAnalyzer;

// Implements the event that occurs before report print
Public Sub OnBeforePrintAnalyzer(Args: IEaxBeforePrintEventArgs);
Var
    AnalyzerData: IReportData;
    SheetData: IReportSheetData;
    Name: String;
Begin
    // Get report data
    AnalyzerData := Args.AnalyzerData;
    // Get sheet parameters
    SheetData := AnalyzerData.SheetData;
    // Get sheet name
    Name := SheetData.Name;
    // Display information in information window
    Winapplication.InformationBox
        ("The OnBeforePrint event occurred" + #13 + #10 +
            "Sheet name = " + Name);
End Sub OnBeforePrintAnalyzer;

// Implements the event that occurs after report print
Public Sub OnAfterPrintAnalyzer(Args: IEaxAfterPrintEventArgs);
Var
    AnalyzerData: IReportData;
    SheetData: IReportSheetData;
    Name: String;
    PageCount: Integer;
Begin
    // Get report data
    AnalyzerData := Args.AnalyzerData;
    // Get sheet parameters
    SheetData := AnalyzerData.SheetData;
    // Get sheet name
    Name := SheetData.Name;
    // Get the number of pages
    PageCount := Args.PageCount;
    // Display information in information window
    Winapplication.InformationBox
    ("The OnAfterPrint event occurred" + #13 + #10 +
        "Sheet name - " + Name + #13 + #10 +
        "Number of pages = " + PageCount.ToString);
End Sub OnAfterPrintAnalyzer;

// Implements the event that occurs before report export
Public Sub OnBeforeExportAnalyzer(Args: IEaxBeforeExportEventArgs);
Var
    AnalyzerData: IReportData;
    SheetData: IReportSheetData;
    Name: String;
    Description: String;
    Format: IExportFormat;
Begin
    // Get report data
    AnalyzerData := Args.AnalyzerData;
    // Get sheet parameters
    SheetData := AnalyzerData.SheetData;
    // Get sheet name
    Name := SheetData.Name;
    // Get export format
    Format := Args.Format;
    // Get description of the format, in which export is executed
    Description := Format.Description;
    // Display information in information window
    Winapplication.InformationBox
    ("The OnBeforeExport event occurred" + #13 + #10 +
        "Sheet name - " + Name + #13 + #10 +
        "Format description - " + Description);
End Sub OnBeforeExportAnalyzer;

// Implements the event that occurs after report export
Public Sub OnAfterExportAnalyzer(Args: IEaxAfterExportEventArgs);
Var
    AnalyzerData: IReportData;
    SheetData: IReportSheetData;
    Name: String;
    PageCount: Integer;
Begin
    // Get report data
    AnalyzerData := Args.AnalyzerData;
    // Get sheet parameters
    SheetData := AnalyzerData.SheetData;
    // Get sheet name
    Name := SheetData.Name;
    // Get the number of pages
    PageCount := Args.PageCount;
    // Display information in information window
    Winapplication.InformationBox
    ("The OnAfterExport event occurred" + +#13 + #10 +
        "Sheet name - " + Name + #13 + #10 +
        "Number of pages = " + PageCount.ToString);
End Sub OnAfterExportAnalyzer;
End Class ExpressRep_Events;

See also:

IEaxAnalyzerUserEvents