Общий вид статистики — различия между версиями
Материал из YourcmcWiki
м |
м |
||
Строка 1: | Строка 1: | ||
− | Маленький OLAP’ик. Общий вид любой, по сути дела, статистики. Есть, условно говоря, «события» (в OLAP — «факты»), у каждого есть показатели. По этим событиям интересно получать какие-то отчёты. | + | Маленький настраиваемый OLAP’ик на PHP+MySQL. Брать [{{SVN|vitalif/trunk/olap}} здесь]. Общий вид любой, по сути дела, статистики. Есть, условно говоря, «события» (в OLAP — «факты»), у каждого есть показатели. То есть, обычный OLAP-куб, который берётся из SQL-БД. По этим событиям интересно получать какие-то отчёты. |
Типы показателей: | Типы показателей: | ||
Строка 13: | Строка 13: | ||
А что по сути? | А что по сути? | ||
− | # Выборка данных — любые условия (WHERE). | + | # Выборка данных — любые условия (WHERE). В упрощённом варианте — выбор одного значения или диапазона для каждого поля. |
# Общая фишка: Агрегат(Функция(Показатель)). Агрегат и Функция необязательны, то есть может быть просто Функция(Показатель) или Агрегат(Показатель) или просто Показатель. Функции — любые преобразования показателей, те же даты и т. п. А агрегаты — это агрегатные функции: | # Общая фишка: Агрегат(Функция(Показатель)). Агрегат и Функция необязательны, то есть может быть просто Функция(Показатель) или Агрегат(Показатель) или просто Показатель. Функции — любые преобразования показателей, те же даты и т. п. А агрегаты — это агрегатные функции: | ||
#* Минимум, максимум | #* Минимум, максимум | ||
#* Сумма, количество, среднее | #* Сумма, количество, среднее | ||
− | #* | + | #* Количество уникальных значений |
+ | #* Дисперсия (среднеквадратичное отклонение) | ||
# По горизонтали и вертикали — Ф(П) или П. Например: интервалы времени (дни, недели, месяцы). | # По горизонтали и вертикали — Ф(П) или П. Например: интервалы времени (дни, недели, месяцы). | ||
# Порядок сортировки по горизонтали и вертикали — по возрастанию или убыванию по любому А(Ф(П)), А(П) или по «своему» Ф(П) или П (тому же что и в предыдущем пункте). Соответственно для сортировки по вертикали Агрегат считается за строку, а для сортировки по горизонтали — за столбец. | # Порядок сортировки по горизонтали и вертикали — по возрастанию или убыванию по любому А(Ф(П)), А(П) или по «своему» Ф(П) или П (тому же что и в предыдущем пункте). Соответственно для сортировки по вертикали Агрегат считается за строку, а для сортировки по горизонтали — за столбец. | ||
− | # Значения в ячейках таблицы | + | # Значения в ячейках таблицы: |
+ | #* А(Ф(П)) или А(П) за ячейку. | ||
+ | #* А(Ф(П)) или А(П), дополнительно разбитые по Ф(П) или П. То есть, в этом случае в ячейке будет список значений. |
Версия 09:12, 30 июля 2010
Маленький настраиваемый OLAP’ик на PHP+MySQL. Брать здесь. Общий вид любой, по сути дела, статистики. Есть, условно говоря, «события» (в OLAP — «факты»), у каждого есть показатели. То есть, обычный OLAP-куб, который берётся из SQL-БД. По этим событиям интересно получать какие-то отчёты.
Типы показателей:
- Численный тип
- Время (timestamp)
- Строковой тип
Примеры показателей:
- Любые части даты/времени, типа: год, месяц, неделя, дата, время суток, час, минута и т. п. Каждый следующий такой показатель содержит все предыдущие.
- Стандартные параметры из веб-статистики: IP, User-Agent, Referer, поисковой запрос и т. п.
- Параметры смс-биллинга: стоимость смс, доход от смс, отправитель, надёжность отправителя.
- Показатели продаж: кто купил, что купил, за сколько купил.
А что по сути?
- Выборка данных — любые условия (WHERE). В упрощённом варианте — выбор одного значения или диапазона для каждого поля.
- Общая фишка: Агрегат(Функция(Показатель)). Агрегат и Функция необязательны, то есть может быть просто Функция(Показатель) или Агрегат(Показатель) или просто Показатель. Функции — любые преобразования показателей, те же даты и т. п. А агрегаты — это агрегатные функции:
- Минимум, максимум
- Сумма, количество, среднее
- Количество уникальных значений
- Дисперсия (среднеквадратичное отклонение)
- По горизонтали и вертикали — Ф(П) или П. Например: интервалы времени (дни, недели, месяцы).
- Порядок сортировки по горизонтали и вертикали — по возрастанию или убыванию по любому А(Ф(П)), А(П) или по «своему» Ф(П) или П (тому же что и в предыдущем пункте). Соответственно для сортировки по вертикали Агрегат считается за строку, а для сортировки по горизонтали — за столбец.
- Значения в ячейках таблицы:
- А(Ф(П)) или А(П) за ячейку.
- А(Ф(П)) или А(П), дополнительно разбитые по Ф(П) или П. То есть, в этом случае в ячейке будет список значений.