/**
  * Get facts data per dimension.
  *
  * @param Location $location
  * @param bool $percent
  * @return array
  */
 public function getFacts(Location $location, $percent = false)
 {
     $qb = $this->em->createQueryBuilder();
     $qb->select('r.time, r.value, IDENTITY(r.metric) as metric')->from('CampaignChain\\CoreBundle\\Entity\\ReportAnalyticsLocationFact', 'r')->where('r.location = :locationId')->orderBy('r.time', 'ASC')->setParameter('locationId', $location->getId());
     $query = $qb->getQuery();
     $facts = $query->getArrayResult();
     $factsData = [];
     $tmp = [];
     foreach ($facts as $fact) {
         $tmp[$fact['metric']][] = [$fact['time']->getTimestamp() * 1000, $fact['value']];
     }
     foreach (array_keys($tmp) as $k) {
         $factsData[$k]['data'] = $this->serializer->serialize($tmp[$k], 'json');
         $factsData[$k]['id'] = $k;
         //            if ($percent) {
         //                $factsData[$k]['percent'] = $this->getDimensionPercent($campaign, $activity, $k);
         //            }
     }
     return $factsData;
 }