• Модуль: seo
  • Путь к файлу: ~/bitrix/modules/seo/lib/adv/yandexstat.php
  • Класс: BitrixSeoAdvYandexStatTable
  • Вызов: YandexStatTable::getCampaignStat
static function getCampaignStat($campaignId, $dateStart, $dateFinish)
{
	$result = array();

	$dbRes = static::getList(array(
		'order' => array(
			'DATE_DAY' => 'ASC',
		),
		'group' => array('CAMPAIGN_ID', 'DATE_DAY', 'CURRENCY'),
		'filter' => array(
			'=CAMPAIGN_ID' => $campaignId,
			'>=DATE_DAY' => $dateStart,
			'<=DATE_DAY' => $dateFinish,
		),
		'select' => array(
			'CAMPAIGN_ID', 'DATE_DAY', 'CURRENCY',
			'CAMPAIGN_SUM', 'CAMPAIGN_SUM_SEARCH', 'CAMPAIGN_SUM_CONTEXT',
			'CAMPAIGN_SHOWS', 'CAMPAIGN_SHOWS_SEARCH', 'CAMPAIGN_SHOWS_CONTEXT',
			'CAMPAIGN_CLICKS', 'CAMPAIGN_CLICKS_SEARCH', 'CAMPAIGN_CLICKS_CONTEXT',
		),
		'runtime' => array(
			new EntityExpressionField('CAMPAIGN_SUM', 'SUM(SUM)'),
			new EntityExpressionField('CAMPAIGN_SUM_SEARCH', 'SUM(SUM_SEARCH)'),
			new EntityExpressionField('CAMPAIGN_SUM_CONTEXT', 'SUM(SUM_CONTEXT)'),
			new EntityExpressionField('CAMPAIGN_SHOWS', 'SUM(SHOWS)'),
			new EntityExpressionField('CAMPAIGN_SHOWS_SEARCH', 'SUM(SHOWS_SEARCH)'),
			new EntityExpressionField('CAMPAIGN_SHOWS_CONTEXT', 'SUM(SHOWS_CONTEXT)'),
			new EntityExpressionField('CAMPAIGN_CLICKS', 'SUM(CLICKS)'),
			new EntityExpressionField('CAMPAIGN_CLICKS_SEARCH', 'SUM(CLICKS_SEARCH)'),
			new EntityExpressionField('CAMPAIGN_CLICKS_CONTEXT', 'SUM(CLICKS_CONTEXT)'),
		),
	));

	while($statEntry = $dbRes->fetch())
	{
		$result[$statEntry['DATE_DAY']->toString()] = $statEntry;
	}

	return $result;
}