[в связи со спорным переносом 1 части поста на geektimes (при том что 2-я часть осталась на хабре) возвращаю 1-ю часть на место] Работая в сфере аналитики и мониторя различные инструменты BI рано или поздно наталкиваешься на обзор или упоминание надстройки Power Pivot Excel. В моем случае знакомство с ним произошло на конференции Microsoft Data Day.
Особых впечатлений после презентации инструмент не оставил: Да, бесплатен (в рамках лицензии Office), да — есть некий ETL функционал в части получения данных с разрозненных источников (БД,csv,xls, и т.д.), Join-ов этих источников и скармливания в оперативку записей на порядки выше 1 млн.строк в Excel. Короче, посмотрел и забыл.
А вспомнить пришлось, когда появилась необходимость идентификации определённых явлений в данных На написание данной статьи сподвигло то что в рунете по этому инструменту не много какой либо детальной информации о конкретных приемах работы, все больше о звездах, поэтому решил, изучая этот инструмент, написать данный обзор.
Собственно, постановка задачи (на обезличенном примере) следующая: В исходных данных csv файла: Есть торговые точки, детализированные до строк накладных, при этом допускается для точек с одинаковым наименованием иметь разные адреса только в том случае если они расположены в разных городах, но в исходном массиве данных есть точки, у которых попадаются разные адреса в одном и том же городе при том, что названия точек одинаковые (имя торговой точки уникально, т.е. это единица сети или отдельно стоящая точка). Как частный случай в агрегированном виде:
Поиску и очистке данных штатными средствами office мешают следующие обстоятельства: • Детализация данных до строк накладной • Количество записей в несколько миллионов строк • Отсутствие sql инструментария (К примеру: Access — не в комплекте) Конечно можно залить любую бесплатную СУБД (хоть десктоп версию, хоть серверную) но для этого во-первых нужны админские права, во-вторых статья была бы уже не про Power Pivot.
Задача: для каждой атомарной записи требуется дополнительное вычисляемое поле, которое посчитает для каждого наименования торговой точки уникальное количество адресов в рамках того же города. Данное поле требуется для быстрого нахождения всех имен торговых точек в городе, где адресов больше 1.
Думаю, удобнее всего решать и рассказывать итерационно, с допущением что у нас знания по DAX в зачаточном уровне. Поэтому предлагаю пока оторваться от задачи и рассмотреть некоторые базовые аспекты.
Шаг 1. Чем отличается вычисляемый столбец от вычисляемой меры?
Вот пример вычисляемого столбца для выделения НДС из поля отгрузки с НДС используя встроенные формулы DAX:
=ROUND([Отгрузка с НДС]*POWER(1,18;-1)*0,18;2)
Как видно из примера вычисляемый столбец (Назовем его НДС) работает с каждой атомарной записью по горизонтали. Теперь добавим вычисляемое поле для цены за штуку без НДС:
=ROUND([Отгрузка с НДС]*POWER(1,18;-1)/[Отгрузка шт];2)
Теперь для сравнения добавим в меру расчет средней цены за штуку:
Средняя цена за штуку без НДС: =ROUND(AVERAGE([Поле_Цена за штуку без НДС]);2)
Как видно из формулы, мера работает со столбцом исходных данных по вертикали, поэтому она всегда должна содержать в себе какую то работающую с множеством функцию (Сумму, среднюю, дисперсию и т.д.) При возврате в сводную таблицу Excel это выглядит так:
Обратите внимание, если вычисляемое поле НДС на каждом уровне данных (зеленая обводка на уровне торговой точки, города или итого по таблице) показывает сумму, что в принципе – корректно, то сумма цен вычисляемого поля «Цена за штуку без НДС» (красная обводка) вызывает вопросы. А вот вычисляемая мера «Средняя цена за штуку без НДС» вполне имеет право на жизнь в рамках данного аналитического куба. Отсюда делаем вывод, что вычисляемое поле «Цена за штуку без НДС» является вспомогательным инструментом для расчета меры «Средняя цена за штуку без НДС» и дабы не смущать пользователя этим полем мы скроем его из списка клиентских средств, оставив меру средней цены.
Еще одно отличие меры от столбца – она позволяет добавить визуализацию: К примеру, построим KPI степени разброса цен с целевой границей 35% путем деления корня из дисперсии на среднюю арифметическую.
К_вар:=STDEV.P([Поле_Цена за штуку без НДС])/AVERAGE([Поле_Цена за штуку без НДС])
В итоге видим такую таблицу в Excel (кстати расчетное вспомогательное поле цен уже не в списке доступных полей справа):
Двойной клик на 80%-м коэффициенте показывает, что цены действительно колбасит вокруг средней:
Cильнее чем при коэффициенте 15%: Итак, на данном шаге мы рассмотрели основные отличия мер от полей в рамках PowerPivot.
Шаг 2. Усложняем: Посчитаем долю каждой записи в общих продажах.
Вот первый пример сравнения подходов оконных функций MS SQL Server и DAX: Понятно, что в рамках сводных таблиц это делается буквально в 2 клика мышкой не касаясь клавиатуры, но для понимания попробуем это непосредственно в PowerPivot с применением формул. На sql я бы это написал так (за огрехи не пинать, ибо Word синтаксис SQL Server не проверяет): Begin Select 't1.Имя ТТ', 't1.Город', 't1.Адрес', 't1.Продукт', 't1.№ ТТН', 't1.Дата ТТН', 't1.Отгрузка, шт', 't1.Отгрузка с НДС', 't1.Отгрузка, шт'/sum('t1.Отгрузка, шт') over () as share from Table as t1 order by 't1.Отгрузка, шт'/sum('t1.Отгрузка, шт') desc
Здесь, как можно заметить окно открывается через все записи датасэта, попробуем аналогичную вещь в PowerPivot:
=[Отгрузка шт]/CALCULATE(SUM([Отгрузка шт]);ALL('Таблица1'))
Основное внимание обратим к знаменателю: Я уже упоминал выше что основное отличие вычисляемого поля от меры заключается в том что в поле формулы считают по горизонтали ( в рамках одной записи) а меры – по вертикали ( в рамках одного атрибута). Здесь мы смогли скрестить свойства поля и свойство меры через метод CALCULATE. И если ширину окна в SQL мы отрегулировали через Over() то здесь мы сделали это через All(). Попробуем теперь, обладая данным навыком, сделать с нашими данными что –нибудь полезное, например, вспомнив что показатель разброса цен вокруг средних варьировался в широком диапазоне, попробуем выделить статистические выбросы цен через правило 3-х сигм. Оконные функции на sql будут смотреться так: Select 't1.Имя ТТ', 't1.Город', 't1.Адрес', 't1.Продукт', 't1.№ ТТН', 't1.Дата ТТН', 't1.Отгрузка, шт', 't1.Отгрузка с НДС', 't1.Цена за шт без НДС', CASE WHEN ABS('t1.Цена за шт без НДС' — AVG('t1.Цена за шт без НДС') OVER() ) > 3 * STDEV('t1.Цена за шт без НДС') OVER() THEN 1 ELSE 0 END as Outlier from Table as t1 Go
А вот то же самое в DAX:
=if(ABS([Поле_Цена за штуку без НДС]-CALCULATE(AVERAGE([Поле_Цена за штуку без НДС]);ALL('Таблица1')))>(3*CALCULATE(STDEV.P([Поле_Цена за штуку без НДС]);all('Таблица1')));1;0)
Как видите, цена несколько высоковата при средней арифметической 40,03 руб.
Шаг 3. Сужаем окна.
Попробуем теперь посчитать в вычисляемом поле каждой записи общее количество записей в рамках того города, к которому принадлежит и данная запись. На MS sql Server оконные функции будут выглядеть так: Select 't1.Имя ТТ', 't1.Город', 't1.Адрес', 't1.Продукт', 't1.№ ТТН', 't1.Дата ТТН', 't1.Отгрузка, шт', 't1.Отгрузка с НДС', 't1.Цена за шт без НДС', count('t1.*) OVER( partition by 't1.Город' ) as cnt from Table as t1 Go
В DAX:
- =CALCULATE(COUNTROWS('Таблица1');ALLEXCEPT('Таблица1';'Таблица1'[Город]))
- Возвращаемся к исходной задаче
Обратите внимание на разницу в отображении данных в таблице, я специально бросил адреса в область мер что бы посчитать их количество и сравнить с новым полем которое вывел в заголовок строк после имени торговой точки. Отчетлива видна разница: если обычный расчет количества адресов идет для каждой точки в городе и потом только выводит промежуточный итог для агрегата «Город» то использование оконных функций позволяет присвоить каждой атомарной записи значение любого агрегата, либо использовать его в каких-то промежуточных расчетах вычисляемого поля ( как было показано выше). Итак, напомню, исходная постановка задачи: для каждой атомарной записи требуется дополнительное вычисляемое поле, которое посчитает для каждого наименования торговой точки уникальное количество адресов в рамках того же города. Не забываем, что датасэт у нас детализирован до строк накладной, поэтому перед подсчетом адресов внутри окна их необходимо сгруппировать. Запрос на SQL Server: With a1 as (Select 't1.Имя ТТ', 't1.Город', 't1.Адрес', 't1.Продукт', 't1.№ ТТН', 't1.Дата ТТН', 't1.Отгрузка, шт', 't1.Отгрузка с НДС', 't1.Цена за шт без НДС', count(Distinct 't1.Адрес') OVER( partition by 't1.Город', 't1.Имя ТТ' ) as adrcnt from Table as t1)
Select * from a1 where adrcnt>1
Теперь нам ничего не мешает это сделать и в DAX:
- =CALCULATE(DISTINCTCOUNT('Таблица1'[Адрес]);ALLEXCEPT('Таблица1';'Таблица1'[Город];'Таблица1'[Имя ТТ]))
- Продолжение статьи здесь
Надстройки Power Query и Power Pivot
Power Query и Power Pivot — надстройки Excel для легкой работы с тяжелыми файлами. С помощью Power Query можно подключать и обрабатывать источники информации произвольного вида, а в Power Pivot – выполнять сложные расчеты и создавать модель данных.
Появление Power Query – одно из важных событий в истории развития Excel. То, что раньше пользователи делали в Excel с помощью рутинных операций по преобразованию данных, писали огромные формулы или макросы на VBA, теперь можно выполнять буквально в несколько щелчков мышкой.
Power Query – это надстройка для создания запросов по импорту, очистке и преобразованию данных.
Power Query сам автоматически генерирует и записывает код запросов на языке M.Но это вовсе не значит, что пользователям нужно писать код – интерфейс Power Query очень понятный и позволяет выполнять операции только с помощью мышки.
Большинство операций по преобразованию данных в нем можно выполнить, не написав ни одной строчки кода.
Все запросы Power Query записываются и сохраняются, поэтому при последующих подключениях повторять операции еще раз не нужно – они выполнятся автоматически после нажатия на кнопку в меню Данные → Обновить.
Как работает
В привычном нам виде Power Query впервые появился в Excel 2013. В Excel 2010 и 2013 надстройка отображается в виде отдельной вкладки «Power Query».
В Excel 2016 надстройка уже встроена по умолчанию, на вкладке Данные – раздел «Скачать и преобразовать».
В версии Excel 2019 на вкладке Данные разделы с Power Query — «Получить и преобразовать данные» и «Запросы и подключения».
Возможности Power Query
- Из Excel можно напрямую подключаться к самым различным источникам данных: файлы excel, csv, базы данных, папки и т.д.
- Данные в подключенных источниках можно преобразовывать самыми различными способами: сортировать, фильтровать, заменять, делать расчеты, объединять и т.д.
- Преобразованные данные можно импортировать: выгружать на лист, в сводную таблицу, сразу в модель данных (в Power Pivot). Или не выгружать, а просто сохранить запрос.
Операции по преобразованию данных выполняются в окне редактора запросов.
В редакторе Power Query пользователь работает с данными – выполняет преобразования, а его действия автоматически записываются в виде шагов запроса.
О том, как работать в редакторе запросов, читайте в следующей статье.
Как скачать Power Query
Надстройка устанавливается бесплатно и доступна для Excel начиная с версий 2010 года:
- для Excel 2010 и 2013 скачивается с сайта Microsoft;
- для Excel версии после 2016 года ничего скачивать и устанавливать не нужно, так как эта надстройка идет в составе всех лицензий.
Те, кто часто пользуются сводными таблицами, понимают, насколько они удобны и эффективны в работе.
Power Pivot — это надстройка Excel, в которой можно выполнять улучшенные вычисления для сводных таблиц с помощью DAX-формул. Power Pivot значительно расширяет функционал сводных таблиц и позволяет работать с большими объемами данных – в десятки миллионов строк.
Как работает
Вкладка меню Power Pivot во всех версиях Excel, начиная с 2010, выглядит одинаково. Чтобы открыть окно Power Pivot, нажмите в меню Power Pivot → Управление. Если вкладки Power Pivot у вас в меню нет, проверьте, та ли у вас версия Excel. И возможно, вам потребуется добавить эту вкладку в меню.
Возможности Power Pivot
- Power Pivot позволяет обращаться из одной сводной таблицы к данным из нескольких таблиц без формулы ВПР. Это возможно благодаря объединению таблиц в модель данныхс помощью связей.
- Импорт более 100 миллионов строк в рабочую книгу. При работе в «обычном» Excel у пользователей есть ограничения по размеру таблиц – размер листа, то есть чуть больше 1 млн строк. В Power Pivot такого ограничения нет и в него можно загружать миллионы строк. Единственное ограничение по объему — размер файла книги, равный 2 Гбайт, и объем оперативной памяти.
- Благодаря алгоритму сжатия данных в Power Pivot объем файла становится меньше, чем в источнике. Например, текстовый файл объемом 50 Мбайт может сжиматься до 4 Мбайт, занимаемых файлом Excel с таблицей.
- Создание улучшенных формул для сводных таблиц с помощью языка DAX.
В Power Pivot можно писать DAX-формулы для продвинутого анализа в столбцах и создавать меры — вычисления под таблицей.
Кстати, в Power Pivot есть свои инструменты для импорта данных, но из небольшого числа источников – некоторые базы данных, файлы Excel и текстовые и др. Эти инструменты можно найти на вкладке Главная. Так как доступных источников данных не очень много, то, как правило, в качестве источника для него выступает Power Query, функционал которого по подключению намного больше.
Увидеть все загруженные данные можно в нижней части окна Power Pivot – ярлычки с названиями таблиц находятся там же, где названия листов в «обычном» Excel.
Здесь же в меню Главная → Представление диаграммы можно перейти в представление, где создаются связи в модели данных. Создавать связи в этой области очень просто – с помощью «перетаскивания» полей: выбираем нужное поле мышкой и переносим его на соответствующее поле другой таблицы.
Power Pivot поддерживает типы связей «один к одному» и «один ко многим» («многие к одному»).
Перейти обратно от модели данных к таблицам можно в меню Главная → Представление данных. В представлении в виде таблиц удобно делать вычисления с помощью DAX-формул, которые очень похожи на обычные формулы Excel.
DAX-формулы пишут в столбцах таблиц – создают вычисляемые столбцы. Или в области вычислений под таблицей, такие объекты называются меры.
Еще в Power Pivot можно создавать ключевые показатели эффективности (KPI) – автоматические светофоры, которые будут выводиться в сводной таблице. KPI в Power Pivot – это расширение функционала для мер.
Язык DAX используется не только в Power Pivot в Excel, но и в Power BI и Analysis Services. Подробнее о DAX можно прочитать в наших следующих статьях.
Как скачать Power Pivot
Надстройка Power Pivot есть не во всех версиях Excel:
- Power Pivot для Excel 2010 года скачивается бесплатно с сайта Microsoft. К сожалению, в Excel 2010 Power Pivot почти невозможно «подружить» с Power Query, и этот новый функционал в старом Excel сильно ограничен.
- В Excel 2013 и 2016 года Power Pivot идет в составе программы, но не во всех лицензиях. Так, в Office Pro Plus и Office 2019 надстройка есть. Узнать, какие именно версии Office включают Power Pivot, можно здесь.
Кстати, отличная новость – компания Microsoft анонсировала включение Power Pivot во все версии Excel, начиная с версий после 2019 года. Так что теперь Power Pivot всегда будет под рукой.
Если с версией Excel все в порядке, а вкладки Power Pivot в меню нет, то ее нужно добавить в меню с помощью окна Управления надстройками (как это сделать – смотрите далее).
В зависимости от того, какая у вас версия Excel, вам может потребоваться перед первым использованием добавить надстройки Power Query и Power Pivot в меню.
Если в меню Excel у вас нет надстроек, то нужно их добавить в окне Управления надстройками:
Файл → Параметры → Надстройки → в Выпадающем меню выбрать → Надстройки COM → Перейти → в открывшемся окне выбрать надстройки.
Надстройки Power Query и Power Pivot дополняют друг друга и отлично работают вместе со сводными таблицами, позволяя пользователям создавать в Excel аналитические отчеты. Как правило, используется последовательность работы с данными в таком порядке:
- с помощью Power Query подключают и обрабатывают источники данных;
- из Power Query плоские таблицы загружаются прямо в Power Pivot, минуя ограничение по количеству строк листа Excel;
- в Power Pivot выполняют сложные расчеты и создают модель данных;
- отчеты создаются с помощью сводных таблиц, диаграмм и элементов управления (временной шкалы и срезов).
Отчеты по такой схеме настраиваются один раз и при последующем изменении данных преобразования и вычисления выполнятся автоматически, после нажатия на кнопку в меню Данные → Обновить.
Огромное преимущество надстроек Power Query и Power Pivot – они есть не только в Excel, но и в Power BI. Поэтому на тренингах я обычно говорю слушателям, что мы изучаем сразу две программы.
Интерфейс надстроек в обеих программах очень похож, но функционал Power BI все-таки опережает Excel (сразу уточню, что сравниваю только инструменты Power Query и Power Pivot). Например, Power BI поддерживает больше источников данных и доступны связи «многие-ко-многим», которых в Excel нет.
Для сравнения – интерфейс Power Query в обеих программах выглядит практически одинаково:
Power Query в Excel
Power Query в Power BI
Power Pivot в целом также работает одинаково в Excel и Power BI, кроме ряда некоторых нюансов. Например, так выглядит окно настройки модели данных:
Модель данных в Excel
Модель данных в Power BI
Кстати, если у вас есть файл Excel, в котором вы настраивали аналитику с помощью Power Query и Power Pivot, то его содержимое можно перенести в Power BI. Это делается в Power BI: меню Файл → Импортировать → выберите «Power Query, Power Pivot, Power View». После пары вопросов и некоторых «размышлений» запросы и вычисления из Excel будут перенесены в Power BI.
В общем, надстройки Power Query и Power Pivot – это суперсила (от слова power) Excel, которые переносят возможности аналитики в этой программе на новый уровень.
С их помощью пользователи могут создавать отчеты с вычислениями на основе разных источников, без ограничений по объему данных в размер одного листа в миллион строк.
Плюс, компания Microsoft включает эти инструменты и в другие свои продукты, так что понимание того, как они работают, вам точно пригодится.
«PIVOT» — новое тактильное решение от Microsoft
- Последнее исследование тактильных ощущений в виртуальной реальности от Microsoft под названием «PIVOT» может обеспечить реалистичный опыт ловли и метания в VR. И не только…
- Аксессуар с ремешком на запястье, созданный исследователями Microsoft, представляет собой деталь, которая поворачивается на ладони пользователя, обеспечивая достаточно реалистичный опыт ловли, захвата и метания в виртуальной реальности.
Сегодня большинство разработчиков VR создают свои собственные механизмы броска и захвата, которые могут отличаться от контроллера к контроллеру. Между тем тактильную обратную связь, обеспечиваемую потребительским оборудованием виртуальной реальности сегодня, можно охарактеризовать как не более чем мелкая вибрация. Тем не менее, эффект может быть довольно удовлетворительным для определенных приложений, например, оттягивания тетивы или легкого удара мячом по ракетке для настольного тенниса. Исследователи Microsoft, похоже, предлагают совершенно другой уровень реализма с помощью PIVOT.
Новое исследование, представленное в рамках Симпозиума ACM по программному обеспечению и технологиям пользовательского интерфейса (UIST) 2020 года, подробно описано в документе под названием «Haptic PIVOT: карманные компьютеры по запросу в виртуальной реальности», соавторами которого являются Роберт Ковач, Эяль Офек, Мар Гонсалес Франко, Алекса Фэй Сиу, Себастьян Марвецки, Кристиан Хольц и Майк Синклер. Согласно сообщению в блоге о работе , PIVOT прикрепляется рядом с запястьем, и «мы можем отображать импульс и сопротивление брошенных и пойманных объектов, которые регулируются законами Ньютона, включая моделирование скорости объектов при достижении руки: роботизированная тактильная ручка раскрывается, когда это необходимо, приближаясь и, наконец, достигая руки, создавая ощущение первого контакта — переход от голой руки к руке, держащей объект, — таким образом имитируя наше естественное взаимодействие с физическими объектами таким образом, как традиционные портативные контроллеры не могут».
Документ, ссылка на который приведена выше, завершается предположением, что эти «результаты подтверждают потенциал PIVOT для будущего использования».
В будущем можно будет подумать о снижении веса носимого устройства или добавлении большего количества моторизованных деталей, чтобы лучше совместить шаровой механизм с рукой.
Также могут быть добавлены другие датчики, такие как камеры для отслеживания пальцев, которые могут обеспечить более точное взаимодействие.
Мы видели другие исследования с объектами, которые вытягиваются или трансформируются по форме — можно ли это применить здесь, чтобы предложить различные типы предметов в руке, которые поворачиваются в нужное положение в нужное время? В документе подробно описаны другие «исследовательские» прототипы, которые они рассматривали, в том числе дизайн, в котором использовалась модернизированная ручка контроллера Windows Mixed Reality, которая могла поворачиваться в вашу руку, и еще один дизайн с джойстиком 3DoF.
Источник
Microsoft Live Labs Pivot — Microsoft Live Labs Pivot
Вращаться это программное приложение от Microsoft Live Labs который позволяет пользователям взаимодействовать и искать большие объемы данных. Он основан на Microsoft Морской дракон.[1][2] Он был описан как позволяющий пользователям просматривать Интернет как сеть, а не как отдельные страницы.
После Live Labs были закрыты, автономное приложение Pivot размещается на сервере Microsoft Research.[3] В Silverlight хотя контроль по-прежнему доступен.[4]
Функциональность
Microsoft Pivot был самым амбициозным проектом Microsoft Live Labs. Это программа, основанная на Морской дракон[1][2] технологии. В частности, это «технология визуализации данных под названием Pivot, разработанная, чтобы помочь людям лучше использовать цифровую информацию».
Pivot — это система интеллектуального анализа данных, которая «позволяет людям визуализировать данные, а затем динамически сортировать, организовывать и классифицировать их», что приводит к корреляциям и тенденциям, которые сразу становятся очевидными в визуально интерактивном формате.
Возможности
Pivot — это программа, разработанная для контекстуализации информации более естественным образом, чтобы люди могли переваривать большие объемы информации, не сбиваясь с пути.
В частности, он объединяет связанные данные — «все, от изображений, видео и карт до средних и финансовых показателей — в большие коллекции, которые затем можно обрабатывать, сортировать, фильтровать и проверять визуально». Таким образом, сами данные могут помочь в формировании и информировании о том, как они представлены.
Таким образом, вместо того, чтобы пытаться понять данные, а затем применить их к проблеме, Pivot работает в унисон с человеком, чтобы найти оптимальное решение.
В настоящее время соискатели информации застряли в старом способе просмотра информации, ограниченном браузерами для просмотра информации только в контексте «следующего» и «предыдущего». Pivot позволяет пользователям агрегировать эту информацию и просматривать ее, чтобы увидеть, есть ли какие-либо узнаваемые закономерности в информации.
Ценность такого инструмента заключается в том, что вы можете начать изучение с идеи, а Pivot работает с пользователями, чтобы найти информацию, которую в противном случае нельзя было бы увидеть. Это важно, потому что было обнаружено, что «если вы сделаете переход внезапно, люди проиграют. их путь …
но если сделать его очень плавным и непрерывным, у людей будет ментальная модель того, как они пришли туда, где они есть ».
Еще один интересный аспект Pivot заключается в том, что он работает с любыми типами данных. Фактически, сводные коллекции варьируются от статей в Википедии до Списка Международного союза охраны природы 2009 года, находящегося под угрозой исчезновения. Это дает Pivot огромную ценность, поскольку его возможности применимы в любой отрасли.
Как работает Pivot
В основе программы Pivot лежат Коллекции, которые объединяют большие группы схожей информации, «так что мы можем начать рассматривать Интернет как« сеть », а не как серию изолированных страниц».
Новые коллекции могут быть созданы без программирования и состоят из набора данных. Эти коллекции данных состоят из двух компонентов: XML (описательный компонент коллекции) и изображений (визуальное представление данных).
Pivot может легко фильтровать изображения и информацию, поскольку изображения описываются в формате Deep Zoom, который является компонентом технологии Seadragon.
Рекомендации
Microsoft Pivot: новое в визуализации веб-контента
АрхивСтатьи
автор : Игорь Терехов 04.12.2009
Новый проект Microsoft Labs выглядит многообещающе. Если его удастся протолкнуть в большой мир, то он навсегда изменит представление об удобных способах работы с информационными сайтами. Например, с Wikipedia.
Во второй половине ноября Microsoft Labs представила свою новую разработку — Pivot. Вчера я наконец-то получил регистрационный код и смог проиграться с ней самостоятельно, а не довольствоваться скупой видеопрезентацией. В конце статьи вы сможете найти этот код — его можно использовать ещё девять раз, поэтому если вы зашли сюда одним из первых, то вам несказанно повезло.
Штука от Microsoft получилась настолько необычная и в то же время простая, что коротко описать её довольно трудно. По сути Pivot — это инструмент для удобной работы с большими базами данных, каждый элемент которых может быть представлен в виде изображения.
Самый простой пример: база данных пород собак. Каждая порода может быть проиллюстрирована, она также имеет множество атрибутов, по которым можно проводить отбор и сортировку.
На коротком видео ниже, снятом на какой-то конференции, показана реализация этой идеи в Pivot.
Как вы видите, пользоваться Pivot довольно просто. В его основе лежат так называемые коллекции, которые объединяют большие группы похожих элементов.
В идеале это может означать, что через некоторое время на сайтах, предоставляющих пользователю большой объём информации (например, на «Компьютерре-Онлайн») может появиться кнопочка “Get in Pivot” и тогда наши читатели смогут легко перемещаться по архиву статей, используя ключевые слова, видеть все связанные материалы и больше не жаловаться на плохо работающий традиционный поиск.
Другой понятный пример использования — база данных «Яндекс.Маркет». Отбирать товары, наблюдая за красиво визуализированными процессами поиска и сравнения товаров, было бы намного удобнее и приятнее, чем сейчас.
Нечто подобное уже сделано разработчиками Pivot с Wikipedia. Поработав с ней могу с уверенностью сказать — такой удобной энциклопедии мир пока не видел. Ниже находится ещё один видеоролик: на сей раз разработчики Pivot сами пытаются объяснить, что же они сделали и зачем это нужно. Про Wikipedia там тоже кое-что есть.
Отдельно хочется заметить, что, несмотря на кажущуюся сложность всей этой технологии, «бэк-энд» у неё довольно простой. Для создания коллекций не требуется даже особых “программерских” навыков. Коллекции состоят из двух частей: непосредственно элементов, описанных в XML, и иллюстраций в формате Deep Zoom.
Существуют три основных типа коллекций. Их разница заключается в ограничении на максимальной размер и в способности возвращать результаты произвольных пользовательских запросов. Наиболее простые коллекции — статические.
Например, обложки журнала Sports Illustrated. Искать по ним, используя произвольные запросы, нельзя, но можно сортировать, работая с атрибутами и ключевыми словами.
К примеру, отбирать все обложки, на которых изображены игроки футбольной команды Chicago Bears.
Динамические коллекции прямо противоположны статическим и здесь пример — Wikipedia. В таких коллекциях XML генерируется автоматически, есть поддержка пользовательских запросов: информация динамически подгружается и обрабатывается с внешнего источника.
Наконец, третий тип коллекций — это связанные коллекции. Например, коллекция лучших фильмов от All Movie Guide состоит из отдельных, статических, но связанных между собой коллекций актеров и актрис. Соответственно, между ними можно свободно перемещаться.
Для просмотра коллекций необходимо использовать особый браузер, который так и называется — Pivot. На самом деле, это такой доработанный IE 8, поскольку он умеет спокойно открывать и обычные сайты.
Возможно когда-нибудь, если мои прогнозы в отношении кнопки “Get in Pivot” сбудутся, функционал этого отдельного браузера будет перемещен в настоящий Internet Explorer, но пока приходится довольствоваться дополнительным приложением.
На картинке ниже вы видите архитектуру Pivot. Ничего сверхъестественного: набор файлов на сервере и локальный клиент, который знает, как их отображать в зависимости от того, зашёл ли пользователь на обычный сайт или обращается к коллекции.