Oracle™ Business Intelligence Beans Java API Reference
Release 10
g (9.0.4)
Part number B12159_01


oracle.dss.util
Class QDR

java.lang.Object
  |
  +--oracle.dss.util.QDR
All Implemented Interfaces:
java.lang.Cloneable, java.io.Serializable
Direct Known Subclasses:
OlapQDR, QDRoverride

public class QDR
extends java.lang.Object
implements java.lang.Cloneable, java.io.Serializable

Qualified data reference. A qualified data reference is a reference to a subset of the values in a data source. For example, a QDR might refer to a Sales measure, but only to those values for the month of May. In another example, a QDR might refer to a Units measure, but only to the single value that represents the units of TVs sold by catalog in May in Dublin.

You can also create a QDR that refers only to a dimension. For example, you might want a reference only to the Month dimension. In this case, the QDR refers to all of the members in the Month dimension.

A QDR is structured as a set of dimension-member pairs:

See Also:
QDRMember, Serialized Form

Constructor Summary
QDR()
          Constructor for an empty QDR that does not specify the Measure dimension.
QDR(QDR qdr)
          Constructor for a copy of an existing QDR.
QDR(java.lang.String measureDim)
          Constructor for an empty QDR that specifies the Measure dimension.
QDR(java.lang.String measureDim, java.lang.String dimMemberPairs)
          Constructor that specifies members for more than one dimension, by specifying a String for the member-dimension pairs.
QDR(java.lang.String measureDim, java.lang.String dim, QDRMember member)
          Constructor that specifies a member for one dimension, by specifying the dimension String and the member object.
QDR(java.lang.String measureDim, java.lang.String dim, java.lang.String member)
          Constructor that specifies a member for one dimension, by specifying the dimension String and the member object.

 

Method Summary
 void addDimMemberPair(java.lang.String dim, QDRMember member)
          Adds a dimension-member pair to this QDR.
 void addDimMemberPair(java.lang.String dimension, java.lang.String member)
          Adds a dimension-member pair to this QDR.
 java.lang.Object clone()
          Copies this QDR.
 boolean equals(java.lang.Object obj)
          Specifies whether this QDR is equivalent to the specified object.
 boolean equals(QDR q2)
          Specifies whether this QDR is equivalent to the specified QDR.
 java.util.Enumeration getDimensions()
          Retrieves the enumeration of the dimensions in this QDR.
 QDRMember getDimMember(java.lang.String dim)
          Retrieves the member to which a dimension is limited.
 java.lang.String getDimMemberPairs()
          Retrieves the dimension-member pairs of this QDR, when the QDRMembers are of type FIXED.
 java.lang.String getMeasureDim()
          Retrieves the name of the Measure dimension.
 QDRMember getTarget()
          Gets the target QDRMember
 boolean isDimensionOnlyQDR()
          Indicates whether this QDR is a dimension-only QDR.
 boolean isProperSubsetOf(QDR q2)
          Specifies whether this QDR is a proper subset of the specified QDR.
 boolean isProperSupersetOf(QDR q2)
          Specifies whether this QDR is a proper superset of the specified QDR.
 boolean isSubsetOf(QDR q2)
          Specifies whether this QDR is a subset of the specified QDR.
 boolean isSupersetOf(QDR q2)
          Specifies whether this QDR is a superset of the specified QDR.
 void removeDimMemberPair(java.lang.String dim)
          Removes a dimension-member pair from this QDR.
 void setDimMemberPairs(java.lang.String dimMemberPairs)
          Specifies a series of dimension-member pairs, where the members are of type FIXED.
 void setTarget(QDRMember target)
          Sets the target QDRMember
 int size()
          Retrieves the number of dimension-member pairs in this QDR.
 java.lang.String toString()
          Generates a String representation of this QDR.

 

Methods inherited from class java.lang.Object
getClass, hashCode, notify, notifyAll, wait, wait, wait

 

Constructor Detail

QDR

public QDR()
Constructor for an empty QDR that does not specify the Measure dimension. When you use this constructor, the Measure dimension for this QDR is null. This QDR will not be associated with a particular Measure. The getMeasureDim method will return null.

QDR

public QDR(QDR qdr)
Constructor for a copy of an existing QDR. When you use this constructor, this QDR uses the same Measure dimension as the specified QDR. This constructor clones the dimensions and the members from the specified QDR.
Parameters:
qdr - The QDR to copy.

QDR

public QDR(java.lang.String measureDim)
Constructor for an empty QDR that specifies the Measure dimension.
Parameters:
measureDim - The name of the Measure dimension.

QDR

public QDR(java.lang.String measureDim,
           java.lang.String dim,
           java.lang.String member)
Constructor that specifies a member for one dimension, by specifying the dimension String and the member object. This constructor specifies the Measure dimension and also adds one dimension-member pair.
Parameters:
measureDim - The name of Measure dimension.
dim - The name of the dimension that you are limiting, such as "Geography".
member - The member to which you are limiting the dimension. You pass a String that identifies the member to which you are limiting the dimension, such as "Paris". This constructor creates a QDRMember object from the dim and member parameters.

QDR

public QDR(java.lang.String measureDim,
           java.lang.String dim,
QDRMember member)
Constructor that specifies a member for one dimension, by specifying the dimension String and the member object. This constructor specifies the Measure dimension and also adds one dimension-member pair.
Parameters:
measureDim - The name of Measure dimension.
dim - The name of the dimension that you are limiting, such as "Geography".
member - The member to which you are limiting the dimension.

QDR

public QDR(java.lang.String measureDim,
           java.lang.String dimMemberPairs)
Constructor that specifies members for more than one dimension, by specifying a String for the member-dimension pairs. This constructor specifies the Measure dimension and also adds the dimension-member pairs specified in the dimMemberPairs parameter.

The format of the string is: "Dimension:Member;Dimension:Member". You can specify several dimension-member pairs.

You cannot use this constructor if any of the members need to have a type other than FIXED.

Parameters:
measureDim - The name of the Measure dimension.
dimMemberPairs - The formatted String that specifies the dimensions to limit and the members to limit them to. Use colons (:) to separate a dimension and a member. Use semicolons (;) to separate dimension-member pairs.
See Also:
QDRMember.FIXED
Method Detail

getMeasureDim

public java.lang.String getMeasureDim()
Retrieves the name of the Measure dimension. If no Measure dimension is specified for this QDR, then this method returns null.
Returns:
The name of the Measure dimension.

addDimMemberPair

public void addDimMemberPair(java.lang.String dimension,
                             java.lang.String member)
Adds a dimension-member pair to this QDR. This method creates a new QDRMember object and adds the QDRMember to this QDR.
Parameters:
dimension - The name of the dimension that you are limiting, such as "Geography".
member - The name of the member to which you want to limit dimension. When you specify a member, then the resulting QDRMember has type FIXED. If you pass null, then the resulting QDRMember has type VARIES.
See Also:
addDimMemberPair(String, QDRMember), QDRMember, QDRMember.FIXED, QDRMember.VARIES

addDimMemberPair

public void addDimMemberPair(java.lang.String dim,
QDRMember member)
Adds a dimension-member pair to this QDR. Adding a dimension-member pair to a QDR makes the QDR more restrictive. For example, if a QDR has only one dimension-member pair, such as one which limits Month to May, then the QDR refers to all the data in a data source where Month is May. If you add a second dimension-member pair, such one that limits Product to Shoes, then the QDR refers only to data where Month is May and Product is Shoes.

If dimension is already limited in this QDR, then the limitation changes to the specified member. For example, if a QDR limits Month to May, and you specify "Month" and a QDRMember that represents June, then Month will be limited to June.

If dimension is null, then the dimension-member pair is ignored, and this QDR is exactly as it was before the method is executed.

If this QDR refers to all of the members of a single dimension (that is, is a dimension-only QDR), and you pass a QDRMember that has any type other than VARIES, then this QDR loses its dimension-only nature, and it limits the specified dimension to the specified member.

Parameters:
dim - The name of the dimension that you are limiting, such as "Geography".
member - The member to which you are limiting the dimension. If you pass null, then this method uses a QDRMember of type VARIES for the member.

getDimMember

public QDRMember getDimMember(java.lang.String dim)
Retrieves the member to which a dimension is limited. For example, if the QDR includes the dimension-member pair "Month:May" and you call this method, passing "Month" in the dim parameter, then this method returns "May".
Parameters:
dim - The dimension whose member you want.
Returns:
The member to which dim is limited. Returns null if dim is null or if dim does not have a QDRMember.

isDimensionOnlyQDR

public boolean isDimensionOnlyQDR()
Indicates whether this QDR is a dimension-only QDR. A dimension-only QDR refers only to all of the members of one dimension. For example, this method returns true if this QDR refers only to the Product dimension.

Such a QDR has one dimension-member pair, and the member of that pair has type VARIES.

Returns:
trueif this is a dimension-only QDR, false if this QDR limits one or more dimensions to a single member.
See Also:
QDRMember.VARIES

removeDimMemberPair

public void removeDimMemberPair(java.lang.String dim)
Removes a dimension-member pair from this QDR.
Parameters:
dim - The dimension to remove. If dim does not exist, then this method has no effect. If dim is the dimension in the dimension-only QDR, then the dimension is removed, and this QDR becomes empty.

getDimensions

public java.util.Enumeration getDimensions()
Retrieves the enumeration of the dimensions in this QDR.
Returns:
The enumeration of the dimensions in this QDR.

size

public int size()
Retrieves the number of dimension-member pairs in this QDR. Returns 1 if this is a dimension-only QDR.
Returns:
The number of dimension-member pairs in this QDR.

setDimMemberPairs

public void setDimMemberPairs(java.lang.String dimMemberPairs)
Specifies a series of dimension-member pairs, where the members are of type FIXED. This method takes a formatted String and creates dimension-member pairs, where the members are single members, such as "PARIS" or "MAY2000". Use colons (:) to separate a dimension and a member. Use semicolons (;) to separate one dimension-member pair from the next dimension-member pair. For example, to limit three dimensions, the format of the String is:

Dimension:Member;Dimension:Member;Dimension:Member

Note that no dimension or member names can contain colons or semicolons. All members must be specified in the String, not as objects.

Parameters:
dimMemberPairs - The formatted String that specifies the dimensions to limit and the single members to limit them to. If a dimension-member pair in dimMemberPairs is malformed, then this method ignores that dimension-member pair and begins parsing at the next semicolon.
See Also:
QDRMember, QDRMember.FIXED

getDimMemberPairs

public java.lang.String getDimMemberPairs()
Retrieves the dimension-member pairs of this QDR, when the QDRMembers are of type FIXED. This method returns a String that specifies all of the dimension-member pairs in the QDR. You can use this method only if all of the members in this QDR are of type FIXED or if this is a dimension-only QDR. If this is a dimension-only QDR, then this method returns only the dimension name.

Semicolons separate one dimension-member pair from another, and colons separate the dimension from the member.

For example, if the QDR refers to Units of TVs sold in Dublin in May by catalog, the String will look something like this:

"MEASURE_DIM:UNITS;PRODUCT:TVS;GEOGRAPHY:DUBLIN;MONTH:MAY;CHANNEL:CATALOG"

The String that this method returns is suitable to pass to the setDimMemberPairs method.

Returns:
The string of dimension-member pairs in this QDR. If this is a dimension-only QDR, then this method returns the dimension name.
See Also:
setDimMemberPairs(java.lang.String), addDimMemberPair(String, String)

setTarget

public void setTarget(QDRMember target)
Sets the target QDRMember
Parameters:
target - target to set

getTarget

public QDRMember getTarget()
Gets the target QDRMember
Returns:
target member

equals

public boolean equals(QDR q2)
Specifies whether this QDR is equivalent to the specified QDR. Two QDR objects are equal if they both have the same dimension-member pairs. The dimension-member pairs do not have to be in the same order.

Dimensions that have varied members are ignored in this comparison, unless both this QDR and q2 are dimension-only QDRs.

Parameters:
q2 - The QDR to which you want to compare this QDR.
Returns:
true if all the dimension-member pairs in this QDR are the same as the dimension member pairs in the specified QDR and vice versa, false if any dimension-member pairs differ or if the specified QDR is null.
See Also:
QDRMember.VARIES

equals

public boolean equals(java.lang.Object obj)
Specifies whether this QDR is equivalent to the specified object. Two QDR objects are equal if they both have the same dimension-member pairs. The dimension-member pairs do not have to be in the same order.

Dimensions that have varied members are ignored in this comparison, unless both this QDR and q2 are dimension-only QDRs.

Overrides:
equals in class java.lang.Object
Parameters:
q2 - The QDR to which you want to compare this QDR.
Returns:
true if all the dimension-member pairs in this QDR are the same as the dimension member pairs in the specified QDR and vice versa, false if any dimension-member pairs differ or if the specified QDR is null. Also returns false if obj is not a QDR.
See Also:
QDRMember.VARIES

isProperSupersetOf

public boolean isProperSupersetOf(QDR q2)
Specifies whether this QDR is a proper superset of the specified QDR. A QDR is a proper superset of another QDR when it refers to the all of the values of the other QDR and to more values. A proper superset limits fewer dimensions than the QDR of which it is a superset.

For example, say you have the following QDR objects:

QdrTwo is a proper superset of QdrOne, because it refers to all of the data values that QdrOne refers to, and it refers to more values. QdrOne refers only to Shoes, but QdrTwo refers to other products as well.

QdrThree is a proper superset of QdrOne, because it is equivalent to QdrTwo. Note that the order of the dimension-member pairs does not matter.

QdrFour is not a proper superset of QdrOne, because it refers to June, while QdrOne refers to May.

The type of each member in the comparison is also important. Members with type FIXED are more restrictive than members of type LIST, and members of type LIST are more restrictive than members of type VARIES. The following example illustrates the effect of the member type. Suppose you have the following members in two QDR objects:

In this example, QdrTwo is a proper superset of QdrThree, and QdrOne is a proper superset of QdrTwo.

If two QDR objects are equivalent, then each is a superset of the other, but neither QDR is a proper superset of the other.

Parameters:
q2 - The QDR to which you want to compare this QDR.
Returns:
true if this QDR refers to some, but not all, of the data that q2 refers to, false if this QDR refers to different data, exactly the same data, or more data.
See Also:
isSupersetOf(oracle.dss.util.QDR), QDRMember.FIXED, QDRMember.VARIES, QDRMember.LIST, QDRMember.getType()

isProperSubsetOf

public boolean isProperSubsetOf(QDR q2)
Specifies whether this QDR is a proper subset of the specified QDR. A QDR is a proper subset of another QDR when it refers to the some, but not all, of the values of the other QDR. A proper subset limits more dimensions than the QDR of which it is a subset.

For example, say you have the following QDR objects:

QdrTwo is a proper subset of QdrOne, because it refers to a subset of the data values that QdrOne refers to. QdrOne refers to all products and all channels, but QdrTwo refers only to socks sold by direct channel. Both QDR objects refer to the Sales measure and to the month of May. Note that the order of the dimension-member pairs does not matter.

The type of each member in the comparison is also important. Members with type VARIES are less restrictive than members of type LIST, and members of type LIST are less restrictive than members of type FIXED. The following example illustrates the effect of the member type. Suppose you have the following members in two QDR objects:

In this example, QdrTwo is a proper subset of QdrOne, and QdrThree is a proper subset of QdrTwo.

If two QDR objects are equivalent, then each is a subset of the other, but neither QDR is a proper subset of the other.

Parameters:
q2 - The QDR to which you want to compare this QDR.
Returns:
true if q2 refers to some, but not all, of the data that this QDR refers to, false if q2 refers to different data, exactly the same data, or more data.
See Also:
isSubsetOf(oracle.dss.util.QDR), QDRMember.FIXED, QDRMember.VARIES, QDRMember.LIST, QDRMember.getType()

isSubsetOf

public boolean isSubsetOf(QDR q2)
Specifies whether this QDR is a subset of the specified QDR. A subset differs from a proper subset in that a subset can be equivalent to the other QDR of which it is a subset.

For example, say you have the following QDR objects:

QdrTwo, QdrThree, and QdrFour are all subsets of QdrOne. Note that the order of dimension-member pairs does not matter.

The type of each member in the comparison is also important. Members with type VARIES are less restrictive than members of type LIST, and members of type LIST are less restrictive than members of type FIXED. The following example illustrates the effect of the member type. Suppose you have the following members in two QDR objects:

In this example, QdrTwo is a proper subset of QdrOne, and QdrThree is a proper subset of QdrTwo.

Parameters:
q2 - The QDR to which you want to compare this QDR.
Returns:
true if q2 refers to some or all of the data that this QDR refers to, false if q2 refers to different data, or to more data, than this QDR refers to.
See Also:
isProperSubsetOf(oracle.dss.util.QDR), QDRMember.FIXED, QDRMember.VARIES, QDRMember.LIST, QDRMember.getType()

isSupersetOf

public boolean isSupersetOf(QDR q2)
Specifies whether this QDR is a superset of the specified QDR. A superset differs from a proper superset in that a superset can be equivalent to the QDR of which it is a superset.

For example, say you have the following QDR objects:

QdrTwo, QdrThree, and QdrFour are all supersets of QdrOne. Note that the order of the dimension-member pairs does not matter.

The type of each member in the comparison is also important. Members with type FIXED are more restrictive than members of type LIST, and members of type LIST are more restrictive than members of type VARIES. The following example illustrates the effect of the member type. Suppose you have the following members in two QDR objects:

In this example, QdrTwo is a proper superset of QdrThree, and QdrOne is a proper superset of QdrTwo.

If two QDR objects are equivalent, then each is a superset of the other, but neither QDR is a proper superset of the other.

Parameters:
q2 - The QDR to which you want to compare this QDR.
Returns:
true if this QDR refers to some or all of the data that q2 refers to, false if this QDR refers to different data, or to more data, than q2 refers to.
See Also:
isProperSupersetOf(oracle.dss.util.QDR), QDRMember.FIXED, QDRMember.VARIES, QDRMember.LIST, QDRMember.getType()

clone

public java.lang.Object clone()
Copies this QDR.
Returns:
A QDR that is equivalent to this QDR.
See Also:
equals(oracle.dss.util.QDR)

toString

public java.lang.String toString()
Generates a String representation of this QDR. The String that this method returns is suitable to pass to the OLAP Services engine. For example, in a QDR that limits only the Month dimension to May, in the Sales measure, this method would return the following String: "SALES(MONTH 'MAY')"
Overrides:
toString in class java.lang.Object

Oracle™ Business Intelligence Beans Java API Reference
Release 10
g (9.0.4)
Part number B12159_01


Copyright © 2003, Oracle. All Rights Reserved.