/** * Looks up a member by its unique name. * * @param string $memberUniqueName Unique name of member * * @return XMLAMember, or null if not found * @throws OLAPException if error occurs */ public function lookupMemberByUniqueName($memberUniqueName) { $list = new NamedList(); $this->lookupMemberRelatives(array(XMLATreeOp::getEnum(XMLATreeOp::SELF)), $memberUniqueName, $list); switch ($list->size()) { case 0: return null; case 1: return $list->get(0); default: throw new \InvalidArgumentException("more than one member with unique name '" . $memberUniqueName . "'"); } }
/** * * @return ResultSet */ public function getMembers($catalog = NULL, $schemaPattern = NULL, $cubeNamePattern = NULL, $dimensionUniqueName = NULL, $hierarchyUniqueName = NULL, $levelUniqueName = NULL, $memberUniqueName = NULL, array $treeOps = array()) { $treeOpString = NULL; if (!empty($treeOps)) { $op = 0; foreach ($treeOps as $treeOp) { $to = new XMLATreeOp($treeOp); $op |= $to->xmlaOrdinal(); } $treeOpString = '' . $op; } return $this->getMetadata(new XMLAMetadataRequest(XMLAMetadataRequest::MDSCHEMA_MEMBERS), array("CATALOG_NAME" => $catalog, "SCHEMA_NAME" => $this->wildcard($schemaPattern), "CUBE_NAME" => $this->wildcard($cubeNamePattern), "DIMENSION_UNIQUE_NAME" => $dimensionUniqueName, "HIERARCHY_UNIQUE_NAME" => $hierarchyUniqueName, "LEVEL_UNIQUE_NAME" => $levelUniqueName, "MEMBER_UNIQUE_NAME" => $memberUniqueName, "TREE_OP" => $treeOpString)); }