IEaxBulkSettings.FilesMapping

Fore Syntax

FilesMapping: IDictionary;

Fore.NET Syntax

FilesMapping: System.Collections.IDictionary;

Description

The FilesMapping property determines mapping of selection element keys and corresponding files.

Comments

This property is useful, for example, if it is necessary to determine which exported files corresponds to a selection on executing batch export.

Fore Example

Executing the example requires that a repository contains express report with the REPORT_MAPPING identifier. This report should use data sources containing one or several fixed dimensions general for all sheets and which are not metrics.

Add links to the Collections, Dimensions, Express, Metabase system assemblies.

Sub UserProc;
Var
    MB: IMetabase;
    eExp: IEaxAnalyzer;
    eExporter: IExAnalyzerExporter;
    eBulkSetting: IEaxBulkSettings;
    SelSet: IDimSelectionSet;
    filesDict: IDictionary;
    keys: ICollection;
    values: ICollection;
    keysArr, valuesArr: Array;
    vValue: Variant;
    stringToMemo: String;
    v: Variant;
Begin
    // Get current repository
    MB := MetabaseClass.Active;
    // Get report
    eExp := MB.ItemById("REPORT_MAPPING").Bind As IEaxAnalyzer;
    // Create object to export report
    eExporter := New ExAnalyzerExporter.Create;
    // Determine exported report       
    eExporter.ExAnalyzer := eExp;
    // Determine selection of fixed report dimensions
    SelSet := eExp.BulkSelectionSet;
    SelSet.Item(0).SelectElement(1False);
    SelSet.Item(0).SelectElement(2False);
    SelSet.Item(0).SelectElement(3False);
    // Determine parameters of batch export execution
    eBulkSetting := eExporter.BulkSettings;
    eBulkSetting.Enabled := True;
    eBulkSetting.SelectionSet := SelSet;
    // Export    
    eExporter.ExportToFile("c:\" + eExp.Name + ".XLS""XLS");
    // Get mapping of exported files and selection element key    
    filesDict := eBulkSetting.FilesMapping;
    // Get selection key array
    keys := filesDict.Keys;
    keysArr := New Variant[keys.Count];
    keys.CopyTo(keysArr, 0);
    // Get array of exported file names
    values := filesDict.Values;
    valuesArr := New Variant[values.Count];
    values.CopyTo(valuesArr, 0);
    // Display mapping of selection element keys and
    // corresponding exported files
    For Each v In keysArr Do
        vValue := filesDict.Item(v);
        stringToMemo := "Key: " + v + " ---> Value: " + vValue;
        Debug.WriteLine(stringToMemo);
    End For;
End Sub UserProc;

After executing the example the console window displays mapping of selection element keys and corresponding exported files.

Fore.NET Example

The requirements and result of the Fore.NET Example execution match with those in the Fore Example. Instead of the Fore components use their Fore.NET analogs.
Imports Prognoz.Platform.Interop.Dimensions;
Imports Prognoz.Platform.Interop.Express;
Imports System.Collections;

Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    eExp: EaxAnalyzer;
    eExporter: IExAnalyzerExporter;
    eBulkSetting: IEaxBulkSettings;
    SelSet: IDimSelectionSet;
    filesDict: IDictionary;
    keys: ICollection;
    values: ICollection;
    keysArr, valuesArr: Array;
    vValue: Object;
    stringToMemo: String;
    v: Object;
Begin
    // Get current repository
    MB := Params.Metabase;
    // Get report
    eExp := MB.ItemById["REPORT_MAPPING"].Bind() As EaxAnalyzer;
    // Create object to export report
    eExporter := New ExAnalyzerExporter.Create();
    // Determine exported report       
    eExporter.ExAnalyzer := eExp;
    // Determine selection of fixed report dimensions
    SelSet := eExp.BulkSelectionSet;
    SelSet.Item[0].SelectElement(1False);
    SelSet.Item[0].SelectElement(2False);
    SelSet.Item[0].SelectElement(3False);
    // Determine parameters of batch export execution
    eBulkSetting := eExporter.BulkSettings;
    eBulkSetting.Enabled := True;
    eBulkSetting.SelectionSet := SelSet;
    // Execute export
    eExporter.ExportToFile("c:\" + eExp.Name + ".XLS""XLS");
    // Get mapping of exported files and selection element keys
    filesDict := eBulkSetting.FilesMapping;
    // Get selection key array
    keys := filesDict.Keys;
    keysArr := New Object[keys.Count];
    keys.CopyTo(keysArr, 0);
    // Get array of exported file names
    values := filesDict.Values;
    valuesArr := New Object[values.Count];
    values.CopyTo(valuesArr, 0);
    // Display mapping of selection element keys and
    // corresponding exported files
    For Each v In keysArr Do
        vValue := filesDict.Item[v];
        stringToMemo := "Key: " + v + " ---> Value: " + vValue;
        System.Diagnostics.Debug.WriteLine(stringToMemo);
    End For;
End Sub;

See also:

IEaxBulkSettings