|
Query |
|
| |||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
com.sas.iquery.metadata.expr.olap.MemberFilterExpression
public class MemberFilterExpression
This class does handle the basis of its modeling equivalently to the MemberFilter Step.
Example:
This is of the format {WhatToFilter} in ({Member Name 1}..{Member Name n})
.
In 9.2, "filter expression" conditions on cube dimensions will affect the rolled-up values. In effect, for the user it will be as if the cube was being created with only the members that are permitted in the MemberNames list. This functionality is defined in the server. The filter definition is applied to cube in one specific OLAP Isession before any MDX query has been applied. It is applied to the server by a generated DDL, not through the MDX. *
To insure consistency with other features (such as totaling, navigation, and selection). The filter expression will perform the following.
1) identify the appropriate descendents to navigate to (after the application of the filter). Descendents are not located for filter that use the "Not equal" operator. This places the filter into a exclusive condition rather than an inclusive condition.
Example EQ:
USA.NC.
USA.NC.CARY
USA.NC.CHAPEL HILL
USA.SC.SAVANNAH
Note: In this case, you want to only see, the above items and nothing more. We can not see SAVANNAH unless we have the parent of SC.
Example Not EQ:
USA.NC.
USA.NC.CARY
USA.NC.CHAPEL HILL
USA.SC.SAVANNAH
Note: In this case, you do not want to see the above items but everthing else. If you apply USA.NC, you will automatically not see CARY and CHAPEL HILL as well as DURHAM and RALIEGH. You will still see SC, but not SAVANNAH. So, you do not to add any parents.
2) identify the root level of the member selected in the filter.
EXAMPLE:
USA.NC
USA.SC
Root: STATE
3) identify when orphan child member occur in the member filter selection.
4) fix orphan child member that may have been selected (it will fill in the gaps between anscestor member and children).
Note: The above process will require a query to the server. This means a performance hit. However, for non-prompt selection, this performance hit will occur at design time, not run time. For prompt selection, there is no other alternative but to perform the query to server at run-time. We do not know the values until run-time.
DataItemMemberFilter
Field Summary | |
---|---|
static java.lang.String |
EVENT_MEMBER_NAMES_CHANGED
Indication that list of members names being used in filter has changed. |
Fields inherited from class com.sas.iquery.metadata.expr.olap.BaseFilterExpression |
---|
EVENT_WHAT_TO_COMPARE_CHANGED |
Fields inherited from class com.sas.iquery.metadata.expr.ConditionalExpression |
---|
EVENT_NEGATION_CHANGED |
Fields inherited from interface com.sas.iquery.metadata.business.Base |
---|
EVENT_OBJECT_DEFINITION_CHANGED |
Fields inherited from interface com.sas.iquery.metadata.business.ModelItem |
---|
EVENT_OBJECT_PROPERTY_CHANGED |
Constructor Summary | |
---|---|
MemberFilterExpression()
|
Method Summary | |
---|---|
boolean |
containsOrphans()
Indicate that orphaned members exist. |
java.lang.String |
getMemberLevelRoot()
Get the highest member level in the member that has been selected. |
java.util.List |
getMemberNames()
Gets the names of the members to use for filtering. |
void |
setMemberNames(java.util.List values)
Sets the names of the members to use for filtering. |
Methods inherited from class com.sas.iquery.metadata.expr.olap.BaseFilterExpression |
---|
getDisplayedText, getLevels, getWhatToCompare, setWhatToCompare |
Methods inherited from class com.sas.iquery.metadata.expr.ConditionalExpression |
---|
getExpressionType, isNegated, setIsNegated |
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_MEMBER_NAMES_CHANGED
Constructor Detail |
---|
public MemberFilterExpression()
Method Detail |
---|
public void setMemberNames(java.util.List values)
values
- The names of the members to be used for filteringpublic java.lang.String getMemberLevelRoot()
public boolean containsOrphans()
public java.util.List getMemberNames()
|
Query |
|
| |||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |