protected function prepareAttributeDistinctCountMeasure(__CubeUIMetaDataGenerator_CallContext $callcontext, AbstractRootElementUIMetaData $attributeUIMetaData, $referencePath, CubeMetaData $cube, ColumnMetaData $column, $attributeName) { $measureName = StarSchemaNamingConvention::getAttributeRelatedMeasureName( $attributeName, StarSchemaNamingConvention::$MEASURE_NAME_SUFFIX__DISTINCT_COUNT); // the measure has been used already if (!isset($callcontext->usedMeasureNames[$measureName]) || $callcontext->usedMeasureNames[$measureName]) { return; } $measure = $cube->findMeasure($measureName); if (!isset($measure)) { return; } $measureUIMetaData = new AttributeMeasureUIMetaData(); $measureUIMetaData->name = self::prepareMeasureUIMetaDataName($referencePath, $cube, $measureName); $measureUIMetaData->publicName = $column->publicName; $measureUIMetaData->description = $measure->description; $measureUIMetaData->type = clone $measure->type; $attributeUIMetaData->registerElement($measureUIMetaData); // marking that the measure is used by this attribute $callcontext->usedMeasureNames[$measureName] = TRUE; }
public function __clone() { parent::__clone(); if (isset($this->type)) { $this->type = clone $this->type; } }