public function prepareCountRequest(DataQueryControllerCubeRequest $request) {
        $metamodel = data_controller_get_metamodel();

        $cube = $metamodel->getCubeByDatasetName($request->datasetName);

        $datasourceRequest = new CubeCountRequest($cube->name);

        // needs to be called before any additional methods are called
        $datasourceRequest->addOptions($request->options);

        $this->prepareRequestColumns($datasourceRequest, $cube, $request->columns);
        $this->prepareRequestQueries($datasourceRequest, $cube, $request->parameters);

        return $datasourceRequest;
    }