public function Chart() { if ($this->Days == 0) { $this->Days = 30; } $chart = DashboardChart::create("Order History, last {$this->Days} days", "Date", "Number of orders"); $result = DB::query("\n\t\t\t\tSELECT COUNT(*) AS \"OrderCount\", DATE_FORMAT(\"Placed\",'%d %b %Y') AS \"Date\"\n\t\t\t\tFROM \"Order\"\n\t\t\t\tWHERE \"Status\" not in ('" . implode("','", Config::inst()->get('DashboardRecentOrdersPanel', 'exclude_status')) . "')\n\t\t\t\t\tAND \"Placed\" > date_sub(now(), interval {$this->Days} day)\n\t\t\t\tGROUP BY \"Date\"\n\t\t\t\tORDER BY \"Placed\"\n\t\t\t"); if ($result) { while ($row = $result->nextRecord()) { $chart->addData($row['Date'], $row['OrderCount']); } } return $chart; }
public function Chart() { $result = DB::query("SELECT MONTH( Created ) Month , YEAR( Created ) Year , MemberID\n \tFROM `Order`\n \tWHERE (Amount = 0.01 OR Amount =1)\n \tAND OrderStatus = 'c'\n \tORDER BY Created"); if ($result->numRecords() == 0) { return false; } $trialMembers = array(); while ($row = $result->nextRecord()) { if ($row['Month'] == 12) { $month = 1; $year = $row['Year'] + 1; } else { $month = $row['Month'] + 1; $year = $row['Year']; } if (isset($trialMembers[$year][$month]['Members'])) { $trialMembers[$year][$month]['Members'] .= ',' . $row['MemberID']; } else { $trialMembers[$year][$month]['Members'] = $row['MemberID']; } if (isset($trialMembers[$year][$month]['Count'])) { $trialMembers[$year][$month]['Count']++; } else { $trialMembers[$year][$month]['Count'] = 1; } } $chart = DashboardChart::create("Conversion Rate", "Month,Year", "Percentage conversion"); foreach ($trialMembers as $key1 => $value1) { foreach ($value1 as $key2 => $value2) { $members = $value2['Members']; $result = DB::query("SELECT MIN( Created ) Created, MONTH( Created )\n\t\t\tMonth , YEAR( Created ) Year, MemberID\n\t\t\tFROM `MemberBillingHistory`\n\t\t\tWHERE MemberID IN ({$members}) AND MONTH( Created ) = {$key2} AND YEAR( Created ) = {$key1}\n \t\t\tGROUP BY `MemberID`\n\t\t \tORDER BY Created"); $paidMembersCount = $result->numRecords(); $percent = $paidMembersCount / $trialMembers[$key1][$key2]['Count'] * 100; $chart->addData(date('M', mktime(0, 0, 0, $key2, 1, $key1)) . ",{$key1}", $percent); } } return $chart; }
/** * Gets the result set for date/pageview pairs * * @return ArrayList */ public function Chart() { if (!$this->isValid()) { return false; } try { $this->api()->requestReportData(self::$gapi_profile, array('date'), array('pageviews'), 'date', $this->getPath() ? "pagePath == {$this->getPath()}" : null, date('Y-m-d', $this->getStartDateStamp())); } catch (Exception $e) { return false; } $results = $this->api()->getResults(); if ($results) { $chart = DashboardChart::create($this->ChartTitle(), _t('Dashboard.DAY', 'Day'), _t('Dashboard.PAGEVIEWS', 'Pageviews')); $chart->Height = 160; $datekey = $this->DateFormat == "mdy" ? "M j" : "j M"; if ($this->PathType == "none") { $map = array(); foreach ($results as $result) { $date = date($datekey, strtotime($result->getDate())); if (!isset($map[$date])) { $map[$date] = 0; } $map[$date] += $result->getPageViews(); } $chart->setData($map); } else { foreach ($results as $result) { $data = date($datekey, strtotime($result->getDate())); $chart->addData($data, $result->getPageViews()); } } return $chart; } return false; }