1) The following coding example sorts ascending by CAR.
/** *
* A simple method creates a sorted result set.
*
* @param list of data items in an information map.
* @param input data selection
* @return modified data selection
*
* @throws Exception
*/private com.sas.iquery.execution2.ResultSetInterface SortOLAPTableDisplay(java.util.List dsDataItems, com.sas.iquery.metadata.business.DataSelection ds) throws Exception
// Create connection and assign roles to data items.
java.util.Map results =null;
com.sas.iquery.dataretrieval.QueryConnector m_queryConnector = new com.sas.iquery.dataretrieval.QueryConnector();
for(int i = 0; i < dsDataItems.size(); i++)
{ com.sas.iquery.metadata.business.DataItem tdi = (com.sas.iquery.metadata.business.DataItem)dsDataItems.get(i);
String label = tdi.getLabel();
// Assign Column to Sales_sum measure, all other dataitem will be assigned a role of ROW
if ( label.equalsIgnoreCase("SALES_SUM") )
{ ds.addResultItem(tdi, com.sas.iquery.metadata.business.Role.COLUMN);
}
else
{ ds.addResultItem(tdi, com.sas.iquery.metadata.business.Role.ROW);
if (label.equalsIgnoreCase("CARS"))
{ tdi.setSortDirection(com.sas.iquery.metadata.business.DataItemActionType.SORT_HIERARCHICAL_ASCENDING);
}
}
}
// Perform query and get results.
java.util.List selections = new java.util.ArrayList();
selections.add( ds );
ds.setID("SortOLAPTable");
results = m_queryConnector.retrieveQueryResultMap( selections );
// Get Results interface to display table if desired.
com.sas.iquery.execution2.ResultSetInterface resultSet = (com.sas.iquery.execution2.ResultSetInterface)results.get( ds.getID() );
return resultSet;
}
2) The following coding example sorts ascending by the value of SALES_SUM.
/** *
* A simple method creates a sorted result set.
*
* @param list of data items in an information map.
* @param input data selection
* @return modified data selection
*
* @throws Exception
*/private com.sas.iquery.execution2.ResultSetInterface SortOLAPTableDisplay(java.util.List dsDataItems, com.sas.iquery.metadata.business.DataSelection ds) throws Exception
// Create connection and assign roles to data items.
java.util.Map results =null;
com.sas.iquery.dataretrieval.QueryConnector m_queryConnector = new com.sas.iquery.dataretrieval.QueryConnector();
java.util.List sortCriteria = new java.util.ArrayList();
for(int i = 0; i < dsDataItems.size(); i++)
{ com.sas.iquery.metadata.business.DataItem tdi = (com.sas.iquery.metadata.business.DataItem)dsDataItems.get(i);
String label = tdi.getLabel();
// Assign Column to Sales_sum measure, all other dataitem will be assigned a role of ROW
if ( label.equalsIgnoreCase("SALES_SUM") )
{ ds.addResultItem(tdi, com.sas.iquery.metadata.business.Role.COLUMN);
java.util.List tdiList = new java.util.ArrayList();
tdiList.add(tdi);
sortCriteria.add(tdiList);
ds.setSortCriteria(sortCriteria, Role.ROW);
}
else
{ ds.addResultItem(tdi, com.sas.iquery.metadata.business.Role.ROW);
}
}
// Perform query, apply sort to query, and get results.
java.util.List selections = new java.util.ArrayList();
selections.add( ds );
ds.setSortCriteria(sortCriteria, Role.ROW);
ds.setSortDirection(BusinessQueryActionType.SORT_HIERARCHICAL_ASCENDING, Role.ROW);
ds.setID("SortOLAPTable");
results = m_queryConnector.retrieveQueryResultMap( selections );
// Get Results interface to display table if desired.
com.sas.iquery.execution2.ResultSetInterface resultSet = (com.sas.iquery.execution2.ResultSetInterface)results.get( ds.getID() );
return resultSet;
}