InsightCubes

Using the getResultSet() API with SAP Analytics Designer

How to use the getResultSet() APi with SAP Analytics Designer

The getResultSet() API is used to return result sets. A result set consists of property-value pairs. The property is a dimension name. The value contains information about the member or measure. You can get an array of result sets with getDataSource().getResultSet().

We are using an example from our Ownership Interface Analytics Application where we need to display the entity members for a scope, we read them from a hidden table with appropriate selection using the getResultSet() API. Then using the same API we will populate the Ownership report by scope.

https://insightcubes.com/wp-content/uploads/2022/10/transision-Ownership-Manager-with-Audio-1.mp4

Create two Script Objects, the first is the getScopeChildEntities with a return Type ResultSet and set as an Array, create one argument as a string called scopeId.

The second is the populateOwnershipTableByScope with a return Type void and do not set as an Array, nor create an argument.

This code is added to the getScopeChildEntities Script Objects fx

var results =Table_HiddenWrite.getDataSource().getResultSet({  
    "@MeasureDimension":"AMOUNT", 
    "Account":"[Account].[parentId].&[P_GROUP]",
    "AUDIT_TRAIL":"[AUDIT_TRAIL].[H1].&[INPUT]", // fixed
    "FLOW":"[FLOW].[H1].&[F99]",                 // fixed
    "INTERCO":"[INTERCO].[H1].&[I_NONE]",        // fixed
    "CURRENCY":"LC",                             // fixed
    //"ENTITY":"[ENTITY].[H1].&[ALL_ENTITIES]",  // ommited to get all
    "SCOPE": selectedScopeId,
    "Date": SV_String_selectedDateID,
    "Version": selectedVersion
});
return results; 

This code is added to the populateOwnershipTableByScope Script Objects fx

var selection = ({
    "@MeasureDimension":"AMOUNT", 
    "AUDIT_TRAIL":"[AUDIT_TRAIL].[H1].&[INPUT]", // fixed
    "FLOW":"[FLOW].[H1].&[F99]",                 // fixed
    "INTERCO":"[INTERCO].[H1].&[I_NONE]",        // fixed
    "CURRENCY":"LC",                             // fixed
    "ENTITY": part_entity_id,
    "Date":  SV_String_selectedDateID,
    "Version": selectedVersion
});

console.log(selection);

var data = Table_HiddenWrite.getDataSource().getResultSet(selection);

Test the result by adding a button to the Analytics Application, hide the button on run time after the testing is concluded.

Exit mobile version