Combined Queries

The BI Semantic Layer RESTful Web Service SDK allows a client tool to build an XML query specification that contains multiple queries combined using operators. Only one query result is returned.

The following operators are supported:

Operator XML Element
UNION union
MINUS minus
INTERSECT intersect

See the SAP BusinessObjects Web Intelligence User Guide for more information on these operators.

Example

The following snippet of a query specification shows two queries combined with the MINUS operator.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<query xmlns="http://www.sap.com/rws/sl/universe" id="5897899822041415615" dataSourceType="unx" 
    dataSourceId="5808">
    <querySpecification version="1.0">
        <queryOptions>
            ...
        </queryOptions>
        <minus>
            <queryData>
                <resultObjects>
                    <resultObject path="Customer|folder\Customer|dimension" id="_IBo8OrIhEeCk0Ylv-tlF2Q"/>
                    <resultObject path="Customer|folder\Geography|folder\Country|dimension"
                        id="_IBo8NrIhEeCk0Ylv-tlF2Q"/>
                    <resultObject path="Customer Satisfaction|folder\Satisfaction Index|measure"
                        id="_IBytE7IhEeCk0Ylv-tlF2Q"/>
                    <resultObject path="Customer Satisfaction|folder\Achievement rate|measure"
                        id="_-OwM8LOlEeCMD5vI8SKUZA"/>
                </resultObjects>
                <sortObjects>
                    <sortObject path="Customer Satisfaction|folder\Achievement rate|measure"
                        sortType="Ascending" id="_-OwM8LOlEeCMD5vI8SKUZA"/>
                </sortObjects>
                <filterPart>
                     <comparisonFilter path="Customer|folder\Geography|folder\Country|dimension" 
                         operator="InList" id="_IBo8NrIhEeCk0Ylv-tlF2Q">
                         <constantOperand>
                             <answerValue>France</answerValue>
                             <answerValue>Germany</answerValue>
                         </constantOperand>
                     </comparisonFilter>
                </filterPart>
            </queryData>
            <queryData>
                <resultObjects>
                    <resultObject path="Customer|folder\Customer|dimension" id="_IBo8OrIhEeCk0Ylv-tlF2Q"/>
                    <resultObject path="Customer|folder\Geography|folder\Country|dimension"
                        id="_IBo8NrIhEeCk0Ylv-tlF2Q"/>
                    <resultObject path="Customer Satisfaction|folder\Satisfaction Index|measure"
                        id="_IBytE7IhEeCk0Ylv-tlF2Q"/>
                    <resultObject path="Customer Satisfaction|folder\Achievement rate|measure"
                        id="_-OwM8LOlEeCMD5vI8SKUZA"/>
                </resultObjects>
                <filterPart>
                    <comparisonFilter operator="Between" path="Customer Satisfaction|folder\Achievement 
                        rate|measure" id="_-OwM8LOlEeCMD5vI8SKUZA">
                        <constantOperand>
                            <answerValue dataType="Numeric">0.85</answerValue>
                        </constantOperand>
                        <constantOperand>
                            <answerValue dataType="Numeric">1</answerValue>
                        </constantOperand>
                    </comparisonFilter>
                </filterPart>
            </queryData>
        </minus>
    </querySpecification>
</query>