SAP BI Java SDK

com.sap.ip.bi.sdk.dac.olap.query.main
Interface IBIQuery

All Superinterfaces:
IBIIdentifiable, javax.jmi.reflect.RefBaseObject, javax.jmi.reflect.RefFeatured, javax.jmi.reflect.RefObject

public interface IBIQuery
extends IBIIdentifiable

Represents the overall OLAP query. It aggregates axes along which dimensions are projected, and a slicer which contains members by which the resulting data is filtered. A typical query aggregates three axes: one columns and one rows axis which define the visible portion of the result, and one slicer or filter axis.


Method Summary
 IBIDataSet execute()
           Issues a query against a specific Cube.
 List getAxis()
           The collection of axes associated with this query.
 IBICommandProcessor getCommandProcessor()
           Returns an interface to a CommandProcessor, which simplifies navigation of a query.
 Cube getCube()
           Represents the Cube object associated with this query.
 Object getNativeRepresentation()
           Returns the native representation of the query object, independent of the source system.
 List getSapVariable()
           The list of slots of type Slot which represent the SAP variables defined in the query.
 IBIAxis getSlicer()
           The slicer axis associated with this query, if any, otherwise null.
 boolean isOptimizing()
           Causes the query to optimize its definition after execution if optimizing is set to true.
 void setOptimizing(boolean newValue)
           Causes the query to optimize its definition after execution if optimizing is set to true.
 void setSlicer(IBIAxis newValue)
           The slicer axis associated with this query, if any, otherwise null.
 
Methods inherited from interface com.sap.ip.bi.sdk.dac.olap.query.main.IBIIdentifiable
getDescription, getId, getLabel, setDescription, setId, setLabel
 
Methods inherited from interface javax.jmi.reflect.RefObject
refClass, refDelete, refImmediateComposite, refIsInstanceOf, refOutermostComposite
 
Methods inherited from interface javax.jmi.reflect.RefFeatured
refGetValue, refGetValue, refInvokeOperation, refInvokeOperation, refSetValue, refSetValue
 
Methods inherited from interface javax.jmi.reflect.RefBaseObject
equals, hashCode, refImmediatePackage, refMetaObject, refMofId, refOutermostPackage, refVerifyConstraints
 

Method Detail

isOptimizing

public boolean isOptimizing()
                     throws javax.jmi.reflect.JmiException

Causes the query to optimize its definition after execution if optimizing is set to true. When a query is executed and the returned result of type IBIDataSet is generated, the system tries to simplify the query definition in order to keep the query as simple as possible. For non-slicer axes all set expressions are cleared and according to the returned IBIDataSet tuples are created and enumerated on the axis.


setOptimizing

public void setOptimizing(boolean newValue)
                   throws javax.jmi.reflect.JmiException

Causes the query to optimize its definition after execution if optimizing is set to true. When a query is executed and the returned result of type IBIDataSet is generated, the system tries to simplify the query definition in order to keep the query as simple as possible. For non-slicer axes all set expressions are cleared and according to the returned IBIDataSet tuples are created and enumerated on the axis.


getCube

public Cube getCube()
             throws javax.jmi.reflect.JmiException

Represents the Cube object associated with this query. OLAP queries are based upon cubes. A query can also be regarded as a view of the data of the associated cube. In the current version of the BI Java SDK, the OLAP Query Model supports queries upon one cube only.


getSlicer

public IBIAxis getSlicer()
                  throws javax.jmi.reflect.JmiException

The slicer axis associated with this query, if any, otherwise null.


setSlicer

public void setSlicer(IBIAxis newValue)
               throws javax.jmi.reflect.JmiException

The slicer axis associated with this query, if any, otherwise null.


getAxis

public List getAxis()
             throws javax.jmi.reflect.JmiException

The collection of axes associated with this query. Each axis contains selection criteria for members of the dimensions that are projected along the axis.


getSapVariable

public List getSapVariable()
                    throws javax.jmi.reflect.JmiException

The list of slots of type Slot which represent the SAP variables defined in the query. Each slot associates an IBISapVariable (Feature) with an IBISapVariableValue (Instance). In the case of a complex selection, the Slot associates the variable with an Object, which in turn has an association to a collection of IBISapVariableValues.


getNativeRepresentation

public Object getNativeRepresentation()
                               throws javax.jmi.reflect.JmiException

Returns the native representation of the query object, independent of the source system. In most cases, this is also the object which is created to talk to the server upon which the query is executed.

In case of an ODBO or XMLA connection, this method returns an MDX string.


execute

public IBIDataSet execute()
                   throws javax.jmi.reflect.JmiException

Issues a query against a specific Cube. The query consists of the currently-selected dimensions and members specified by the TupleSet and MemberSet objects of the axes. It returns an IBIDataset interface to access the result.


getCommandProcessor

public IBICommandProcessor getCommandProcessor()
                                        throws javax.jmi.reflect.JmiException

Returns an interface to a CommandProcessor, which simplifies navigation of a query. There are basically two ways of manipulating a query:

  1. Direct changes to the query object tree. The query object and the objects aggregated by it form a complex object tree that represents a current status of a multidimensional query. A client application may use the generated JMI interfaces. While this approach gives the client application the most flexibility it implies more complexity and burden on the client to properly arrange objects in a valid way.
  2. Using the Command Processor. The SDK's OLAP Command Processor contains various methods that can be understood as macros which encapsulate the typical operations a client application needs to perform upon a query in response to user interactions. The approach has the advantage of much less complexity for the client, however it constraints the application to the set of operations that are included in the command processor API.

SAP BI Java SDK

Copyright © 2004-2006 by SAP AG. All Rights Reserved.
SAP, R/3, mySAP, mySAP.com, xApps, xApp, SAP NetWeaver, and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and in several other countries all over the world. All other product and service names mentioned are the trademarks of their respective companies. Data contained in this document serves informational purposes only. National product specifications may vary.
These materials are subject to change without notice. These materials are provided by SAP AG and its affiliated companies (SAP Group) for informational purposes only, without representation or warranty of any kind, and SAP Group shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP Group products and services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty.