You are here

protected function AcquiaLiftReportBase::buildConversionDetailReport in Acquia Lift Connector 7

Builds the render array for the metrics portion of the report.

Parameters

array $report_data: All of the reporting data for this AB report.

array $all_report_data: The report data for all reports to be build including overview data.

array|bool: A render array for the report or FALSE if it cannot be generated.

1 call to AcquiaLiftReportBase::buildConversionDetailReport()
AcquiaLiftReportBase::buildConversionReports in plugins/agent_types/AcquiaLiftAgent.inc
Build a set of confidence reports from the report data.

File

plugins/agent_types/AcquiaLiftAgent.inc, line 1873
Provides an agent type for Acquia Lift

Class

AcquiaLiftReportBase
Base class providing report data loading functionality common to all Acquia Lift Reports.

Code

protected function buildConversionDetailReport($report_data, $all_report_data) {
  if ($report_data === FALSE) {
    return FALSE;
  }
  $headers = array(
    t('Date'),
    t('Content variation'),
    array(
      'data' => t('Conversion rate (%)'),
      'data-conversion-metric' => 'rate',
    ),
    array(
      'data' => t('Conversion value'),
      'data-conversion-metric' => 'value',
    ),
    t('Margin of error'),
  );
  $rows = array();
  foreach ($report_data as $feature => $feature_data) {
    if (!in_array($feature, $all_report_data['features'])) {
      continue;
    }
    foreach ($feature_data as $data) {
      $rows[] = array(
        'data' => array(
          array(
            'data' => $data['timestamp'],
          ),
          array(
            'data' => $data['choice_id'],
            'data-acquia-lift-variation-label' => $this
              ->getVariationLabel($data['counter'], $data['control']),
          ),
          array(
            'data' => $data['conversion'],
          ),
          array(
            'data' => $data['conversion_value'],
          ),
          array(
            'data' => $data['margin_error'],
          ),
        ),
        'no_striping' => TRUE,
      );
    }
  }
  if (!empty($rows)) {
    $build['metric_table'] = array(
      '#theme' => 'table',
      '#header' => $headers,
      '#rows' => $rows,
      '#sticky' => FALSE,
      '#attributes' => array(
        'data-lift-statistics' => '',
        'data-liftGraph-columnName' => '2',
        'data-liftGraph-columnX' => '1',
        'data-liftGraph-renderer' => 'line',
        'data-liftgraph-excluded' => '5',
        'data-acquia-lift-campaign' => $all_report_data['machine_name'],
        'data-acquia-lift-decision-name' => $all_report_data['decision_name'],
      ),
    );
  }
  return $build;
}