Public users cannot see the reports unless they take the survey and go to end of the survey. You can force the app to allow reports seen by the public by modifying the code a little.
Line 484 of components/com_communitysurveys/controllers/survey.php
if($user->guest) {
$itemid = SurveyHelper::getItemId();
$sid = JRequest::getVar('id',0,'','int');
$redirectUrl = base64_encode(JRoute::_('index.php?option='.S_APP_NAME.'&view=survey&task=reports&id='.$sid.$itemid));
$link = APP_VERSION == '1.5'
? JRoute::_("index.php?option=com_user&view=login".$itemid."&return=".$redirectUrl)
: JRoute::_("index.php?option=com_users&view=login".$itemid."&return=".$redirectUrl);
$this->setRedirect($link, JText::_('MSG_NOT_LOGGED_IN'));
}else {
$view = &$this->getView('survey', 'html');
$model = &$this->getModel('survey');
$view->setModel($model, true);
$action = 'survey_reports';
$view->assignRef('action',$action);
$view->display();
}You can remove the first if block so it should be
$view = &$this->getView('survey', 'html');
$model = &$this->getModel('survey');
$view->setModel($model, true);
$action = 'survey_reports';
$view->assignRef('action',$action);
$view->display();