Доброе утро. Я видел такое поведение в Google Analytics API, которое мне, как специалисту по SQL, кажется странным. Я хотел бы получить список всех значений для adContent, поэтому я запрашиваю ga:adContent
и (поскольку я должен также выбрать показатель без четко определенной причины) ga:organicSearches
. Он находится в той же группе (Кампания), поэтому, возможно, он будет работать лучше на сервере.
Я получаю одну строку: adContent — «(не установлено)», OrganicSearchs — 516 674. Ха, я думаю, что adContent не используется. Но отдел маркетинга клянется, что это так, и делает несколько убедительных скриншотов.
Позже я произвольно меняю метрику на ga:transactions
. Во вселенной, в которой я проснулся, это не должно абсолютно ни на что влиять, кроме фактического значения, возвращаемого в этом столбце. Вместо этого я получаю миллионы строк с правдоподобными значениями для ga:adContent
. Значение для ga:transactions
иногда равно нулю, поэтому это не тот случай, когда GA фильтрует «показатель > 0».
В моем запросе нет фильтров. Я не менял диапазон дат между этими двумя вариантами. Кто-нибудь может сказать мне, что происходит? Я ожидаю, что приведенные выше запросы будут преобразованы во что-то вроде этого, что должно возвращать точно такое же количество строк:
SELECT adContent, SUM(organicSearches)
FROM Campaign
WHERE Date BETWEEN X AND Y
GROUP BY adContent
SELECT adContent, SUM(transactions)
FROM Campaign INNER JOIN ECommerce ON <something>
WHERE Date BETWEEN X AND Y
GROUP BY adContent
Я понимаю, что GA, вероятно, не использует обычную RDMS на серверной части, но, безусловно, 1 + 1 по-прежнему равно 2 в любой базе данных!