|
Query |
|
| |||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
com.sas.iquery.metadata.business.step.olap.BusinessQueryRankFilter
public class BusinessQueryRankFilter
A step that ranks a business query based on a ranking criteria. The type of ranking that can be applied: TopCount, TopPercent, TopSum, BottomCount, BottomPercent, and BottomSum.
TopCount/BottomCount- select the top/bottom N tuples (based on the value in the byRankQualifierNames
list) of an axis or the crossing of the dimensions
(categories) selected for an axis. The TopCount
return elements order from largest to smallest in terms of the measure used (if specified). The BottomCount returns
them ordered from smallest to largest.
TopPercent/BottomPercent - selects the top/bottom tuples (based on the value in the byRankQualifierNames
list)of an axis corresponding to the top/bottom N% of all tuples in that axis.
TopSum/BottomSum - selects the top/bottom tuples (based on the value in the byRankQualifierNames
list)of an axis whose sum meets a N threshold.
The numeric constant gives the number of tuples to take and it returns up to that many from the axis, in order from the largest to the smallest.
The optional value applied in the byRankQualifierNames
list is typically an expression of cell coordinates that
returns a number or a measure such
as SALES_SUM.
If a numeric expression is specified, the function sorts, in descending order, the tuples for the axis specified according to the value specified by the numeric expression, as evaluated over the specified set. After sorting the set, the function then returns the specified number of tuples (as applied by the numeric constant) with the highest value.
If no value is applied in the byRankQualifierNames
, then the value used is
the current member along the Measure dimension during an iteration.
Let us look at a simple example of how to use TopCount:
A user might request to see the top 10 products based on the value of SALES_SUM. In this case, Products is actually the data item that is being ranked. The SALES_SUM is a qualifier that helps to define the ranking operation.
If SALES_SUM specified, in this case the default MEASURE applied to the cube (ACTUAL_SUM) would be used.
StepFilterInterface
,
BaseFilter
Field Summary | |
---|---|
static java.lang.String |
BOTTOM
Defines a rank order where ranking begins at the bottom of the cube going to the top. |
static java.lang.String |
COUNT
Defines a "Count" rank type where the numbers directly references the number of items to be returned. |
static java.lang.String |
EVENT_BY_RANK_NAMES_CHANGED
Indication that rank names have been changed. |
static java.lang.String |
EVENT_BY_RANK_ORDER_CHANGED
Indication that rank order have been changed. |
static java.lang.String |
EVENT_BY_RANK_TYPE_CHANGED
Indication that rank type have been changed. |
static java.lang.String |
EVENT_VALUE_CHANGED
Indication that rank value have been changed. |
static java.lang.String |
PERCENT
Defines a "Percent" rank type where the value defines the items that fall within that percentage. |
static java.lang.String |
SUM
Define a "Sum" rank type where the value defines the number which the items must equal when summed together. |
static java.lang.String |
TOP
Defines a rank order where ranking begins at the top of the cube going to the bottom. |
Fields inherited from class com.sas.iquery.metadata.business.step.olap.BaseFilter |
---|
EVENT_ACTION_TYPE_CHANGED, EVENT_LOCALIZABLE_LABELS_CHANGED |
Fields inherited from interface com.sas.iquery.metadata.business.step.StepFilterInterface |
---|
APPEND_ACTION_TYPE, DIFFERENCE_ACTION_TYPE, INITIAL_ACTION_TYPE, INSERT_ACTION_TYPE, INTERSECT_ACTION_TYPE, PREPEND_ACTION_TYPE, SPECIAL_ACTION_TYPE, UNION_ACTION_TYPE |
Fields inherited from interface com.sas.iquery.metadata.business.ModelItem |
---|
EVENT_OBJECT_PROPERTY_CHANGED |
Fields inherited from interface com.sas.iquery.metadata.business.Base |
---|
EVENT_OBJECT_DEFINITION_CHANGED |
Constructor Summary | |
---|---|
BusinessQueryRankFilter()
This constructor is used only for persistence. |
|
BusinessQueryRankFilter(java.lang.String rankOrder,
int value)
This constructor build a MDX expression that returns a specified number of items from the topmost or bottom members of a specified set (TopCount or BottomCount). |
|
BusinessQueryRankFilter(java.lang.String rankOrder,
int value,
boolean includeTies)
This constructor build a MDX expression that returns a specified number of items from the topmost or bottom members of a specified set (TopCount or BottomCount). |
|
BusinessQueryRankFilter(java.lang.String rankOrder,
int value,
java.util.List byRankQualifierNames,
java.lang.String rankType)
This constructor determines the ranking (whether from top to bottom and whether as a percent, sum, or count) of the members in a dimension based on the value of a measure(s). |
|
BusinessQueryRankFilter(java.lang.String rankOrder,
int value,
java.util.List byRankQualifierNames,
java.lang.String rankType,
boolean includeTies)
This constructor determines the ranking (whether from top to bottom and whether as a percent, sum, or count) of the members in a dimension based on the value of a measure(s). |
Method Summary | |
---|---|
java.lang.String |
getDisplayedText(com.sas.storage.olap.MetadataInterface metadata,
Role role,
boolean applyPromptValues,
java.util.Locale locale)
Return the displayed text for a step rather than a OLAP type of text. |
java.util.Locale |
getMemberLocale()
Get the locale that is associated with the member names for this step. |
java.lang.String |
getRankOrder()
This method returns the ranking criteria to be used for ranking (either TOP or BOTTOM). |
java.util.List |
getRankQualifiers()
This method returns the string expression of the measures to be used for ranking or a dataItem where dataitem is a measure. |
java.lang.String |
getRankType()
This method returns the order to be used for ranking. |
int |
getValue()
This method returns the value to be used when ranking. |
boolean |
isIncludeTies()
This method returns whether includeTies is true or false |
void |
setIncludeTies(boolean includeTies)
This method defines include ties for TopCount or BottomCount |
void |
setRankOrder(java.lang.String rankOrder)
This method defines the type of ranking criteria to use for ranking. |
void |
setRankQualifiers(java.util.List byRankQualifiers)
This method defines the names of the measures or dataitem where the dataitem is a measure that is to be use for ranking (If no byRankQualifierNames are applied for this class, [Measures].currentmember is applied as the qualifier.) |
void |
setRankQualifiers(java.util.List byRankQualifiers,
java.util.Locale locale)
This method defines the names of the measures or dataitem where the dataitem is a measure that is to be use for ranking (If no byRankQualifierNames are applied for this class, [Measures].currentmember is applied as the qualifier.) |
void |
setRankType(java.lang.String rankType)
This method defines the type to use for ranking (either COUNT, SUM, and PERCENT) |
void |
setValue(int value)
This method defines the value to use when ranking. |
Methods inherited from class com.sas.iquery.metadata.business.step.olap.BaseFilter |
---|
getActionType, getDisplayedText, getLevels, setActionType |
Methods inherited from interface com.sas.iquery.metadata.business.BusinessModelResourceReferencer |
---|
getResources |
Methods inherited from interface com.sas.iquery.metadata.PropertyChangeListenee |
---|
addListener, getListeners, removeListener |
Methods inherited from interface com.sas.iquery.metadata.business.UsabilityInterface |
---|
getReasonsUnusable, isUsableInQuery |
Field Detail |
---|
public static final java.lang.String EVENT_BY_RANK_NAMES_CHANGED
public static final java.lang.String EVENT_BY_RANK_ORDER_CHANGED
public static final java.lang.String EVENT_BY_RANK_TYPE_CHANGED
public static final java.lang.String EVENT_VALUE_CHANGED
public static final java.lang.String TOP
public static final java.lang.String BOTTOM
public static final java.lang.String COUNT
public static final java.lang.String PERCENT
public static final java.lang.String SUM
Constructor Detail |
---|
public BusinessQueryRankFilter(java.lang.String rankOrder, int value, java.util.List byRankQualifierNames, java.lang.String rankType)
rankOrder
- Order that ranking use or from starting location of ranking (either TOP or BOTTOM)value
- Ranking Value.byRankQualifierNames
- DataItem (that are measures) or String Expression that are used to determine rank (Null is accepted).
Example: [Measures].[Actual_Sum] where Actual_Sum is a measure or [1993] where 1993 is a member of dimension.
rankType
- Type of ranking that will be used (either COUNT, SUM, and PERCENT)public BusinessQueryRankFilter()
public BusinessQueryRankFilter(java.lang.String rankOrder, int value, java.util.List byRankQualifierNames, java.lang.String rankType, boolean includeTies)
rankOrder
- Order that ranking use or from starting location of ranking (either TOP or BOTTOM)value
- Ranking Value.byRankQualifierNames
- DataItem (that are measures) or String Expression that are used to determine rank (Null is accepted).rankType
- Type of ranking that will be used (either COUNT, SUM, and PERCENT)includeTies
- Define that results will include duplicates - Note: Restricted to TopCount or BottomCount at this time.
If it is set to TRUE, then any member that has
the same value as the last member will also be returned. The default value is FALSE.public BusinessQueryRankFilter(java.lang.String rankOrder, int value)
rankOrder
- Order that ranking use or from starting location of ranking (either TOP or BOTTOM)value
- Ranking Value.public BusinessQueryRankFilter(java.lang.String rankOrder, int value, boolean includeTies)
rankOrder
- Order that ranking use or from starting location of ranking (either TOP or BOTTOM)value
- Ranking Value.includeTies
- Define that results will include duplicates - Note: Restricted to TopCount or BottomCount at this time.
If it is set to TRUE, then any member that has
the same value as the last member will also be returned. The default value is FALSE.Method Detail |
---|
public boolean isIncludeTies()
public java.lang.String getDisplayedText(com.sas.storage.olap.MetadataInterface metadata, Role role, boolean applyPromptValues, java.util.Locale locale)
metadata
- dataItem
- show
- prompt values or prompt labels
public java.util.Locale getMemberLocale()
public void setRankQualifiers(java.util.List byRankQualifiers)
byRankQualifiers
- Name of measure or member that are used to determine rank (Null is accepted) or DataItem where dataitem is measure.
Example: [Measures].[Actual_Sum] where Actual_Sum is a measure or [1993] where 1993 is a member of dimension.
public void setRankQualifiers(java.util.List byRankQualifiers, java.util.Locale locale)
byRankQualifiers
- Name of measure or member that are used to determine rank (Null is accepted) or DataItem where dataitem is measure.
Example: [Measures].[Actual_Sum] where Actual_Sum is a measure or [1993] where 1993 is a member of dimension.
public java.util.List getRankQualifiers()
public void setRankOrder(java.lang.String rankOrder)
rankOrder
- The type of ranking criteria to be used for rankingpublic java.lang.String getRankOrder()
public void setIncludeTies(boolean includeTies)
includeTies
- Define that results will include duplicates - Note: Restricted to TopCount or BottomCount at this time.
If it is set to TRUE, then any member that has the same value as the last member will also be returned. The default value is FALSE.public void setRankType(@Nonnull java.lang.String rankType)
rankType
- the order to be used for ranking
java.lang.IllegalArgumentException
- if the rankType is nullpublic java.lang.String getRankType()
public void setValue(int value)
value
- The value to be used when rankingpublic int getValue()
|
Query |
|
| |||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |