Чтение и аналитика базы данных iPhone

Сегодня решил написать пост на интересную тему, хотя с ней и не часто сталкиваешься в процессе разработки приложений QlikView. Итак, ниже – небольшая инструкция по чтению базы данных iPhone (включая историю звонков, смс, списка заметок и контактов и прочее), а также идеи по использованию этих данных для управления качеством работы подчиненных.

Анализ базы данных iPhone в QlikView: зачем

Очень полезные данные можно извлечь из iPhone и iPad сотрудников, если подойти к задаче креативно. Предположим, что вы работаете руководителем крупного подразделения по продажам. У вас находятся десяток менеджеров по продажам в подчинении, которые используют корпоративную сотовую связь и мобильные телефоны (также выдает компания на время работы сотрудника). Особо ценно, что в QlikView мы можем связать эти данные с полной базой данных CRM по истории взаимодействия с клиентом, тем самым, получая глубокую аналитику по коммуникациям с клиентами.

!НА ЗАМЕТКУ Для реализации данной задачи, у вас должно быть разрешение на использование персональных данных сотрудников в корпоративных целях.

Анализ баз данных мобильных устройств iPhone: список интересующих вопросов

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

  • С кем именно из клиентов общался продажник и сколько времени затратил на звонок клиенту?
  • Сколько звонков было сделано в различных временных разрезах? (день/неделя/месяц)
  • Каково соотношение входящих/исходящих звонков?
  • Соответствуют ли записи по звонкам в CRM реальным данным?

Вопросы могут быть и другие, а спектр аналитики не ограничен лишь этими данными.

Создаем модель QlikView на основе баз данных iPhone

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

Составляем модель данных со следующими таблицами:

  • Звонки
  • Список Контактов
  • SMS

Создаем календарь для связи со временем звонков и смс.

Шаг 0

Прежде, чем начать разработку:

  • Не нужно специально делать джейлбрейк iPhone для доступа к данным, хотя можете использовать и вскрытый айфон (это уже ваш личный выбор).
  • По умолчанию iPhone сохраняет только 100 последних звонков в истории. Можно чаще подгружать данные в модель, чтобы звонки не терялись. Но если необходимо, лимит количества сохраняемых звонков можно изменить в айфоне с джейлбрейком. Как это сделать читаем тут.
  • Ограничений по смс-данным в айфон я не заметил.

Итак, приступаем к работе

Шаг 1

Получаем записи базы данных

База данных, которая сейчас работает в iPhone — SQLite,поэтому вам нужен будет ODBC драйвер (качаем его здесь). Есть две его версии (32-битная и 64-битная). Запустите ту версию, которая вам нужна для соединения с базой данных SQLite 3.

Для получения файлов на ваш ПК, делаем резервную копию iPhone через iTunes (на всякий случай, инструкция здесь).

После получения резервной копии iPhone-а, выгружаем файлы *.db.

iTunes размещает резервные копии в следующих директориях:

  • Windows Vista и Windows 7: Пользователи(Имя пользователя)AppDataRoamingApple ComputerMobileSyncBackup
  • Windows XP:Documents and Settings(Имя пользователя)Application DataApple ComputerMobileSyncBackup
  • Mac: ~/Library/Application Support/MobileSync/Backup/

!НА ЗАМЕТКУ: Если вы не видите директории AppData или Application Data, вам нужно включить показ скрытых файлов (инструкция для Windows Vista и Windows 7).

Когда вы зайдете в эту директорию, вы увидите файлы с декодированными именами. Вот то, что нам нужно:

Чтение и аналитика базы данных iPhone

Шаг 2

Указываем путь к файлам

Итак, у нас есть:

1) ODBC,

2) База данных (вам нужно просто добавить или изменить расширение файлов на файлах бэкапа).

А теперь просто подключаем новые источники данных в наше приложение QlikView или Qlik Sense 🙂

Но еще две штуки, которые нужно учесть:

  1. Убедитесь, что в коннекторе указано верное название файла. Будет примерно такой формат:
    • ODBC CONNECT TO [SQLite3 Datasource;Database=< полный путь к базе данных >];
  2. Даты в формате Unix и их конвертация в привычный читабельный формат:
    • Date(MakeDate(1970, 1, 1) + (< поле, содержащее время, обычно “date >/60/60/24), ‘DD/MM/YYYY hh:mm:ss[.fff] TT’) как дата

Вот и все! Наслаждайтесь новыми открытиями с Qlik!

Полезные ссылки: