Общий вид статистики — различия между версиями

Материал из 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, поисковой запрос и т. п.
  • Параметры смс-биллинга: стоимость смс, доход от смс, отправитель, надёжность отправителя.
  • Показатели продаж: кто купил, что купил, за сколько купил.

А что по сути?

  1. Выборка данных — любые условия (WHERE). В упрощённом варианте — выбор одного значения или диапазона для каждого поля.
  2. Общая фишка: Агрегат(Функция(Показатель)). Агрегат и Функция необязательны, то есть может быть просто Функция(Показатель) или Агрегат(Показатель) или просто Показатель. Функции — любые преобразования показателей, те же даты и т. п. А агрегаты — это агрегатные функции:
    • Минимум, максимум
    • Сумма, количество, среднее
    • Количество уникальных значений
    • Дисперсия (среднеквадратичное отклонение)
  3. По горизонтали и вертикали — Ф(П) или П. Например: интервалы времени (дни, недели, месяцы).
  4. Порядок сортировки по горизонтали и вертикали — по возрастанию или убыванию по любому А(Ф(П)), А(П) или по «своему» Ф(П) или П (тому же что и в предыдущем пункте). Соответственно для сортировки по вертикали Агрегат считается за строку, а для сортировки по горизонтали — за столбец.
  5. Значения в ячейках таблицы:
    • А(Ф(П)) или А(П) за ячейку.
    • А(Ф(П)) или А(П), дополнительно разбитые по Ф(П) или П. То есть, в этом случае в ячейке будет список значений.