public function createDimensionStorage(DataControllerCallContext $callcontext, DataSourceStructureHandler $datasourceStructureHandler, DatasetMetaData $logicalDataset, $columnName) {
        parent::createDimensionStorage($callcontext, $datasourceStructureHandler, $logicalDataset, $columnName);

        $lookupDatasetName = StarSchemaNamingConvention::getAttributeRelatedName($logicalDataset->name, $columnName);

        $request = new DatasetStorageRequest($lookupDatasetName);
        LogHelper::log_debug($request);
        $datasourceStructureHandler->createDatasetStorage($callcontext, $request);

        $factsDatasetName = StarSchemaNamingConvention::getFactsRelatedName($logicalDataset->name);
        $request = new UpdateDatasetStorageRequest($factsDatasetName);
        $request->addOperation(new CreateColumnReferenceOperation($columnName, $lookupDatasetName));
        LogHelper::log_debug($request);
        $datasourceStructureHandler->updateDatasetStorage($callcontext, $request);
    }
    public function createDimensionStorage(DataControllerCallContext $callcontext, DataSourceStructureHandler $datasourceStructureHandler, DatasetMetaData $logicalDataset, $columnName) {
        parent::createDimensionStorage($callcontext, $datasourceStructureHandler, $logicalDataset, $columnName);

        $metamodel = data_controller_get_metamodel();

        $column = $logicalDataset->getColumn($columnName);

        $referencedLogicalDatasetName = $column->type->getReferencedDatasetName();
        $referencedCubeName = $referencedLogicalDatasetName;

        $referencedCube = $metamodel->getCube($referencedCubeName);

        $datasetName = StarSchemaNamingConvention::getFactsRelatedName($logicalDataset->name);

        $request = new UpdateDatasetStorageRequest($datasetName);
        $request->addOperation(new CreateColumnReferenceOperation($columnName, $referencedCube->factsDatasetName));
        LogHelper::log_debug($request);
        $datasourceStructureHandler->updateDatasetStorage($callcontext, $request);
    }