День 2
Выгружаем данные из базы данных.
Исправляем ошибки в
Яндекс Метрике
Привет! У нас по клиенту Golden tree вся статистика полетела... походу цели не трекаются... ни одной заявки в отчетах… Можешь посмотреть Метрику? .

Кристина
Аккаунт менеджер
Привет! Утро началось не с кофе... А с сообщения Кристины.

В сообщении Кристина говорит, что Метрика перестала отображать данные. Так иногда бывает.А чтобы это предотвратить, нужно не только правильно настроить системы веб аналитики, но и периодически проверять их работу.

Давай разбираться с задачей.

Макс
Старший аналитик
Как думаешь, что нам нужно сделать в первую очередь?
Лучше всего убедиться, что проблема действительно есть, а потом уже решать ее
Это достаточно простой, но важный пример. Бывают примеры посложнее.
Но в любом случае, прежде чем срочно решать проблему, нужно сначала убедиться, что она действительно существует. Возможно, что Кристина устала и посмотрела не туда.
Чтобы понять, что действительно проблема есть (а проблема у нас - отсутствие заявок) достаточно просто посмотреть в отчет по заявкам.

Мы видим, что действительно, практически ежедневно к нам поступало определенное количество заявок, но потом поступление заявок прервалось.

В чем причина? Давай выяснять.

Как думаешь, почему может быть такая проблема?
Оба ответа могут быть верными
Для начала можно зайти в цель и посмотреть, как она настроена.

Мы видим, что настройка цели достаточно простая - на посещение страницы.
А именно на посещение страницы спасибо - ее часто используют для настройки целей на количество заявок.

Страница спасибо - это итоговая страница, которая появляется у клиента после покупки. Она может быть, а может ее и не быть - это зависит от того, как настроен сайт. И если разработчики что-то поменяли на сайте, она может пропасть (ее могут убрать), либо может поменяться.

Для этого сравним страницу, которая есть сейчас после того, как мы оставляем заявку. Для этого совершаем тестовую заявку и смотрим на url, который появляется у нас после заявки.

Есть ли разница между url в настройках цели и url,
который появляется после заявки?
Да, разница есть. Она в букве "s' в начале. 
Разница в букве "s' в начале. В настройках цели указан http, а по факту https.

Оказывается, что разработчики клиента сменили протокол с http на https и поэтому цель перестала трекаться.

Вот мы и нашли проблему! И теперь можем ее исправить (сменить http на https), а после исправления сделать тестовую проверку. Или лучше будет, если в качестве условия выбрать не "начинается на", а содержит и в поле прописать "goldentree.net/contact/thanks", то есть без https.

После исправления цель начнет работать корректно.
Насколько интересной была эта задача для тебя?
Спасибо!
Понятна ли была задача?
Спасибо за ответ!
Сегодня мы справились раньше, поэтому можем заняться не такой срочной, как поломка аналитики, но важной задачей выгрузки из базы данных клиента нужной маркетологу информации.

Нашему маркетологу нужно выгрузить все заказы нашего клиента (интернет-аптека) по препарату нурофен из базы данных. Нам нужен препарат, дата, а также количество штук.

Как решить эту задачу и что это все значит?

Макс
Старший аналитк
Давай для начала разберемся, что такое база данных.

База данных - это место, где хранятся данные в каком-то определенном виде. Например, они могут храниться в таблицах. Такая база данных называется реляционной.

Чтобы "вытащить" данные из базы данных используется специальный язык SQL (от англ. Structured Query Language — «язык структурированных запросов»).

То есть мы не можем просто сказать базе данных: "Выгрузи все заказы за апрель 2022 года по препарату нурофен". Чтобы база данных нас поняла, мы переводим на ее язык - SQL.

В базе данных может быть много разных таблиц, но всегда должна быть легенда, что и в какой таблице хранится, чтобы знать, откуда запрашивать.

Мы знаем, что продажи по всем препаратам за весь периоды работы интернет-аптеки хранятся в таблице "table_medication", таблица представлена в таком виде:
Если бы нам не нужно было ограничивать конкретный препарат, то мы бы выгрузили всю таблицу, тогда запрос на языке SQL выглядел бы в таком виде:
SELECT * FROM table_medication;

То есть мы буквально говорим: покажи нам всю таблицу

Расшифровка:
SELECT - оператор, который возвращает 0 или более строк из базы данных
"*" - означает, что нам нужны все столбцы из таблицы, а не какой-то конкретный столбец
table_medication - это собственно сама таблица, из которой нам нужны данные.

Таким образом с помощью такого простого запроса мы вытащим из базы данных всю таблицу table_medication в том виде, в котором она есть.

Но мы помним из задания, что нужна информация только по препарату нурофен и только дата, а также количество штук.

Для выгрузки столбцов medication (препарат), date (дата), amount (количество) по препарату нурофен напишем такой код:
SELECT medication, data, amount FROM table_medication
WHERE medication = ''нурофен";

То есть мы буквально говорим: вытащи нам такие-то столбцы, только по препарату нурофен.

В данном случае мы выгружаем не всю таблицу целиком, а выбираем только нужные нам столбцы: препарат - medication, дата - data, количество - amount.

Чтобы выбрать из всех препаратов только нурофен, мы подключаем оператор WHERE (ГДЕ) и пишем: ГДЕ препарат это "нурофен".

Таким образом получаем таблицу из нужных нам столбцов только с препаратом нурофен.

Как запросить все заказы по препарату нурофен из базы данных? (препарат, дата, количество)
Спасибо!
Хорошая работа!

Теперь можно и отдохнуть. А я по традиции даю тебе блок с полезными материалами к самостоятельному изучению.

Это бесплатный тренажер на Stepik, в котором минимум теории и максимум практики. Если та или иная тема будет не понятна, ищи дополнительную информацию в статьях и видео в интернете.

Ну а если после прохождения захочешь усилить свой skill и получить еще больше практики - рекомендую бесплатный сайт хакерранк с множеством задач по SQL.

Если нужно спросить - то для этого есть специальные чаты в телеграм:
https://t.me/pgsql
https://t.me/sqlcom

Макс
Старший аналитик
Насколько интересной показалась тебе эта задача?
Спасибо!
Понятна ли была задача?
Спасибо за ответ!
Made on
Tilda