Дик Куслейка Визуализация данных при помощи дашбордов и отчетов в Excel Data Visualization with Excel® Dashboards and Reports Dick Kusleika Визуализация данных при помощи дашбордов и отчетов в Excel Дик Куслейка Москва, 2022 УДК 004.424 ББК 32.372 К94 К94 Куслейка Д. Визуализация данных при помощи дашбордов и отчетов в Excel / пер. с англ. А. Ю. Гинько. – М.: ДМК Пресс, 2021. – 338 с.: ил. ISBN 978-5-97060-966-8 В этой книге поэтапно рассматриваются средства Excel, связанные с визуализацией данных, – от элементарных операций с рабочими листами до построения полноценных диаграмм и дашбордов. Вы научитесь анализировать огромные массивы данных и представлять их в сжатом и понятном виде, обеспечивать их визуальную привлекательность, автоматизировать анализ и отчеты. Издание будет полезно пользователям Excel любого уровня, менеджерам, специалистам по финансам и бизнес-аналитике, руководителям отделов и всем, кому небезразличны данные и их представление. УДК 004.424 ББК 32.372 All rights reserved. This Translation publish under license with the original publisher John Wiley & Sons, lnc. Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. ISBN 978-1-119-69872-2 (англ.) ISBN 978-5-97060-966-8 (рус.) © John Wiley & Sons, Inc., 2021 © Перевод, оформление, издание, ДМК Пресс, 2021 Баттерсу Содержание От издательства..........................................................................................................11 Об авторе.....................................................................................................................12 О техническом редакторе........................................................................................13 Благодарности............................................................................................................14 Введение......................................................................................................................15 Часть I Отображение данных на дашборде. .....................................................18 Глава 1 Основы дашбордов...................................................................................19 Когда необходимо использовать дашборды...........................................19 Что такое дашборд?...............................................................................21 Ключевые показатели эффективности..............................................22 Пользовательские требования..................................................................22 Типы конечных пользователей...........................................................23 Сбор данных................................................................................................24 Сводные таблицы..................................................................................24 Функция ПОЛУЧИТЬ.ДАННЫЕ.СВОДНОЙ.ТАБЛИЦЫ (GETPIVOTDATA). .............................................................................28 Функции рабочего листа. .....................................................................30 Функция ВПР (VLOOKUP)................................................................30 Функция ПРОСМОТРХ (XLOOKUP)................................................31 Функции ИНДЕКС (INDEX) и ПОИСКПОЗ (MATCH)....................32 Функция СУММПРОИЗВ (SUMPRODUCT).....................................33 Формулы массива.............................................................................36 Умные таблицы......................................................................................37 Структурированные ссылки на таблицы......................................39 Текст по столбцам..................................................................................41 Удаление дубликатов............................................................................43 Построение дашбордов..............................................................................45 Организация элементов.......................................................................46 Разнообразие элементов......................................................................47 Содержание 7 Отображение трендов...........................................................................48 Форматирование дашбордов....................................................................50 Форматирование чисел. .......................................................................54 Глава 2 Практические примеры дашбордов......................................................56 Отслеживание процесса.............................................................................56 Практический пример: отслеживание процесса написания ПО.....56 Планирование и составление макета............................................57 Сбор данных......................................................................................59 Построение визуальных элементов..............................................60 Размещение элементов на дашборде. ..........................................72 Отображение ключевых показателей эффективности.........................73 Практический пример: отдел по работе с персоналом...................73 Планирование и составление макета............................................73 Сбор данных......................................................................................74 Построение визуальных элементов..............................................75 Размещение элементов на дашборде. ..........................................86 Отображение финансовых показателей. ................................................89 Практический пример: финансовая информация и показатели....89 Планирование и составление макета............................................90 Сбор данных......................................................................................90 Построение визуальных элементов..............................................92 Размещение элементов на дашборде. ........................................101 Глава 3 Организация данных для дашбордов.................................................104 Разделение слоев данных........................................................................104 Слой источника....................................................................................106 Слой подготовки и анализа. ..............................................................108 Слой представления............................................................................109 Работа с внешними данными.................................................................109 Power Query против Power Pivot........................................................109 Текстовые файлы.................................................................................110 Файлы Excel..........................................................................................115 Базы данных Access.............................................................................123 Базы данных SQL Server. ....................................................................129 Преобразование данных при помощи Power Query............................132 Управление столбцами и строками..................................................135 Преобразование столбцов..................................................................138 Преобразование типов данных....................................................138 Преобразование чисел. .................................................................140 Разделение столбцов.....................................................................141 Часть II Основы визуализации данных..............................................................145 Глава 4 Основы эффективной визуализации...................................................146 Создание эффективной визуализации..................................................146 Держитесь в рамках одного экрана..................................................146 8 Содержание Повысьте привлекательность дашборда..........................................148 Расскажите свою историю быстро....................................................148 История должна быть согласована с данными. ..............................152 Выберите правильный тип диаграммы...........................................152 Управление цветом. .................................................................................154 Как использовать цвет........................................................................154 Изменение цвета точек данных с изменением значений.......155 Использование контраста для выделения данных...................155 Группирование данных при помощи цвета...............................156 Советы по использованию цвета......................................................157 Используйте пустое пространство. .............................................157 Используйте простую цветовую палитру...................................159 Используйте цвета, согласующиеся с данными........................159 Используйте контраст...................................................................159 Используйте неинформационные пиксели при необходимости. ......................................................................160 Равнение на текст.....................................................................................160 Шрифты.................................................................................................160 Легенды.................................................................................................161 Оси.........................................................................................................163 Подписи данных..................................................................................163 Демонстрация аналитических выводов (инсайтов) на графиках.....164 Сравнение.............................................................................................165 Анализ состава.....................................................................................166 Взаимосвязи.........................................................................................168 Глава 5 Неграфические визуализации...............................................................170 Основы пользовательских числовых форматов. .................................170 Четыре секции форматирования......................................................170 Специальные символы.......................................................................172 Заместитель цифры.......................................................................172 Запятые и точки. ............................................................................172 Текст.................................................................................................173 Символ подчеркивания.................................................................174 Звездочка.........................................................................................174 Экранирование специальных символов. ...................................175 Финансовый формат чисел...........................................................175 Форматы даты и времени. .................................................................177 Условные пользовательские числовые форматы. ..........................178 Использование значков...........................................................................179 Цветовые шкалы..................................................................................179 Гистограммы........................................................................................184 Наборы значков...................................................................................187 Создание спарклайнов.............................................................................189 Типы спарклайнов...............................................................................189 Создание спарклайнов. ......................................................................190 Группы спарклайнов...........................................................................191 Содержание 9 Настройка спарклайнов. ....................................................................192 Изменение источника данных.....................................................192 Изменение цвета и толщины линий спарклайнов...................193 Настройка осей...............................................................................195 Глава 6 Использование фигур для создания инфографики..........................197 Работа с фигурами....................................................................................197 Вставка фигур.......................................................................................197 Настройка фигур..................................................................................200 Встраивание данных в фигуры...............................................................202 Создание баннера................................................................................203 Создание закладки..............................................................................206 Работа с несколькими фигурами. .....................................................208 Создание простых графиков с применением фигур. ....................210 Создание пользовательской инфографики. .........................................212 Добавление других иллюстраций. .........................................................214 Часть III Рассказываем историю с помощью визуализации...........................219 Глава 7 Визуализация сравнения показателей эффективности...................220 Отдельные показатели.............................................................................220 Гистограмма. .............................................................................................222 Практический пример: продажи по кварталам..............................225 Пулевая диаграмма...................................................................................226 Практический пример: расходы в сравнении с планом................227 Гистограмма с группировкой..................................................................231 Практический пример: брак на производстве................................232 Воронка. .....................................................................................................233 Практический пример: конверсия продаж. ....................................234 Точечная диаграмма.................................................................................236 Практический пример: температура и продажи............................238 Пузырьковая диаграмма..........................................................................241 Практический пример: ипотека........................................................241 Точечная гистограмма.............................................................................244 Практический пример: объемы производства...............................244 Глава 8 Визуализация частей от целого. ...........................................................255 Круговая диаграмма.................................................................................255 Кольцевая диаграмма...............................................................................257 Практический пример: продажи по регионам...............................258 Вафельная диаграмма..............................................................................260 Практический пример: привилегии для сотрудников. .................261 Диаграмма солнечные лучи....................................................................265 Практический пример: анализ времени производственного процесса................................................................................................267 Гистограммы. ............................................................................................268 Практический пример: средний чек в ресторане. .........................271 10 Содержание Диаграмма дерево. ...................................................................................272 Практический пример: виды страхования......................................274 Каскадная диаграмма. .............................................................................275 Практический пример: чистая прибыль..........................................277 Глава 9 Визуализация изменений с течением времени.................................281 Линейный график.....................................................................................281 Практический пример: продажи товаров по категориям.............284 Столбчатая диаграмма с отклонениями. ..............................................289 Практический пример: продажи домов по месяцам.....................289 Комбинированная диаграмма................................................................297 Практический пример: выручка от грузовых перевозок и мили...................................................................................................298 Линейный график с отклонениями.......................................................300 Практический пример: отслеживание выручки по кварталам.....301 Смежные ящики с усами. ........................................................................305 Практический пример: зарплаты по отделам. ...............................307 Анимированная диаграмма....................................................................309 Сводные диаграммы...........................................................................309 Промежуточные данные с формулами. ...........................................313 Анимация диаграммы при помощи макроса. ................................316 Автоматизация диаграмм.......................................................................319 Манипулирование объектами диаграмм.........................................319 Создание панельных диаграмм. .......................................................324 Предметный указатель...........................................................................................334 От издательства Отзывы и пожелания Мы всегда рады отзывам наших читателей. Расскажите нам, что вы ду­маете об этой книге – что понравилось или, может быть, не понравилось. Отзывы важны для нас, чтобы выпускать книги, которые будут для вас максимально полезны. Вы можете написать отзыв на нашем сайте www.dmkpress.com, зайдя на страницу книги и оставив комментарий в разделе «Отзывы и рецензии». Также можно послать письмо главному редактору по адресу dmkpress@gmail. com; при этом укажите название книги в теме письма. Если вы являетесь экспертом в какой-либо области и заинтересованы в написании новой книги, заполните форму на нашем сайте по адресу http:// dmkpress.com/authors/publish_book/ или напишите в издательство по адресу dmkpress@gmail.com. Список опечаток Хотя мы приняли все возможные меры для того, чтобы обеспечить высокое качество наших текстов, ошибки все равно случаются. Если вы найдете ошибку в одной из наших книг, мы будем очень благодарны, если вы сообщите о ней главному редактору по адресу dmkpress@gmail.com. Сделав это, вы избавите других читателей от недопонимания и поможете нам улучшить последующие издания этой книги. Нарушение авторских прав Пиратство в интернете по-прежнему остается насущной проблемой. Издательства «ДМК Пресс» и Wiley очень серьезно относятся к вопросам защиты авторских прав и лицензирования. Если вы столкнетесь в интернете с незаконной публикацией какой-либо из наших книг, пожалуйста, пришлите нам ссылку на интернет-ресурс, чтобы мы могли применить санкции. Ссылку на подозрительные материалы можно прислать по адресу элект­ ронной почты dmkpress@gmail.com. Мы высоко ценим любую помощь по защите наших авторов, благодаря которой мы можем предоставлять вам качественные материалы. Об авторе Дик Куслейка (Dick Kusleika) работает с пакетом Microsoft Office на протяжении более 20 лет. В течение 12 лет подряд удостаивался статуса Microsoft MVP. Перу Дика принадлежит несколько книг по Excel и Access. О техническом редакторе Даг Холланд (Doug Holland) – инженер-программист и разработчик архитектуры в Microsoft Corporation, обладающий степенью магистра Оксфордского университета в области программной инженерии. Перед тем как присоединиться к компании Microsoft, Даг получил статус Microsoft MVP и Intel Black Belt Developer. Благодарности Особую благодарность хотел бы выразить Келли Тальбо (Kelly Talbot) за поддержку в написании книги и дополнительную мотивацию. Также хочу сказать огромное спасибо Питу Гоэну (Pete Gaughan) за потраченное время на начальном этапе проекта – это мне очень помогло. Отдельная признательность Джуди Флинн (Judy Flynn) и Дагу Холланду (Doug Holland) за помощь в поиске ошибок – вы помогли сделать эту книгу лучше. Мне было очень приятно работать в команде с такими крепкими профессионалами. — Дик Куслейка Введение В настоящее время бизнес хранит и обрабатывает огромные массивы данных – больше, чем когда бы то ни было. И это касается не только крупных компаний. Мелкие и средние предприятия сегодня также обрабатывают беспрецедентное количество информации. Руководство компаний использует собранные данные для принятия важных решений, но сложность состоит в том, что с такими объемами информации в исходном виде им просто не справиться. В связи с этим основной задачей бизнес-аналитики (Business Intelligence – BI) является преобразование сырых необработанных данных в вид, пригодный для анализа. Сама бизнес-аналитика появилась не вчера, но в последнее время значительно повысилось количество и качество инструментов в этой области. А это вкупе с возросшей доступностью данных привело к тому, что сегодня, похоже, только ленивый не строит дашборды. Excel постепенно становится флагманом в мире бизнес-аналитики, если еще не стал. Компания Microsoft в последние годы вложила немало ресурсов в развитие инструментов бизнес-аналитики, встроенных в Excel и существующих отдельно. За это время появилось целое семейство продуктов Power, включающее в себя Power Query, PowerPivot и Power BI, а также значительно обогатился выбор типов встроенных диаграмм, который еще пару версий назад был далеко не таким разнообразным. Постепенно некогда исключительно специализированные инструменты вошли в состав Excel и стали доступны всем и каждому. В прошлом вам понадобился бы целый серьезный проект для сбора данных, а без специальных инструментов о создании дашбордов не могло быть и речи. Сейчас же все эти средства наверняка уже установлены на вашем компьютере и просто ждут своего часа. И основой, объединяющей в себе все эти полезные инструменты, является именно Excel – программа, с которой вы работаете на ежедневной основе вне зависимости от масштаба вашего бизнеса. Возможно, вы сами хотите начать строить дашборды, но считаете, что у вас для этого недостаточно знаний и умений. Или руководство компании поставило вам такую задачу. В этой книге мы пройдем поэтапно по всем средствам Excel, связанным с визуализацией данных, – от фигур через условное форматирование и до полноценных диаграмм. Попутно мы будем разбирать 16 Введение реальные практические примеры, и вы сможете увидеть, как конкретные бизнес-требования превращаются в графики и дашборды. Организация книги Содержимое данной книги поделено на три части. В первой части я расскажу о дашбордах в целом, а также мы рассмотрим три реальных примера формирования дашбордов. Во второй части мы сосредоточимся на том, как можно выжать максимум возможного из отдельных компонентов, составляющих дашборды, и поговорим о некоторых неграфических элементах визуализации. Третья часть будет посвящена конкретным типам диаграмм с рассмотрением реальных практических примеров применения каждого из них. Глава 1 «Основы дашбордов» В данной главе мы поговорим о самых базовых фундаментальных вещах, касающихся проектирования дашбордов, включая основания для их применения и простейшие принципы их представления и форматирования. Глава 2 «Практические примеры дашбордов» В этой главе мы рассмотрим три практических примера. В каждом из них будут подробно описаны бизнес-требования к дашбордам и принципы их построения. Глава 3 «Организация данных для дашбордов» Эта глава будет целиком посвящена данным. В ней мы досконально разберем особенности организации данных по слоям. Также рассмотрим несколько типов внешних источников данных и посмотрим, как информацию из них можно перенести в Excel. Глава 4 «Основы эффективной визуализации» Данную главу будет полезно почитать новичкам в мире визуализации. Здесь мы узнаем, что делает визуализацию по-настоящему эффективной, как использовать такие элементы, как цвет и текст, а также как выбирать тип диаграммы для данных, которые вам необходимо представить конечному пользователю. Глава 5 «Неграфические визуализации» Не все компоненты дашборда представляют собой диаграммы. В данной главе мы подробно остановимся на особенностях визуализации в Excel и погрузимся в мир пользовательского форматирования. Глава 6 «Использование фигур для создания инфографики» В этой главе мы поговорим о применении элементарных фигур в Excel. Также вы увидите, как можно оригинально компоновать данные при помощи фигур. Глава 7 «Визуализация сравнения показателей эффективности» Данная глава будет посвящена типам диаграмм, идеально подходящим для сравнения различных показателей эффективности. Вместе с тем мы рассмотрим практические примеры применения каждого из этих типов визуального представления информации. Введение 17 Глава 8 «Визуализация частей от целого» В этой главе мы подробно рассмотрим варианты представления данных для ситуаций, когда показатель разбивается на составляющие. Так же, как и раньше, все размышления будут подкреплены конкретными практическими примерами. Глава 9 «Визуализация изменений с течением времени» Здесь мы коснемся типов диаграмм, подходящих для представления динамики показателей во времени. В качестве дополнения мы рассмотрим способы управления графиками посредством языка программирования Visual Basic for Applications (VBA). Сопроводительные файлы Все рабочие книги и вспомогательные файлы для работы с примерами из этой книги собраны по адресу www.wiley.com/go/datavizwithexcel или на сайте издательства dmkpress.com со страницы книги. Часть I Отображение данных на дашборде Глава 1. Основы дашбордов Глава 2. Практические примеры дашбордов Глава 3. Организация данных для дашбордов ГЛАВА 1 Основы дашбордов В этой главе: когда необходимо использовать дашборды; пользовательские требования; сбор данных; построение дашбордов; форматирование дашбордов. Дашборды еще никогда не были столь популярны. Сегодня в нашем распоряжении невиданное ранее количество информации и поражающие воображение средства ее визуализации. По своей сути дашборд (dashboard) является коллекцией диаграмм. Но это гораздо больше, чем просто коллекция. Разместите на странице разрозненные графики и диаграммы. Что перед вами? Дашборд? Фактически да, но он не слишком хорош. Создание действительно полезных дашбордов требует определенной подготовки, знаний и умений. В этой вводной главе мы познакомимся с понятием дашборда, его концепцией, а также пройдемся по навыкам, которыми необходимо обладать, чтобы полноценно работать с ним. Когда необходимо использовать дашборды Дашборды используются для представления данных. При этом сами данные могут проходить разные стадии: изначально мы имеем дело с сырыми необработанными данными, следующая стадия – их агрегирование, а далее анализ и презентация. Стадия, на которой находятся ваши данные, зависит от их источника и предназначения. Существует немало способов агрегировать данные и бесконечное количество методов их анализа и представления. К примеру, счет можно назвать агрегацией строк в табличной части счета, а отчет о продажах – агрегацией счетов. Таким образом, для счета исходными данными являются его строки, а для отчета о продажах – счета. На рис. 1.1 показаны данные на разных стадиях. Powered by TCPDF (www.tcpdf.org) 20 Часть I Отображение данных на дашборде Рис. 1.1. Исходные данные, агрегированные, проанализированные и представленные Исходными, или сырыми, данными (raw data) называют информацию, не прошедшую стадию обработки. Это могут быть транзакции из оперативной системы учета, данные о продажах из магазина или сведения с измерительных приборов, такие как температура или уровень жидкости. Если вашим исходным сырьем являются необработанные данные, вам придется выполнить их агрегирование и, возможно, предварительный анализ перед помещением на дашборд. Примечание Рабочая книга, графики из которой показаны в этой главе, называется Chapter1Figures.xlsx и располагается на сайте с сопроводительными файлами. Агрегированные данные (aggregated data) определенным образом группируются и суммируются. Например, в отчете о произведенных изделиях за месяц суммируются объемы производства по неделям или дням. А ежедневное производство может складываться из смен. Зачастую построение дашбордов начинается именно с агрегированных данных. Дашборды призваны рассказывать истории о данных. Анализ данных (analyzing data), в свою очередь, служит для определения того, какие истории получаются и какие из них достойны того, чтобы быть рассказанными. Анализ – это нечто большее, чем просто извлечение выводов из данных. Он также включает в себя исследование природы данных и определение вопросов, поднимаемых этими данными. Во время анализа данных зачастую приходится делать шаг назад и выполнять агрегирование иным способом. Заключительная стадия данных – это стадия представления (presentation), – именно здесь обитают дашборды. Процесс построения дашборда может начинаться на любой стадии. Если исходные данные для дашборда вы получаете от аналитика, скорее всего, история, которую они должны рассказывать, уже определена, а значит, вам останется лишь эффективно донести Глава 1 Основы дашбордов 21 ее до пользователя графически. Если же вы начинаете с необработанных данных, вам необходимо будет сначала агрегировать их, а затем проанализировать, чтобы определиться с этими историями. Дашборды постоянно развиваются. Если раньше это были исключительно статические визуализации, рассказывающие одну историю, то теперь они включают в себя сложнейшие средства бизнес-аналитики, позволяющие рассказывать сразу несколько историй или дать пользователю самому сделать для себя важные выводы. С появлением мощного пакета Microsoft Power BI и его дальнейшей интеграции с Excel посредством Power Pivot и Power Query средства самостоятельного анализа данных стали гораздо более доступными и фактически вышли на первый план. Ссылка Об инструментах Power Pivot, Power Query и Power BI мы будем говорить в главе 3. Что такое дашборд? Дашбордом называется один или несколько визуальных элементов, рассказывающих историю о лежащих в их основе данных. Отчет, в котором агрегированы данные, нельзя назвать дашбордом, поскольку он не рассказывает историю. Такой тип представления информации называется таблицей или отчетом – зачастую эти термины означают одно и то же. Дашборд же обязательно должен содержать визуальные элементы, а не просто список с данными. Рассказываемая история является важнейшим аспектом любого дашборда. Как мы уже говорили, именно на стадии анализа данных определяются важные аспекты истории. На дашбордах чаще всего отображаются ключевые показатели эффективности (key performance indicator – KPI). Эти показатели сами по себе могут быть историями, и в следующем разделе мы поговорим о них подробнее. Распространенной ошибкой при построении дашборда является начало истории с вывода. У пользователя может быть заранее сложившееся мнение о том, что именно должен рассказать дашборд. Но именно данные должны лежать в основе истории, а не наоборот. Постарайтесь преобразовать вывод в вопрос. Если кто-то хочет, чтобы ваш дашборд показывал снижение продаж по причине плохой погоды, вы должны задаться вопросом о том, как среднесуточная температура коррелирует с дневными продажами, или сравнить продажи в дождливые и солнечные дни. Данные, лежащие в основе дашборда, всегда с чем-то связаны. А с чем именно – зависит от того, кто просматривает дашборд. К примеру, рядовой менеджер отдела по работе с персоналом может запросить данные, связанные с удержанием сотрудников, такие как коэффициенты приема на работу и увольнения с работы, количество добровольных отставок и выходов на пенсию. В то же время управляющий отдела может заинтересоваться более обобщенной информацией об увольнениях, а также данными о затратах на заработную плату и льготах. Руководство компании хочет располагать сведениями о сотрудниках на уровне общих финансов, бухгалтерии и юридических аспектов. 22 Часть I Отображение данных на дашборде Ключевые показатели эффективности Как определяются ключевые показатели эффективности и их польза, выходит далеко за рамки этой книги. В руководстве компаний эти показатели устанавливаются на основании знаний о деятельности предприятия. Если у вас коммерческая организация, чистая прибыль будет мерилом вашего успеха, и вам не нужно анализировать какие-то данные, чтобы понять это. Показатели эффективности отличаются в разных компаниях, но некоторые из них используются чаще остальных в своих областях. К примеру, руководству финансовых отделов прежде всего будут интересны чистая прибыль, свободный денежный поток и оборотный капитал. А на производстве на первый план могут выходить объем этого самого производства и коэффициент использования линии. Пользовательские требования Никогда не приступайте к разработке дашборда без четкого плана действий. Здесь как при строительстве дома в отсутствие плана – все может рухнуть, и придется возводить здание заново. Чтобы разработать план, поговорите с конечными пользователями дашборда. Существует по крайней мере три типа пользователей, которых вам стоит опросить при составлении плана: непосредственно заказчика дашборда, человека, поставляющего исходные данные, и конечного пользователя. При этом все они могут быть представлены в одном лице, и даже в вашем собственном. Получите максимум информации от заказчика дашборда. Если у него есть общая идея того, что хочется получить, постарайтесь углубиться в детали, чтобы картина стала наиболее полной. Как я уже упоминал ранее, у заказчика в сознании может быть даже итоговый вывод дашборда. Сделайте все, чтобы превратить этот вывод в один или несколько вопросов. Что касается источника данных, то этот аспект зачастую незаслуженно упускается из виду. На этапе разработки плана обязательно узнайте, откуда берутся исходные данные для дашборда, а также проходят ли они предварительную агрегацию или анализ. В зависимости от проекта вы можете стремиться к получению максимально сырых исходных данных, насколько это возможно, чтобы можно было изменить направление анализа в любой момент. Детальные данные всегда можно агрегировать как-то иначе, тогда как разагрегировать их будет почти невозможно. Определите, поступают ли исходные данные изнутри организации или извне, кто занимается поддержкой этих данных и как часто они обновляются. К примеру, финансовые данные из бухгалтерской системы могут быть доступны раз в месяц или в квартал, тогда как информацию с точки продажи можно запрашивать практически в реальном времени. Если у вас в наличии нет исходных данных для дашборда, ваш проект может раздвоиться: одна часть будет добывать данные, а другая заниматься построением дашборда. Более того, может оказаться так, что данные не прос­то Глава 1 Основы дашбордов 23 недоступны в настоящий момент, а их не существует вовсе. Например, если на предприятии не ведется учет брака на линии, получить исторические сведения из этой области будет просто невозможно. В этом случае вам необходимо инициировать сбор нужной вам информации, хотя это и приведет к задержке выпуска итогового дашборда. И чем раньше вы обговорите все эти моменты с заказчиком, тем более реалистичными будут его ожидания. Типы конечных пользователей Конечных пользователей можно разбить на типы по тому, как они будут использовать дашборд. Наблюдатели (monitor) используют дашборды для конт­ роля состояния компании или проекта в тот или иной момент времени. Находясь в автомобиле, вы постоянно наблюдаете за своим дашбордом в виде приборной панели, контролируя скорость, уровень топлива и индикаторы диагностики. Решители (decider) применяют дашборды с целью определиться, стоит ли принимать то или иное решение. А менеджеры по производству (production manager) могут опираться на дашборд по продажам и использованию линий для решения о том, стоит ли запускать третью смену. Планировщики (planner) являются представителями руководства компании и занимаются определением вектора развития организации. Они следят за более общими показателями, а решения принимают политического характера. При этом планировщики могут воспользоваться информацией об оперативных результатах деятельности подразделения с целью распределения ресурсов на ближайшие пять лет. Презентаторы (presenter) используют дашборды для представления информации. Дашборд, показанный на собрании акционеров, может позволить им увидеть информацию, которой они не располагают на ежедневной основе. Разумеется, все эти категории пользователей могут пересекаться между собой. К примеру, наблюдатели могут принимать определенные решения в зависимости от показателей. А акционеры – сменить руководство компании, если им не понравятся те или иные цифры. Полезно знать свою аудиторию, а иногда и аудиторию своей аудитории, чтобы предоставлять информацию в правильном виде. Также важно определиться с тем, как часто будет использоваться дашборд. Если ваш дашборд посвящен влиянию проведения Олимпийских игр на финансовое благополучие города-организатора, разумеется, можно предположить, что он будет построен один раз. Для таких «одноразовых» дашбордов нет нужды беспокоиться о хранении данных и эффективности доступа к ним. Если дашборд планируется обновлять периодически или он должен работать в реальном времени, вам придется позаботиться о беспрепятственном доступе к актуальным исходным данным. Кроме того, в этом случае стоит задуматься и об автоматизации. Дашборд, работающий в реальном времени, должен быть полностью автоматизирован, тогда как ежегодные дашборды могут быть автоматизированы лишь частично. С самого начала работы над проектом ведите его документацию. Для этого вовсе не обязательно устанавливать какое-то специализированное про- 24 Часть I Отображение данных на дашборде граммное обеспечение, достаточно будет обычного текстового файла или таблицы. Фиксируйте всю информацию о пользователях дашборда и данных, которые уже исследовали. Также документируйте весь путь исходных данных от хранилища до таблицы. Даже если ваш дашборд будет частично или полностью автоматизирован, отражайте весь поток данных документально, чтобы вы или кто-то другой могли внести необходимые изменения при необходимости. Представьте, что вы создаете дашборд не сегодня, а через год, когда забудутся все детали, и попытайтесь ответить на все вопросы, которые у вас возникнут. Планируйте каждую стадию разработки дашборда. По готовности плана отправьте его заказчикам для обсуждения деталей и после каждого внесения изменений проводите новое согласование. Ожидая ответ, вы можете заниматься следующей стадией проекта, но никогда не принимайте важных решений без согласования с заказчиком. Нет ничего хуже, чем сдать финальную версию дашборда, содержащую недочеты, которые можно было устранить на ранних стадиях. Наконец, запланируйте ревизию дашборда после его внедрения. Если вы посылаете дашборд пользователям еженедельно, постарайтесь встретиться с ними через несколько месяцев, чтобы убедиться, что дашборд по-прежнему отвечает всем их требованиям. Это особенно важно, если от вас требуются какие-то действия по публикации дашборда. У меня была ситуация, когда я ежемесячно создавал дашборды, не заметив, что механизм их публикации сломался. Прошло какое-то время, но никто так и не поинтересовался, почему дашборд не обновляется. Оказалось, что за это время требования в компании изменились, и этот дашборд просто утратил актуальность. Сбор данных Для пользователя Excel работа с данными является самой приятной частью процесса построения дашборда. Как вы, разумеется, знаете, Excel обладает очень богатым инструментарием для агрегации и манипуляции данными, включая сотни приемов и функций для сортировки, разделения данных и удаления дубликатов. В следующих разделах мы обсудим эти средства более подробно. Ссылка Если исходные данные для вашего дашборда располагаются за пределами Excel, первым делом необходимо их получить. Работу с внешними данными мы детально будем рассматривать в главе 3. Сводные таблицы Одним из наиболее мощных инструментов Excel является сводная таблица (PivotTable). Сводная таблица представляет собой отчет, в котором выполнены фильтрация, сортировка и агрегация исходных данных по вашим требованиям. Сводные таблицы являются полностью интерактивными – это Глава 1 Основы дашбордов 25 означает, что вы можете по желанию переносить поля в них в нужные вам секции для контроля над тем, как будут агрегироваться ваши данные. Ссылка Диаграммы, созданные на основании сводных таблиц, называются сводными диаграммами (PivotChart). Сводные диаграммы от обычных также отличаются своей интерактивностью. Подробно о сводных диаграммах мы будем говорить в главе 9. Все, что вы можете делать со сводными таблицами, вы можете делать и с формулами рабочего листа. При этом сводная таблица выполнит агрегирование данных гораздо быстрее, чем это сделают формулы. Любые изменения в сводных таблицах, включая добавление, удаление или перестановку столбцов, будут выполняться практически мгновенно. Переписывать формулы под изменившиеся требования будет дольше. На рис. 1.2 показан фрагмент исходных данных на листе Excel, а на рис. 1.3 – сводная таблица на их основании. Рис. 1.3. Сводная таблица Рис. 1.2. Исходные данные для сводной таблицы Сводная таблица, показанная на рис. 1.3, была создана путем перетаскивания поля Qtr в область столбцов (Columns), полей Region и State – в область строк (Rows), а поля Sales – в область значений (Values). По умолчанию Excel суммирует поле Sales, являющееся числовым. Для нечисловых данных Excel применяет агрегацию по количеству. На рис. 1.4 показана панель Поля сводной таблицы (PivotTable Fields) с заполненными областями. На панели с полями можно выделить следующие области: сервис (кнопка с шестеренкой). Здесь вы можете изменить расположение панели и отсортировать поля по именам. Если у вас много полей, возможно, вы предпочтете макет, предполагающий компактное размещение большего количества элементов; 26 Часть I Отображение данных на дашборде Рис. 1.4. Панель Поля сводной таблицы поиск (Search). Осуществляя ввод в этом поле, вы сможете ограничить список полей для выбора; фильтры (Filters). Если перенести поле в эту область, Excel разместит над сводной таблицей выпадающий список с его элементами. Пользователь сможет выбрать нужные ему фильтры для отображения в сводной таблице; столбцы (Columns). Поля, помещенные в эту область, будут располагаться в сводной таблице в виде колонок. Для реализации иерархии в столбцах вы можете разместить здесь несколько полей. В этом случае поле, стоящее выше по иерархии, будет объединять в себе нижестоящие поля, и значения в таблице под ним будут относиться к этому родительскому элементу. На рис. 1.5 показано, как можно поле Month вложить в поле Qtr. Значения Jan, Feb и Mar относятся к Qtr-1, так что только они располагаются под этим элементом, соответствующим первому кварталу; Рис. 1.5. Вложенные поля в области столбцов строки (Rows). Поля, расположенные в этой области, будут располагаться в сводной таблице в виде строк. Как и в случае со столбцами, вы можете вкладывать поля одно в другое в этой области, что также при- Глава 1 Основы дашбордов 27 ведет к образованию иерархии. В сводной таблице, изображенной на рис. 1.3, поле State вложено в поле Region по строкам; значения (Values). Значения полей, помещенных в эту область, будут агрегироваться в теле сводной таблицы. Наиболее часто используемыми функциями агрегирования являются Сумма (Sum) и Количество (Count). Но есть и другие способы агрегирования значений, включая вычисление среднего значения (Average), минимума (Min) и максимума (Max). Агрегации показываются в сводной таблице на пересечении строк и столбцов. Например, на рис. 1.3 на пересечении значений Qtr-1 и Missouri отображены только суммы, относящиеся к штату Миссури за первый квартал года. Также Excel добавляет в сводную таблицу общие итоги и промежуточные, если в строках или столбцах есть вложенные поля. Эти итоги могут быть показаны или скрыты по вашему желанию. Чтобы отключить общие итоги, щелкните мышью в любом месте сводной таблицы и в разделе Работа со сводными таблицами (PivotTable Tools) на вкладке Анализ (Analyze) нажмите на кнопку Параметры (Options), чтобы открылось диалоговое окно Параметры сводной таблицы (PivotTable Options), показанное на рис. 1.6. Снимите флажки Показывать общие итоги для строк (Show Grand Totals For Rows) и Показывать общие итоги для столбцов (Show Grand Totals For Columns) на вкладке Итоги и фильтры (Totals & Filters). Рис. 1.6. Диалоговое окно Параметры сводной таблицы Если вы хотите скрыть промежуточные итоги для вложенных полей, щелк­ ните мышью по одному из полей в соответствующей области и выберите 28 Часть I Отображение данных на дашборде в контекстном меню пункт Параметры поля (Field Settings). В открывшемся диалоговом окне Параметры поля (Field Settings), показанном на рис. 1.7, выберите один из следующих переключателей: автоматические (Automatic): промежуточные итоги будут отображаться с тем же типом агрегирования (сумма, количество и т. д.), что и дочернее поле; нет (None): промежуточные итоги для поля выводиться не будут; другие (Custom): промежуточные итоги будут отображаться с тем же или другим типом агрегирования по сравнению с дочерним полем. На рис. 1.8 показана сводная таблица со скрытыми общими и промежуточными итогами. Рис. 1.7. Диалоговое окно Параметры поля Рис. 1.8. Сводная таблица без общих и промежуточных итогов Функция ПОЛУЧИТЬ.ДАННЫЕ.СВОДНОЙ.ТАБЛИЦЫ (GETPIVOTDATA) Сводные таблицы динамичны по своей природе. Это означает, что данные в них могут менять свое расположение в зависимости от действий пользователя, что затрудняет обращение к ним в формулах на рабочем листе. К счастью, в Excel есть очень полезная функция ПОЛУЧИТЬ.ДАННЫЕ.СВОДНОЙ. ТАБЛИЦЫ (GETPIVOTDATA) для гарантии обращения к нужным вам данным анализа. К примеру, если вам необходимо получить информацию о продажах в штате Калифорния за первый квартал, вы можете воспользоваться этой функцией следующим образом1: 1 Здесь и далее мы будем приводить формулы для русской и английской версий Excel. – Прим. перев. Глава 1 Основы дашбордов 29 =ПОЛУЧИТЬ.ДАННЫЕ.СВОДНОЙ.ТАБЛИЦЫ("Sales";$I$3;"State";"California";"Region";"West";"Qtr";" Qtr-1") =GETPIVOTDATA("Sales",$I$3,"State","California","Region","West","Qtr","Qtr-1") Если источник данных пополнится новой информацией и нужная нам цифра переместится в сводной таблице в другое место, наша формула попрежнему будет указывать на нее. Первый аргумент формулы ссылается на поле в области значений, которое вы хотите вернуть. Следующим передается аргумент с адресом верхней левой ячейки сводной таблицы с данными. Дальнейшие шесть аргументов представляют собой пары значений полей для искомого пересечения. Эти пары значений могут следовать в любом порядке, но внутри каждой пары первым должно значиться имя поля, а вторым – его значение. Пара аргументов "State" и "California" предполагает, что мы должны взять строку, в которой для поля State указано значение California. После учета всех перечисленных пар аргументов мы сузим возвращаемое значение до единственной нужной нам цифры. Также функция ПОЛУЧИТЬ.ДАННЫЕ.СВОДНОЙ.ТАБЛИЦЫ может быть использована для получения итоговых значений в сводных таблицах. Например, чтобы получить общий итог по значению столбца Qtr-1, используйте следующую запись: =ПОЛУЧИТЬ.ДАННЫЕ.СВОДНОЙ.ТАБЛИЦЫ("Sales";$I$3;"Qtr";"Qtr-1") =GETPIVOTDATA("Sales",$I$3,"Qtr","Qtr-1") А общий итог по всей сводной таблице можно получить так: =ПОЛУЧИТЬ.ДАННЫЕ.СВОДНОЙ.ТАБЛИЦЫ("Sales";$I$3) =GETPIVOTDATA("Sales",$I$3) Как вы понимаете, каждую формулу с использованием функции ПОЛУЧИТЬ.ДАННЫЕ.СВОДНОЙ.ТАБЛИЦЫ со всеми ее аргументами писать вручную может быть весьма утомительно. К счастью, Excel вычисляет эту формулу за вас каждый раз, когда вы щелкаете по ячейкам сводной таблицы. Просто введите в строку формул знак равенства и щелкните по нужной вам ячейке, и функция будет заполнена всеми нужными вам аргументами. Если вы хотите обращаться к ячейкам сводной таблицы без использования функции ПОЛУЧИТЬ.ДАННЫЕ.СВОДНОЙ.ТАБЛИЦЫ, вы можете просто указывать в формуле адрес ячейки. Чтобы изменить адресацию данных в сводных таблицах, принятую по умолчанию, нажмите на вкладку Файл (File) и выберите пункт Параметры (Options). Перейдите в раздел Формулы (Formulas) и снимите флажок Использовать функции GetPivotData для ссылок в сводной таб­ лице (Use GetPivotData Functions For PivotTable References). Предупреждение В отличие от формул, сводные таблицы автоматически не обновляются при изменении исходных данных. Для принудительного обновления нажмите в разделе Работа со сводными таблицами (PivotTable Tools) на вкладке Анализ (Analyze) кнопку Обновить (Refresh). 30 Часть I Отображение данных на дашборде Функции рабочего листа Excel располагает сотнями функций рабочего листа (worksheet function) для манипулирования данными, которые можно использовать на дашбордах. На практике вы будете использовать далеко не все из них. Но есть функции, которые при формировании исходных данных для дашбордов применяются чаще остальных. В следующих разделах мы перечислим их и кратко пройдемся по их функционалу. Функция ВПР (VLOOKUP) Функция ВПР (VLOOKUP) используется для поиска значения в одном столбце таблицы и возвращения результата из другого столбца из той же строки. Синтаксис функции ВПР приведен ниже: ВПР(lookup_value; table_array; col_index_num; range_lookup) VLOOKUP(lookup_value, table_array, col_index_num, range_lookup) На рис. 1.9 показан пример применения функции ВПР. Рис. 1.9. Функция ВПР в действии В данном примере мы видим таблицу с суммами комиссий по продавцам и месяцам, расположенную в диапазоне F3:R52. Приведенная формула вычисляет комиссию за апрель по продавцу из ячейки B4. При этом имя продавца должно находиться в первом столбце указанного диапазона поиска. По сути, формула проходит по столбцу F, пока не найдет искомое имя, после чего возвращает значение из пятого по счету столбца в найденной строке. Аргумент range_lookup установлен в значение FALSE, чтобы производился четкий поиск. Если присвоить этому аргументу значение TRUE, Excel будет считать, что данные в первом столбце отсортированы, и найдет ближайшее к искомому значение, если четкий поиск не даст результата. В некоторых ситуациях нечеткий поиск может пригодиться, но это бывает не слишком Глава 1 Основы дашбордов 31 часто, – в большинстве случаев значение аргумента range_lookup должно быть установлено в FALSE. Функция ПРОСМОТРХ (XLOOKUP) Функция ПРОСМОТРХ (XLOOKUP) появилась в Excel относительно недавно. Она работает подобно функции ВПР (VLOOKUP), но не требует, чтобы искомое значение обязательно располагалось в первом столбце указанного диапазона. Ниже приведен синтаксис функции ПРОСМОТРХ: ПРОСМОТРХ(lookup_value; lookup_array; return_array; if_not_found; match_mode; search_mode) XLOOKUP(lookup_value, lookup_array, return_array, if_not_found, match_mode, search_mode) Первый аргумент у функций ПРОСМОТРХ и ВПР одинаковый. Но вместо того чтобы передавать целую таблицу, предполагая, что искомое значение располагается в первом ее столбце, мы дадим функции ПРОСМОТРХ диапазон для поиска и диапазон для возвращаемого значения. Функция ПРОСМОТРХ также включает в себя аргумент if_not_found, позволяющий передать значение, которое будет возвращено в случае безуспешного поиска. Если не задать этот аргумент, в случае неудачи функция ПРОСМОТРХ, подобно ВПР, вернет ошибку #Н/Д (#N/A). Аргумент match_mode похож на аргумент range_lookup функции ВПР. Но вместо логических значений TRUE и FALSE необходимо передать число, указывающее Excel, какой тип поиска применять. Значение этого аргумента по умолчанию равно нулю и означает четкий поиск. Заключительный аргумент search_mode позволяет указать Excel, как именно выполнять поиск. Если вы имеете дело с большим набором данных, использование этого аргумента может положительно сказаться на скорости выполнения операции. Но в большинстве случаев аргумент search_mode можно опустить. На рис. 1.10 показано использование этой функции с целью поиска имени продавца с максимальной суммой комиссии за апрель. Рис. 1.10. Функция ПРОСМОТРХ 32 Часть I Отображение данных на дашборде Вместо того чтобы осуществлять поиск значения в первой колонке диапазона, формула ищет указанную сумму в пятой колонке и возвращает соответствующее имя продавца из первой. А с учетом того, что в ячейке C4 мы ввели формулу =МАКС(J3:J52) (=MAX(J3:J52)), на выходе получим имя продавца с максимальной месячной комиссией, как и ожидали. Функция ПРОСМОТРХ проходит по столбцу J, ищет нужную нам сумму комиссии и возвращает имя соответствующего продавца из колонки F. Поскольку мы знаем, что искомое значение в столбце J точно присутствует, нам нет необходимости использовать дополнительные аргументы. Функции ИНДЕКС (INDEX) и ПОИСКПОЗ (MATCH) Если вы используете версию Excel, в которой не представлена относительно новая функция ПРОСМОТРХ, вы можете добиться похожих результатов путем сочетания двух полезных функций ИНДЕКС (INDEX) и ПОИСКПОЗ (MATCH). Функция ИНДЕКС возвращает значение из переданного диапазона на основании номеров строки и столбца. Для диапазона, состоящего из единственного столбца, достаточно указать только смещение по строкам. Функция ПОИСКПОЗ (MATCH) в связке с ИНДЕКС позволяет вычислить смещение по строкам. На рис. 1.11 показано совместное применение функций ИНДЕКС (INDEX) и ПОИСКПОЗ (MATCH) для получения результата, аналогичного функции ПРОСМОТРХ из предыдущего примера. Рис. 1.11. Функции ИНДЕКС (INDEX) и ПОИСКПОЗ (MATCH) Базовый синтаксис функции ПОИСКПОЗ следующий: ПОИСКПОЗ(lookup_value; lookup_array; match_type) MATCH(lookup_value, lookup_array, match_type) Функция ПОИСКПОЗ работает подобно ВПР, за исключением того, что не возвращает значение из другой колонки. Вместо этого она возвращает позицию значения из аргумента lookup_value в диапазоне, заданном аргументом lookup_array. Нулевое значение, переданное в качестве третьего параметра Глава 1 Основы дашбордов 33 match_type, указывает на четкий поиск, как в случае со значением FALSE для функции ВПР. В данном примере функция ПОИСКПОЗ возвращает значение 8, поскольку сумма, указанная в ячейке C4, располагается на восьмой строке в диапазоне поиска J3:J52. После этого итоговая формула приобретет следующий вид: =ИНДЕКС(F3:F52;8) =INDEX(F3:F52,8) Теперь рассмотрим синтаксис функции ИНДЕКС: ИНДЕКС(reference; row_number; column_number) INDEX(reference, row_number, column_number) Поскольку в качестве первого аргумента у нас используется единственный столбец (F3:F52), для поиска нужной ячейки достаточно будет указать только аргумент row_number. Функция СУММПРОИЗВ (SUMPRODUCT) Функция СУММПРОИЗВ (SUMPRODUCT) является одной из наиболее мощных функций рабочего листа в Excel. Она предназначена для перемножения двух и более диапазонов значений и подсчета общей суммы полученных произведений. Простой пример использования функции СУММПРОИЗВ показан на рис. 1.12. Рис. 1.12. Функция СУММПРОИЗВ В данном примере есть два столбца, представляющих количество проданных товаров и их цену. Применение функции СУММПРОИЗВ позволит перемножить соответствующие количество и цену построчно и суммировать полученные результаты. Такой же итог мы могли бы получить, если бы заполнили столбец C формулой =A2*B2 с протягиванием вниз, после чего вычислили бы общую сумму при помощи формулы =СУММ(C2:C5) (=SUM(C2:C5)). Функция СУММПРОИЗВ работает по принципу формул массива, о которых мы будем говорить в следующем разделе, и именно в этом состоит ее главная сила. С функцией СУММПРОИЗВ вы можете отфильтровывать ненужные значения, умножая их на ноль, чтобы они не оказывали влияния на итоговый 34 Часть I Отображение данных на дашборде расчет. На рис. 1.13 показано, как можно использовать эту функцию для расчета итоговой суммы по одному товару за один месяц. Рис. 1.13. Фильтрация при помощи функции СУММПРОИЗВ Приведенный здесь пример функции СУММПРОИЗВ можно условно разбить на три секции: две секции со сравнением и одну – с результатом. Магия функции СУММПРОИЗВ состоит в том, что, когда операция сравнения возвращает TRUE, при умножении это логическое значение интерпретируется как единица, а FALSE – как ноль. В первой секции ($C$2:$C$3651=K6) производится сравнение каждого значения в столбце C со значением в ячейке K6 и возвращается TRUE или FALSE. Во второй секции (MONTH($A$2:$A$3651)=4) сравнивается месяц каждого значения в колонке A со значением 4 и также возвращается TRUE или FALSE. В заключительной секции ($I$2:$I$3651) никаких сравнений нет. Здесь мы просто получаем длинный список значений из столбца I. Каждая из этих секций возвращает массив из 3650 значений. При этом первые два массива содержат значения TRUE и FALSE, а последний массив – числа из столбца I. После этого функция СУММПРОИЗВ перемножает значения массивов построчно. К примеру, для первой строки в массиве, соответствующей второй строке с данными, функция производит вычисление вида FALSE * FALSE * 535,84, поскольку значение в ячейке C2 не равно значению в ячейке K6, и месяц из ячейки A2 не равен четырем. Как мы уже знаем, логическое значение FALSE в математических операциях интерпретируется как ноль, а умножение любого числа на ноль дает ноль. Таким образом, результирующее значение по строке также будет равно нулю. Для данных в строке 6 значений в столбце C совпадают с искомым значением в ячейке K6, но месяц не совпадает. В итоге получаем математическое выражение TRUE * FALSE * 575,60. Логическое значение TRUE будет интерпретировано как единица, а FALSE – как ноль. Результатом снова будет ноль. И только в строке 924 в первый раз нам встретится ситуация с двумя совпадениями в колонках C и A. В итоге формула приобретет вид TRUE * TRUE * 47,12, что в результате даст 47,12. Таким образом, Excel будет возвращать ноль всякий раз, когда оба сравнения будут проваливаться. И только когда сравнения будут возвращать TRUE, Глава 1 Основы дашбордов 35 результат будет отличным от нуля. При этом совершенно не важно, будет ли у вас две секции сравнения или 20, Excel будет воспринимать каждое совпадение как единицу и соответствующим образом вычислять результат. В этом отношении функция СУММПРОИЗВ похожа на сводные таблицы. В сводных таблицах происходит агрегирование исходных значений в местах пересечения значений в строках и столбцах. Преимущество сводных таблиц перед функциями состоит в том, что в них легче вносить изменения. В то же время результаты формульных вычислений будут обновляться автоматически при изменении исходных данных, тогда как сводную таблицу необходимо обновлять вручную. Еще одно сходство между функцией СУММПРОИЗВ и сводными таблицами заключается в возможности агрегировать значения не по сумме, а по количеству элементов. Чтобы посчитать количество совпадений при помощи функции СУММПРОИЗВ, нужно включить в нее только секции сравнения. К примеру, чтобы подсчитать количество строк в нашей таблице по определенному товару за апрель, можно вызвать следующую функцию: =СУММПРОИЗВ(($C$2:$C$3651=K6)*(МЕСЯЦ($A$2:$A$3651)=4)) =SUMPRODUCT(($C$2:$C$3651=K6)*(MONTH($A$2:$A$3651)=4)) Как видите, эта формула очень похожа на предыдущую, за тем лишь исключением, что в ней не присутствует указание на столбец I. Теперь в случае успешного сравнения в обоих столбцах Excel перемножит две единицы, что даст в результате единицу. В данном примере строк, удовлетворяющих нашему условию, будет ровно 18. В итоге будет возвращена сумма для такого количества единиц, что приведет к результату 18. Также вы можете объединять в функции СУММПРОИЗВ сравнения по одному и тому же столбцу при помощи сложения. К примеру, если вам нужно найти все строки за апрель, в которых присутствует либо товар P23981, либо P73302, вы можете использовать следующую формулу: =СУММПРОИЗВ((($C$2:$C$3651="P23981")+($C$2:$C$3651="P73302"))*(МЕСЯЦ($A$2:$A$3651)=4)*($I$ 2:$I$3651)) =SUMPRODUCT((($C$2:$C$3651="P23981")+($C$2:$C$3651="P73302"))*(MONTH($A$2:$A$3651)=4)*($I$ 2:$I$3651)) В данном примере присутствует две секции сравнения, ссылающихся на столбец C. Как вы понимаете, оба этих условия никогда не дадут результат TRUE, поскольку в ячейке не может быть указано два товара одновременно. Таким образом, остаются варианты математических выражений 0 + 0, 0 + 1 или 1 + 0, что приведет к возвращению единицы, если ячейка ссылается на какой-либо из указанных товаров, и нуля, если ни один из искомых товаров в ячейке не присутствует. Поскольку оператор умножения в Excel обладает более высоким приоритетом по сравнению со сложением, мы должны заключить в скобки наше сравнение, чтобы оно было выполнено в первую очередь. Используйте эту технику со сложением только в случае обращения к одному и тому же столбцу. Если вы укажете разные столбцы, для каких-то строк могут быть возвращены два логических значения TRUE, что приведет к выполнению математического выражения 1 + 1 = 2, а это нарушит все ваши расчеты. 36 Часть I Отображение данных на дашборде Формулы массива Функция СУММПРОИЗВ, которую мы обсуждали в предыдущем разделе, является особым случаем. Она просто суммирует результаты, но не умеет применять другие виды агрегации. Формулы массива используют те же вычисления, что и функция СУММПРОИЗВ, но с возможностью указать тип агрегации, применяемый к фильтруемым значениям. Особенностью работы с формулами массива является то, что при их вводе необходимо нажимать сочетание клавиш Ctrl+Shift+Enter, а не просто Enter, как в случае с той же функцией СУММПРОИЗВ и другими функциями рабочего листа. Например, если вы хотите применительно к тому же набору данных вернуть максимальную сумму из столбца I по товару P23981 за апрель, то можете воспользоваться функцией МАКС (MAX) совместно с формулой массива, как показано ниже и на рис. 1.14: =МАКС(($C$2:$C$3651=K6)*(МЕСЯЦ($A$2:$A$3651)=4)*($I$2:$I$3651)) =MAX(($C$2:$C$3651=K6)*(MONTH($A$2:$A$3651)=4)*($I$2:$I$3651)) На рис. 1.14 видно, что наше выражение в строке формул оказалось заключено в фигурные скобки. При этом мы не вводили эти скобки. Они автоматически появились при нажатии сочетания клавиш Ctrl+Shift+Enter вместо Enter. Если написанная вами формула массива возвращает неправильный результат, первым делом необходимо проверить наличие фигурных скобок в строке формул. В случае их отсутствия нажмите на клавишу F2, чтобы перей­ти в режим редактирования, после чего снова нажмите сочетание клавиш Ctrl+Shift+Enter. Рис. 1.14. Формула массива для нахождения максимальной суммы по условию Как и в случае с функцией СУММПРОИЗВ, эта формула массива содержит две секции сравнения и одну секцию со значениями. После перемножения результатов выполнения трех вычислений по тем же правилам, что и раньше, будет рассчитана не сумма, а максимальное значение. Фактически если в этой формуле поменять функцию МАКС на СУММ (SUM), вы получите тот же результат, что и в примере с функцией СУММПРОИЗВ. Нахождение минимального значения в списке отфильтрованных элементов требует использования несколько иной техники. Поскольку значения, Глава 1 Основы дашбордов 37 которые вы исключаете из выбора, приравниваются к нулю, минимальное значение в списке из положительных чисел всегда будет равняться нулю. К счастью, функция МИН (MIN) игнорирует текстовые выражения, и мы можем использовать это свойство для включения в выборку только ненулевых значений. В следующей формуле мы вычислим минимальное значение по товару P23981 за апрель: =МИН(ЕСЛИ(($C$2:$C$3651=K15)*(МЕСЯЦ($A$2:$A$3651)=4)=0;"";$I$2:$I$3651)) =MIN(IF(($C$2:$C$3651=K15)*(MONTH($A$2:$A$3651)=4)=0,"",$I$2:$I$3651)) Две условные секции мы разместили здесь внутри условного аргумента функции ЕСЛИ (IF). Если в результате перемножения результатов сравнения мы получим ноль, в список фильтруемых значений будет вставлена пустая строка (две двойные кавычки). В противном случае будет вставлено содержимое столбца I. Поскольку функция МИН игнорирует текстовые выражения, все значения, полученные в результате неудачных сравнений, будут отброшены, а минимальное значение будет вычислено на основе совпадений, завершившихся успешно. Умные таблицы Умные таблицы (table) представляют собой особую область с данными на рабочем листе. Эти области можно сравнить с таблицами баз данных, но они обладают лишь некоторыми их свойствами. Двумя главными преимуществами применения умных таблиц является то, что формат и формулы в них распространяются на все строки определенного столбца, и ссылки на таблицу автоматически адаптируются под ее изменяющиеся размеры. На рис. 1.15 показана небольшая умная таблица и диаграмма, построенная на ее основании. Если в таблице изменится количество строк или столбцов, диаграмма будет перерисована автоматически. Таким образом, график не привязан жестко к диапазону A1:C6, а ссылается на таблицу с именем Table1 и следит за изменениями ее размеров. Первое, что нужно сделать, – это преобразовать диапазон на рабочем листе Excel в таблицу. Для этого выделите диапазон и на вкладке Вставка (Insert) нажмите на кнопку Таблица (Table). В результате появится диалоговое окно Создать таблицу (Create Table), показанное на рис. 1.16. В открывшемся окне вы видите ссылку на диапазон создаваемой таблицы, а также можете указать, является ли первая строка в указанном диапазоне строкой с заголовками. Нажмите на кнопку OK, убедившись, что все заполнено правильно. После этого выделите созданную таблицу на рабочем листе и на вкладке Вставка (Insert) нажмите на кнопку Рекомендуемые диаграммы (Recommended Charts) и выберите вариант Гистограмма с группировкой (Clustered Column) для вставки соответствующего графика. Вы можете изменить заголовок диаграммы, как сделал я, но для данного примера это вовсе не обязательно. 38 Часть I Отображение данных на дашборде Рис. 1.15. Диаграмма на базе умной таблицы Рис. 1.16. Диалоговое окно создания таблицы Теперь представьте, что вам необходимо добавить в таблицу данные по следующему году и вывести регион Texas из состава Southwest. Работая с диапазонами в Excel, вам пришлось бы создавать новый ряд для нового года и изменить существующие ряды под расширенный диапазон. Но, поскольку вы используете умные таблицы, то можете просто добавить новые данные, и диаграмма автоматически подстроится. Чтобы это сделать, встаньте в ячейку D1 и введите номер года 2023. На рис. 1.17 видно, что Excel автоматически добавил новую колонку в таблицу и создал ряд на диаграмме. Теперь введите слово Texas в ячейку A7. Excel автоматически добавит новую строку в таблицу, в которую вы сможете ввести нужные данные. На рис. 1.18 показаны обновленная таблица и график. Excel сам добавил новый столбец на диаграмму для нового региона, а ряд 2023 автоматически заполнился данными из таблицы. При этом значения, введенные для штата Техас, приняли тот же формат, что и остальные данные в существующих столбцах таблицы. Что касается нового столбца 2023, то данные в нем не были отформатированы, и вам придется вручную выполнить эту операцию. На диаграмме вам не пришлось ничего менять вручную. Все, что вы сделали, – это добавили новую информацию в таблицу. Глава 1 Основы дашбордов 39 Рис. 1.17. Таблица расширяется под новые данные Рис. 1.18. Диаграмма адаптировалась под новую таблицу Структурированные ссылки на таблицы Как мы уже видели, диаграмма из предыдущего примера автоматически подстраивается под данные в таблице при ее расширении. Формулы, использующие при обращении к таблицам структурированные ссылки (structured table referencing), будут учитывать все изменения, происходящие в источнике. Давайте для этого примера изменим название нашей умной таблицы на tblRevenue. Для этого щелкните по таблице и на вкладке Конструктор таблиц (Table Tools Design) измените имя в поле Имя таблицы (Table Name). Powered by TCPDF (www.tcpdf.org) 40 Часть I Отображение данных на дашборде Чтобы создать свою первую формулу с использованием структурированных ссылок, щелкните по свободной ячейке на рабочем листе, начните вводить формулу, например так: =СУММ( (SUM), и щелкните по любой ячейке из диапазона B2:B7. Стоит отметить, что если вы начнете вводить данные в соседнюю с таблицей ячейку, Excel решит, что вы собираетесь ее расширить, и будет действовать соответствующе. Так что лучше делать это в ячейке, отстоящей от таблицы. По умолчанию Excel преобразует вашу формулу для использования структурированных ссылок, как показано ниже: =СУММ(tblRevenue[2021]) =SUM(tblRevenue[2021]) Как видите, вместо обращения к диапазону B2:B7 Excel преобразовал аргумент функции в tblRevenue[2021], ссылаясь на столбец 2021 в таблице с именем tblRevenue. Если вы готовите исходные данные для дашбордов, то можете активно использовать структурированные ссылки, чтобы ваши формулы всегда покрывали все ваши данные. При этом вовсе не обязательно указывать на данные мышью, если вы хотите воспользоваться структурированными ссылками. Вы вполне можете вводить их и вручную. Начните ввод в ячейку: =СУММ(tbl. На рис. 1.19 показан выпадающий список, который предложит вам Excel на выбор. Рис. 1.19. Выпадающий список с вариантами формул в Excel Если в вашей рабочей книге больше одной таблицы и вы соблюдаете определенные правила их именования (например, начинаете их названия с tbl), то этот метод позволит вам получить полный список доступных таблиц на выбор. В нашем случае таблица только одна и она автоматически выделена в списке, поскольку стоит первой. Выделив нужную таблицу в списке, вы можете нажать на клавишу Tab, чтобы завершить ввод автоматически, – без необходимости вводить все имя таблицы вручную. После ввода имени таблицы откройте квадратную скобку, чтобы раскрыть выпадающий список опций, доступных в этой таблице. На рис. 1.20 показан список опций для таблицы tblRevenue. Первый вариант в списке – одиночный знак @. При использовании формул внутри таблиц этот символ указывает Excel, что необходимо вернуть значение из той же строки, в которой введена формула. К примеру, ссылка [@2021] вернет значение в столбце с именем 2021, расположенное в той же строке. В то же время ссылка [2021] вернет весь столбец. Глава 1 Основы дашбордов 41 Рис. 1.20. Опции для завершения ввода формулы Следующие четыре варианта представляют собой адресацию столбцов в таблице. Excel осведомлен о структуре таблиц и автоматически генерирует именованные диапазоны для столбцов. Последние четыре опции служат для обращения к особым областям (special area) таблицы. Ссылка #Все (#All) позволяет обратиться ко всей таблице в целом, включая заголовки и итоги. #Данные (#Data) обращается к тем же данным, что и #Все, за исключением заголовков и итогов. Ссылки #Заголовки (#Headers) и #Итоги (#Totals) служат для обращения к заголовкам и итогам соответственно. Вы можете перемещаться по выпадающему списку при помощи клавиш курсора и делать выбор, нажимая на клавишу Tab. К примеру, если вы переместитесь на пункт #Данные, нажмете на клавишу Tab и введете закрывающую квадратную и круглую скобки, вы получите следующую формулу, суммирующую все данные в таблице: =СУММ(tblRevenue[#Данные]) =SUM(tblRevenue[#Data]) Текст по столбцам Когда мы имеем дело с исходными данными за пределами Excel, то часто сталкиваемся с тем, что информация собрана по строкам, а не аккуратно разбита на столбцы. Встроенный в Excel инструмент под названием Текст по столбцам (Text to Columns) поможет вам привести подобные данные в вид, удобный для анализа. На рис. 1.21 показан пример исходных данных, вставленных в колонку A на рабочем листе. Это, по сути, столбчатые данные, разделенные запятыми и представленные в виде одной колонки. Для разделения этих данных на столбцы необходимо выполнить следующие действия. 1.Выделите информацию и на вкладке Данные (Data) и нажмите на кнопку Текст по столбцам (Text to Columns). 2.В открывшемся диалоговом окне Мастер распределения текста по столбцам (Convert Text to Columns Wizard), показанном на рис. 1.22, выберите вариант С разделителями (Delimited) и нажмите на кнопку Далее (Next). 42 Часть I Отображение данных на дашборде Рис. 1.21. Исходные данные, собранные вместе Рис. 1.22. Мастер преобразования текста в столбцы 3.Снимите флажок Знак табуляции (Tab) и установите флажок Запятая (Comma). В нижней части окна Excel покажет предварительный вариант разделения данных на столбцы, как видно по рис. 1.23. Нажмите на кнопку Далее (Next). 4.На заключительном шаге вы можете отформатировать столбцы. Обычно Excel нормально справляется с конвертированием чисел и дат. Если в исходных данных есть числа с лидирующими нулями, Excel избавится от этих нулей, если не форматировать соответствующий столбец как текст. На рис. 1.24 показано, как данные были разбиты на столбцы. Глава 1 Основы дашбордов 43 Рис. 1.23. Распределение исходных данных с разделителями Рис. 1.24. Данные, разделенные по колонкам Удаление дубликатов Еще одной распространенной проблемой при работе с сырыми данными являются дубликаты. Встроенный инструмент Excel Удалить дубликаты (Remove Duplicates) позволяет быстро и легко избавиться от повторов в данных без задействования сводных таблиц и сложных формул. На рис. 1.25 показаны данные с дубликатами. 44 Часть I Отображение данных на дашборде Рис. 1.25. Данные с дублирующимися значениями Чтобы исключить повторяющиеся значения, перейдите на вкладку Данные (Data) и нажмите на кнопку Удалить дубликаты (Remove Duplicates). Это приведет к открытию одноименного диалогового окна, показанного на рис. 1.26. Рис. 1.26. Диалоговое окно Удалить дубликаты В диалоговом окне показаны все столбцы в исходных данных, и вы можете сами выбрать, в каких из них удалять дубликаты. В примере, представленном на рисунках, повторяющиеся записи присутствуют во всех столбцах, так что Глава 1 Основы дашбордов 45 выберем их все. В других случаях может понадобиться определять дубликаты всего в одном или двух столбцах. Чтобы избежать удаления важных данных, постарайтесь задействовать как можно больше столбцов. При нажатии на кнопку OK Excel отобразит сообщение, показанное на рис. 1.27, с информацией о количестве удаленных строк. Рис. 1.27. Данные о количестве удаленных строк Нажмите на кнопку OK, чтобы закрыть окно, и в выбранном диапазоне останутся только уникальные записи. Вы всегда можете отменить выполненное действие, если увидите, что допустили какие-то ошибки. Построение дашбордов Если вы обычный пользователь Excel вроде меня, вам наверняка должна доставлять удовольствие работа с цифрами и сводными таблицами. Возможно, вы не слишком комфортно чувствуете себя в разработке визуальных элементов. К счастью, сейчас есть очень много примеров визуального отобра­ жения информации на различных сайтах и в новостных статьях. Создание дашбордов – довольно древняя наука, и за это время люди выработали вполне четкие правила, придерживаясь которых, вы сможете создавать приятные глазу визуализации. А когда освоите их все, вероятно, превратитесь в ярого критика любых дашбордов, которые будут встречаться вам на пути. Первое правило дашборда гласит: не отклоняйся от общей мысли! Если вы тщательно провели этап планирования, значит, у вас уже есть понимание того, с какими данными вы имеете дело и что нужно конечным пользователям. Каждый новый визуальный элемент на вашем дашборде должен стать продолжением истории, которую вы пытаетесь донести до зрителя. Если вы можете рассказать свою историю при помощи всего одного простого графика, не стоит перегружать дашборд лишними элементами. Не существует какого-то минимального количества элементов, при котором ваш визуальный отчет может называться дашбордом. Не позволяйте имеющимся у вас данным определять, какие элементы будут размещены на дашборде. С большой вероятностью в вашем распоряжении будет больше исходных данных, чем вам необходимо. Когда у вас есть под рукой хорошо агрегированные и причесанные данные, трудно удержаться от соблазна воткнуть их на свободное место дашборда, – просто потому, что это не требует сил. Но силы потребуются пользователю дашборда, чтобы не сбиться с общей мысли, заключенной в дашборде. 46 Часть I Отображение данных на дашборде Разумеется, это не означает, что каждый элемент на дашборде должен быть абсолютным хитом. В любом визуальном отчете есть более и менее значимые элементы. Диаграммы, дополняющие общий сюжет, но не являющиеся критически важными для истории в целом, могут быть включены в дашборд, если не добавят лишнего хаоса. Со временем вы начнете чувствовать баланс между полнотой информации, представленной на дашборде, и его простотой. Организация элементов Существует большое количество мнений и информации о том, как организовывать элементы на странице, – особенно это касается компоновки вебстраниц. Полагаю, есть три основополагающих принципа, охватывающих все эти мнения, – это размер, цвет и размещение. Самый большой визуальный элемент на дашборде будет привлекать больше всего внимания. Таким образом, вы должны сделать более заметными элементы, несущие действительно важную информацию. Конечно, он не должен быть единственной доминантой на странице, но по его размеру пользователь должен понять, что представленная информация особенно важна для принятия решения. Вы можете использовать пустое пространство вокруг элемента для визуального увеличения его размера. На рис. 1.28 показан дашборд с тремя элементами, один из которых выделен при помощи размера. Визуальные элементы в ярком контрастном исполнении будут восприниматься пользователем как более важные по сравнению с диаграммами, выполненными в мягких пастельных тонах. В то же время, если на вашем дашборде все элементы будут контрастными, страница будет выглядеть нелепо из-за своей аляповатости, – лучше с этим не переусердствовать. Конечно, я не выступаю в защиту серых и скучных отчетов. Но внимание пользователя лучше привлекать незначительными и редкими отхождениями от общей цветовой гаммы. Так или иначе, в целом вам необходимо использовать ограниченное количество цветов на дашборде, при этом цвета должны идеально сочетаться друг с другом. Но это не говорит о том, что вы не можете выделить важный элемент, немного отойдя от принятых правил. Расположение визуальных элементов на странице должно отвечать следую­ щему общепринятому требованию: наиболее важные элементы должны располагаться в верхнем левом углу дашборда и по мере снижения значимости смещаться к правому нижнему. Вспомните, как вы читаете текст на странице. Вы начинаете с левого верхнего угла и постепенно двигаетесь ниже. Таким образом, именно этот угол в отчетах привлекает наибольшее внимание зрителя. Согласно еще одному шаблону, необходимо размещать наиболее важный элемент визуализации по центру дашборда и окружать его менее значимыми. Этот шаблон может быть действенным, если один элемент на вашем дашборде существенно превосходит остальные по значимости. Глава 1 Основы дашбордов 47 Рис. 1.28. Дашборд с элементами разных размеров Разнообразие элементов Обычно дашборд состоит из визуальных элементов разных типов. Если в отчете будут присутствовать только линейные диаграммы, пользователю придется сильно потрудиться, чтобы хоть что-то в них понять. При этом есть одно исключение из этого правила, и работает оно тогда, когда для каждого элемента на странице используются одни и те же исходные данные, различающиеся одним измерением. К примеру, это могут быть продажи товаров по регионам. В этом случае похожие графики на странице дадут пользователю понять, что в основе лежат единые данные. Если же исходные данные для элементов отличаются более чем на одно измерение, – например, выводится информация в штуках и долларах на шкале времени, необходимо задействовать разные типы диаграмм. На рис. 1.29 показан дашборд, в котором используются восемь элементов одного типа, отличающихся единственным измерением. 48 Часть I Отображение данных на дашборде Рис. 1.29. Дашборд, состоящий из однотипных визуальных элементов В третьей части книги мы подробнее поговорим о выборе типов визуализации для дашборда и о том, что эти типы должны в полной мере отвечать требованиям данных и сюжету рассказываемой истории. Но случаются и наложения. К примеру, линейные графики идеально подходят для демонстрации изменений с течением времени, тогда как столбчатые диаграммы наиболее эффективны в случае с дискретными периодами, такими как месяцы. Это не означает, что все элементы дашборда должны быть обязательно разных типов. Но лучше не размещать однотипные диаграммы вплотную друг к другу и не делать их одного цвета и размера. Также здесь полезно вспомнить правило, о котором мы уже говорили, – не размещать в отчете данные просто потому, что они у вас есть. Не включайте в дашборд диаграммы, исходя из их популярности или потому что только недавно узнали об их существовании. Элементы, выведенные в отчете, должны четко следовать вашему замыслу и помогать рассказывать историю. Отображение трендов Если вы хотите показать на графике линию тренда (trendline), вы всегда можете это сделать. Но вы должны помнить, что некоторым диаграммам линия тренда не добавляет никакой полезной информации. На рис. 1.30 показан график с пунктирной линией тренда. Но тенденция здесь легко различима и без вспомогательной линии, так что она тут просто не нужна. Глава 1 Основы дашбордов 49 Рис. 1.30. Линия тренда, не помогающая считыванию информации В других случаях линия тренда может оказаться очень полезной. Если в ваших данных наблюдается изменчивость, затрудняющая определение общей тенденции, и линия тренда хорошо согласуется с канвой общего рассказа, смело добавляйте ее. На рис. 1.31 показан график дневных продаж. Периодические спады во время выходных существенно затрудняют отслеживание роста продаж, и линия тренда здесь подойдет как нельзя лучше. Рис. 1.31. Линия тренда на графике с периодической изменчивостью данных Чтобы добавить линию тренда на график, щелкните правой кнопкой мыши по ряду и выберите пункт Добавить линию тренда (Add Trendline). По умолчанию будет добавлен линейный тренд (linear trendline), а справа появится панель Формат линии тренда (Format Trendline), показанная на рис. 1.32. 50 Часть I Отображение данных на дашборде Рис. 1.32. Панель Формат линии тренда Вы можете указать на выбор одного из следующих типов линии тренда: экспоненциальный (Exponential): идеально подходит для восходящих или нисходящих данных нарастающими темпами; линейный (Linear): лучший выбор для простых линейных данных; логарифмический (Logarithmic): подходит для данных, которые растут или убывают, после чего стабилизируются; полиномиальный (Polynomial): идеален для данных с высокими колебаниями; степенной (Power): подходит для восходящих или нисходящих данных постоянными темпами; скользящее среднее (Moving Average): применяется к наборам данных с постоянными перепадами, которые необходимо сгладить. Форматирование дашбордов Форматирование (formatting) может отличать просто хороший дашборд от великолепного. К счастью, Excel предлагает богатый выбор опций форматирования для большинства поддерживаемых типов диаграмм. Но, используя те же самые опции, можно также испортить дашборд, уведя его в сторону от задуманной истории. Глава 1 Основы дашбордов 51 С форматированием нужно следовать тому же простому правилу и делать его максимально простым, насколько это возможно. Перебор с форматированием будет отвлекать пользователя от правильного интерпретирования данных и приведет к снижению эффективности диаграмм. На рис. 1.33 показана диаграмма с чрезмерным форматированием, а на рис. 1.34 – та же диаграмма, но в стиле минимализма. И если первая показывает, скорее, возможности Excel в отношении форматирования графиков, вторая ставит во главу угла сами данные. Рис. 1.33. Излишнее форматирование отвлекает от сути визуализации Рис. 1.34. Простое форматирование не мешает сконцентрироваться на сути Главным врагом при форматировании визуальных элементов в Excel является трехмерность (3D). Применение трехмерных эффектов почти всегда 52 Часть I Отображение данных на дашборде отвлекает зрителя, тем самым затрудняя донесение до него важной информации. Например, при использовании трехмерности столбики в первом ряду будут более объемными, а стоящие позади будут частично заслонены. Графики 3D выглядят привлекательно, но обычно мешают конечному пользователю правильно интерпретировать данные и делать верные выводы. Ниже перечислим другие опции форматирования, которые применительно к диаграммам стоит использовать с осторожностью или не использовать вовсе: цвет заливки (background color): для фоновой заливки диаграмм лучше всего подходит белый или светлые цвета. Использование черного цвета или темных оттенков приведет к снижению контраста между значимыми элементами диаграммы и фоном. Заливка никогда не несет информационной нагрузки, поэтому не стоит ее особенно выделять; цвет элементов (foreground color): не используйте много цветов при оформлении элементов диаграмм. Выделение цветом необходимо применять точечно – например, для привлечения внимания к важным точкам данных. Цветовая палитра (color pallet) в Excel, показанная на рис. 1.35, помогает выбрать гармоничную цветовую гамму путем предложения различных уровней светлого и темного тонов. В галерее тем Excel, представленной на рис. 1.36, есть заготовленные сочетания хорошо подходящих друг другу цветов; Рис. 1.35. Цветовая палитра Excel Рис. 1.36. Галерея тем в Excel градиенты (gradient): градиентная заливка позволяет закрашивать элементы на диаграмме с присутствием цветовых переходов. В таком подходе нет ни малейшего смысла, и его стоит избегать; Глава 1 Основы дашбордов 53 рисунки (pictures): этот тип заливки позволяет окрашивать элементы диаграммы при помощи повторяющихся изображений. Это не только не имеет смысла, но и значительно снижает эффективность элементов визуализации. Так что изображения также не стоит использовать при оформлении диаграмм; эффекты (effects): на панели Формат ряда данных (Format Data Series) для большинства типов диаграмм присутствует отдельная вкладка Эффекты (Effects), на которой можно настроить такие особенности форматирования, как тень (Shadow), свечение (Glow) и сглаживание (Bevel). Если использовать эти эффекты с умом, они могут добавить графику привлекательности. Но зачастую разработчики ими злоупотребляют, что делает диаграммы трудночитаемыми. В основном вы не должны использовать в работе эту вкладку – обращайтесь к ней только в случае крайней необходимости; границы (borders): границами называются линии, обрамляющие область построения (plot area) на диаграмме. В этих линиях почти никогда нет нужды. Оси сами по себе обрамляют область построения. Но даже если по тем или иным причинам вы скроете оси, в границах необходимость может не возникнуть. Решив все же воспользоваться границами, выбирайте для них более светлые тона, чтобы элементы данных выделялись на их фоне; линии сетки (gridlines): на большинстве типов диаграмм Excel по умолчанию включает линии сетки. Однако зачастую они не несут никакой смысловой нагрузки. Если на вашей диаграмме присутствует важная точка данных вдалеке от линий сетки, вы можете снабдить ее меткой или выделить цветом. Сделав выбор в пользу линий сетки, избегайте контрастных цветов, чтобы они не перетягивали на себя внимание зрителя; подписи данных (data label): если каждая точка данных на диаграмме будет сопровождаться меткой или подписью, это будет таблица, которую будет очень трудно читать. Используйте подписи только для важных отметок на графике, например для минимума и максимума. Подписи также могут быть использованы для описания неожиданных значений на графике. На рис. 1.37 показан график, на котором подпись использована для объяснения резкого спада производства; оси (axes): в большинстве случаев оси используются на графике для предоставления дополнительного контекста и масштаба. Но иногда роль осей полностью нивелируется – например, когда на диаграмме присутствуют большие колебания. Не оставляйте оси на графике только потому, что Excel добавил их по умолчанию. Подумайте о том, как оси вписываются в вашу историю, и помогут ли они пользователю правильно интерпретировать информацию. Избегайте добавления картинок на ваши диаграммы. Диаграммы уже сами по себе являются картинками, и нет смысла сопровождать их другими изобра­жениями. Это может отвлечь конечного пользователя от важной информации. 54 Часть I Отображение данных на дашборде Рис. 1.37. Подписи данных могут быть использованы для неожиданных спадов на графике Форматирование чисел Ваши диаграммы почти всегда будут содержать в себе числовые данные, будь то на осях или в подписях к точкам на графике. По умолчанию Excel использует форматирование из источника данных, но это не всегда то, что нам нужно. Всегда используйте запятые, чтобы облегчить чтение числовых данных. Форматирование чисел на графиках должно выполняться с учетом их спе­ ци­фики. К примеру, если вы выводите информацию о доходах в десятках миллионов долларов, не стоит показывать центы. В Excel используется очень гибкая система форматирования, позволяющая настроить отображение значений до мелочей. К примеру, вы можете показывать число 17,483,262 как 17.4 и использовать заголовок или подписи на осях, чтобы дать понять пользователю, что речь идет о миллионах. На диаграмме, показанной на рис. 1.38, используется эта техника. Чтобы настроить форматирование чисел на оси, перейдите в секцию Число (Number) на панели Формат оси (Format Axis), как показано на рис. 1.39. Нули указывают на расположение чисел. Если справа от запятой числа нет, соответствующая тройка чисел, представляющая сотни или тысячи, будет скрыта. В табл. 1.1 показаны некоторые способы форматирования больших чисел. Вы можете использовать знак доллара для отображения валюты и буквы вроде K и M для тысяч и миллионов, чтобы обозначать масштаб чисел. Применяйте этот прием, если у вас несколько чисел на диаграмме, – к примеру, для выделения важных точек данных. На осях знак валюты или буквы после чисел использовать не следует – вместо этого масштаб графика лучше указать в заголовке диаграммы или в подписи к оси. Глава 1 Основы дашбордов 55 Рис. 1.38. Форматирование больших чисел на оси значений Рис. 1.39. Секция Число на панели Формат оси Таблица 1.1. Пользовательское форматирование больших чисел Для такого отображения чисел… 17.5 17 $17.5 $17 17.5M 17M $17.5M $17M 17,483K $17,483K …используйте следующий формат 0,,.0 0,, $0.0,, $0,, 0.0,,»M» 0,,»M» $0,,.0»M» $0,,»M» 0,000,»K» $0,000,»K» ГЛАВА 2 Практические примеры дашбордов В этой главе: отслеживание процесса; отображение ключевых показателей эффективности; финансовый отчет. Дашборды можно использовать для отображения информации разного характера. В данной главе мы рассмотрим три простых примера дашбордов. Первый будет связан с мониторингом процесса в отношении достижения цели. Второй пример мы посвятим отображению ключевых показателей эффективности, таких как производительность или информация о здоровье в разрезе компании или отдела. Ну и в заключение рассмотрим отчет с представлением обобщенной финансовой информации. Для каждого случая мы пройдем по всему процессу – от плана и сбора данных до разработки дашборда. Отслеживание процесса В данном примере мы рассмотрим дашборд, предоставляющий пользователю информацию о текущем статусе проекта или задачи. Важнейшим моментом здесь является предположение о конечности любого процесса. Это может быть и процесс производства продукции, и проект по достижению финансовых или операционных целей. В обоих случаях речь идет об операциях, которые характеризуются началом и окончанием. При этом отслеживаемые меры и показатели достижения цели в разных случаях могут сильно отличаться. У вас может быть в наличии ограниченный по времени план, финансовые ограничения или промежуточные результаты для оценки достижения цели. А может быть и все сразу. Практический пример: отслеживание процесса написания ПО Ваша компания разрабатывает для внутреннего использования программное обеспечение по отслеживанию времени, и для реализации этой задачи были Глава 2 Практические примеры дашбордов 57 выделены разработчики. В отделе информационных технологий прикинули план по часам, необходимым на разработку ПО, и составили список задач. Вас же попросили создать дашборд, с помощью которого акционеры компании смогут отслеживать прогресс задачи. Примечание Рабочая книга для данного примера называется SoftwareProject.xlsx и располагается на сайте с сопроводительными файлами. Планирование и составление макета Начинаться все должно с совместного мозгового штурма с сотрудниками отдела информационных технологий и конечными пользователями дашборда. Цель этого мероприятия – определить разрезы данных, которые будут отобра­жаться на дашборде, и частоту его обновлений. Записывайте все идеи, даже не самые удачные. На следующем шаге вы выберете действительно важные мысли и реализуете их в финальном продукте. В результате нашего мозгового штурма мы определили следующий список показателей для отслеживания: часы в сравнении с планом; выполненные задачи в сравнении с планом; следующие контрольные точки; задачи, которые выполняются дольше запланированного времени; объем написанного кода; задачи, под которые не были выделены ресурсы; количество дней до запуска ПО; объем кода, который уже был протестирован; текущая фаза проекта; время до старта очередной фазы; задачи, которые еще не были начаты, а также те, что находятся в работе, завершены или просрочены. После обдумывания этого списка группа была созвана вновь для определения того, что отображать на дашборде. В результате дискуссии было решено остановиться на следующих разрезах: как-то нужно показывать текущий статус проекта. Управляющий директор и директор по информационным технологиям не должны погружаться в подробности процесса, если нет проблем. Им нужен просто индикатор по типу светофора, и они попросили вас совместно с отделом ИТ выработать условия для каждого статуса; как-то необходимо отображать, сколько часов было потрачено на реализацию проекта в сравнении с планом; как-то надо показывать, сколько задач выполнено по сравнению с их общим количеством; было определено, что разработчик будет фиксировать транзакцию, отправляя фрагмент кода в репозиторий. Этот момент можно рассмат­ 58 Часть I Отображение данных на дашборде ривать в качестве индикатора того, находится ли код в работе. Вас попросили как-то отражать фиксацию транзакций; нужно отображать текущую фазу проекта, как долго она будет длиться и какая фаза будет следующей. В команде разработки делят проект на фазы (важные модули или функционал) и спринты (двухнедельные периоды для выполнения задач), и они считают, что будет полезно наблюдать за прогрессом в контексте спринтов. Теперь вам необходимо разработать первоначальный дизайн макета дашборда, также называемый каркасом (wireframing), как показано на рис. 2.1. Рис. 2.1. Набросок макета дашборда Как видно по рис. 2.1, на этой стадии вы даже не должны четко выравнивать все области на будущем дашборде. Достаточно будет указать тип визуальных элементов, которые будут использоваться для некоторых разрезов. Для учета часов и задач вы решили использовать пулевую диаграмму. Фиксацию фрагментов кода по спринтам мы будем отображать с помощью линейного графика, а по разработчикам – посредством столбчатой диаграммы или гистограммы. Для отслеживания общего прогресса проекта остановимся на диаграмме Ганта. Итак, все согласны с предложенным макетом, и мы можем переходить к следующей стадии – сбору данных. Глава 2 Практические примеры дашбордов 59 Сбор данных Для построения диаграмм по учету часов и задач отдел разработки согласился предоставить доступ к текущим и плановым цифрам по этим разрезам. Вы передали им шаблон, и они заполнили его, как показано на рис. 2.2. Из репозитория с кодом была извлечена информация о фиксациях кода в виде файла CSV. На рис. 2.3 показан фрагмент этого файла в формате таб­ лицы Excel. Рис. 2.2. Сбор информации по часам и задачам Рис. 2.3. Сбор данных по фиксациям кода в репозитории Также команда разработчиков определила метки для 15 спринтов, показанных на рис. 2.4. При разработке программного обеспечения в команде используется гораздо более подробная спецификация задач, но было решено, что для понимания общей картины происходящего такого уровня детализации вполне хватит. Рис. 2.4. Сбор данных по общему прогрессу Наконец, вы совместно с разработчиками выработали следующие критерии для индикатора-светофора, говорящего о текущем статусе проекта: зеленый – на уровне или ниже плана по часам и задачам; желтый – превышение плана не более чем на 10 %; красный – превышение плана более чем на 10 %. Вы послали информацию об этих критериях на подтверждение. Пока ждете ответ, можно заняться проработкой визуальных элементов. Powered by TCPDF (www.tcpdf.org) 60 Часть I Отображение данных на дашборде Построение визуальных элементов В следующих разделах мы пройдемся по стадиям разработки элементов визуализации. А начнем с создания рабочего листа с именем Dashboards, на котором будем размещать свои элементы. Пулевые диаграммы для учета часов и задач Для отслеживания затраченных часов и выполненных задач мы будем использовать так называемую пулевую диаграмму (bullet chart). Она отлично подходит для учета показателей в сравнении с плановыми или целевыми значениями и занимает совсем мало места. Выделите таблицу с данными о часах и задачах и выполните следующие действия. 1.На вкладке Вставка (Insert) нажмите на кнопку Рекомендуемые диаграммы (Recommended Charts) и выберите вариант Линейчатая с группировкой (Clustered Bar). 2.Щелкните правой кнопкой мыши по диаграмме и в контекстном меню выберите пункт Выбрать данные (Select Data). 3.Нажмите на кнопку Строка/столбец (Switch Row/Column), чтобы перенести Hours на ось категорий. 4.Выделите ряд Total и нажмите на кнопку Удалить (Remove). На рис. 2.5 показано, как должно выглядеть диалоговое окно Выбор источника данных (Select Data Source) после произведенных изменений, а на рис. 2.6 отображен получившийся график. Рис. 2.5. Диалоговое окно Выбор источника данных 5.Щелкните правой кнопкой мыши по ряду Actual и выберите пункт Изменить тип диаграммы для ряда (Change Series Chart Type). 6.В открывшемся диалоговом окне Изменение типа диаграммы (Chan­ ge Chart Type) для ряда Actual установите флажок Вспомогательная ось (Secondary axis). На рис. 2.7 показан внешний вид диалогового окна. Глава 2 Практические примеры дашбордов 61 Рис. 2.6. Промежуточная диаграмма по учету часов Рис. 2.7. Перенос ряда Actual на вспомогательную ось 7.Щелкните правой кнопкой мыши по ряду Actual и выберите пункт Формат ряда данных (Format Data Series), после чего откроется одноименная панель в правой части окна. 8. Установите параметру Боковой зазор (Gap Width) значение 400 %. 62 Часть I Отображение данных на дашборде 9.На вкладке Заливка и границы (Fill & Line) установите переключатель в положение Сплошная заливка (Solid), а цвет сделайте темно-оранжевым. 10.Для ряда Budget установите параметру Боковой зазор значение 90 %. Также установите переключатель в положение Сплошная заливка, а цвет сделайте светло-оранжевым. На рис. 2.8 показана диаграмма после произведенных изменений. Рис. 2.8. Линейчатая диаграмма с наложением Перед тем как скопировать этот график на учет задач, давайте его очис­ тим. Нажмите на кнопку Элементы диаграммы (Chart Elements) и снимите флажки для Основной вертикальной оси (Primary Vertical axis) и Промежуточной горизонтальной (Secondary Horizontal), чтобы скрыть их. Также снимите флажки Сетка (Gridlines) и Легенда (Legend), чтобы убрать их с диаграммы. Наконец, для горизонтальной оси установите формат в значение Числовой (Number). На рис. 2.9 показана диаграмма с оставшимися элементами. Рис. 2.9. Пулевая диаграмма с удаленными элементами Глава 2 Практические примеры дашбордов 63 Теперь вам необходимо сделать копию этой диаграммы и разместить их на дашборде. Добавьте рабочий лист с именем Dashboard. Выделите диаграмму и нажмите сочетание клавиш Ctrl+X, чтобы вырезать ее. Перейдите на лист Dashboard и нажмите сочетание Ctrl+V для вставки. Снова выделите диаграмму и скопируйте ее при помощи сочетания клавиш Ctrl+C. Выделите пустую ячейку на листе и нажмите сочетание Ctrl+V для вставки копии графика. Щелкните правой кнопкой мыши по одной из диаграмм и в контекстном меню выберите пункт Выбрать данные (Select Data), снимите галку с ряда Tasks и нажмите на кнопку OK. Измените заголовок диаграммы на Actual Hours vs. Budget. На второй диаграмме аналогичным образом уберите ряд Hours и переименуйте диаграмму в Tasks Completed vs. Budget. Поскольку вы все форматирование настроили на одной диаграмме, а затем просто скопировали ее, вам не пришлось делать это дважды. Однако удаление категорий привело к изменению масштаба осей. Установите минимальные значения для осей в ноль, нажав правой кнопкой мыши на осях и выбрав пункт Формат оси (Format Axis). Измените размер обоих графиков путем перетаскивания правого нижнего маркера. Но не тратьте много времени на выравнивание и позиционирование элементов. После добавления остальных элементов на дашборд вам придется все выравнивать заново. На рис. 2.10 показаны обе пулевые диаграммы, размещенные на листе Dashboard. Рис. 2.10. Две пулевые диаграммы на дашборде График по фиксациям кода Следующим визуальным элементом, который мы создадим для нашего дашборда, будет график, отражающий количество фиксаций фрагментов кода по спринтам. Исходные данные по этому виду аналитики сформированы не лучшим образом для графика, так что мы будем делать сводную диаграмму (PivotChart). Для этого необходимо сделать следующее. 1.Превратите данные о фиксациях кода в умную таблицу путем выделения их и нажатия сочетания клавиш Ctrl+T. 2.На вкладке Конструктор таблиц (Table Tools Design) поменяйте имя таблицы на tblCommits. 3.Выделите таблицу и на вкладке Вставка (Insert) нажмите на кнопку Сводная диаграмма (PivotChart), чтобы открыть диалоговое окно Создать сводную диаграмму (Create PivotChart). 64 Часть I Отображение данных на дашборде 4.Установите переключатель в состояние На существующий лист (Existing Worksheet) и выделите ячейку на листе Dashboard. На данном этапе совсем не важно, какую ячейку вы выделите, поскольку позже вы будете перемещать диаграмму. На рис. 2.11 показано диалоговое окно Создать сводную диаграмму. Рис. 2.11. Создание сводной диаграммы на листе Dashboard 5.Нажмите на кнопку OK, после чего Excel разместит на рабочем листе контур сводной диаграммы и откроет в правой части окна панель Поля сводной диаграммы (PivotChart Fields). Чтобы наполнить диаграмму, перенесите поле Sprint в область Ось (Категории) (Axis (Categories)), а поле Commits – в область Значения (Values). В результате сводная диаграмма должна выглядеть так, как показано на рис. 2.12. Рис. 2.12. Исходный вид сводной диаграммы Глава 2 Практические примеры дашбордов 65 Для форматирования сводной диаграммы выполните следующие действия. 1.Щелкните правой кнопкой мыши по столбикам на диаграмме и выберите в контекстном меню пункт Изменить тип диаграммы для ряда (Change Series Chart Type). 2. Выберите в списке вариант График (Line) и нажмите на кнопку OK. 3.Откройте выпадающий список Названия строк (Row Labels) и выберите любой пункт из подменю Фильтры по значению (Value Filters), чтобы открылось диалоговое окно Фильтр по значению (Sprint) (Value Filter (Sprint)). 4.В левом выпадающем списке выберите вариант Сумма по полю Commits (Sum Of Commits), в среднем – Не равно (Does Not Equal), а в поле справа поставьте ноль, как показано на рис. 2.13. Рис. 2.13. Фильтрация сводной диаграммы для скрытия нулей 5. Удалите легенду с диаграммы, выделив ее и нажав на клавишу Delete. 6. Измените заголовок диаграммы на Code Commits by Sprint. 7.На вкладке Анализ сводной диаграммы (PivotChart Analyze) раскройте выпадающий пункт меню Кнопки полей (Field Buttons) и выберите вариант Скрыть все (Hide All). 8.Щелкните правой кнопкой мыши по линии графика и выберите пункт Формат ряда данных (Format Series). На открывшейся панели выберите сплошной тип линии и темно-синий цвет. 9.Измените размер и положение диаграммы. На рис. 2.14 показан итоговый вид сводной диаграммы. Диаграмма по фиксациям кода в разрезе разработчиков Следующей мы построим столбчатую диаграмму или гистограмму, показывающую количество фиксаций кода в разрезе разработчиков по текущему спринту. Создание сводной диаграммы на основе таблицы Commits позволит вам избежать написания формул, подготавливающих данные для разных типов визуализаций. Размещать сводные диаграммы на дашборде немного сложнее, чем просто перемещать графики, но это того стоит. Итак, создайте еще одну сводную диаграмму на основе созданной ранее таблицы и поместите ее справа от графика, который вы создали на предыдущем шаге. При настройке этой диаграммы перенесите поле Sprint в область Фильтры (Filters), поле Developer – в область Ось (Категории) (Axis (Categories)), а поле Commits – в область Значения (Values), как показано на рис. 2.15. 66 Часть I Отображение данных на дашборде Рис. 2.14. Диаграмма по фиксациям кода по спринтам Рис. 2.15. Поля сводной диаграммы по фиксациям кода в разрезе разрабочиков Отфильтруйте сводную диаграмму, выбрав в выпадающем списке Sprint значение 5. На рис. 2.16 показано, где располагается этот список на диаграмме. Теперь щелкните правой кнопкой мыши по диаграмме, укажите действие Изменить тип диаграммы (Change Chart Type) и выберите гистограмму. Скройте все кнопки полей, удалите легенду, измените заголовок диаграммы и поменяйте цвет столбиков в соответствии с цветом графика, построен- Глава 2 Практические примеры дашбордов 67 ного ранее. На рис. 2.17 показаны четыре визуальных элемента на нашем дашборде. Они располагаются примерно на своих местах, но с окончательным размещением элементов на дашборде лучше подождать до финальной сборки. Рис. 2.16. Фильтрация диаграммы по текущему спринту Рис. 2.17. Первые четыре визуальных элемента Диаграмма прогресса проекта Для отображения прогресса проекта мы будем использовать диаграмму Ганта (Gantt chart) по меткам, присвоенным спринтам отделом разработчиков. Такой визуальный элемент можно построить при помощи линейчатой диаграммы с накоплением (stacked bar chart) с некоторыми скрытыми точками данных. Начнем с перевода данных по фазам проекта в умную таблицу с именем tblPhases. Добавьте в таблицу новый столбец с именем Blank и введите формулу =C1 в первую ячейку столбца. Это позволит нам добавить пустое пространство перед столбиком с началом очередной фазы. 68 Часть I Отображение данных на дашборде Добавьте в таблицу еще два новых столбца и назовите их Complete и Future. Они будут служить для определения длины столбцов завершенных и будущих фаз проекта. Введите следующую формулу в столбец Completed: =МАКС(МАКС((tblCommits[Developer]<>"")*(tblCommits[Sprint]>=[@ Start])*(tblCommits[Sprint]<=[@End])*(tblCommits[Sprint]))-[@Start]+1;0) =MAX(MAX((tblCommits[Developer]<>"")*(tblCommits[Sprint]>=[@Start])*(tblCommits[Sprint]<=[@ End])*(tblCommits[Sprint]))-[@Start]+1,0) В этой формуле производится поиск максимального спринта, по которому есть фиксации, в диапазоне спринтов для текущей строки. Затем из полученного значения вычитается первый спринт данной фазы и добавляется единица. Все выражение заключается в функцию МАКС (MAX) в сравнении с нулем, чтобы для будущих спринтов значение не стало отрицательным. В столбец Future введите следующую формулу для вычисления длительности спринтов, которые еще не начаты: =[@End]-[@Start]+1-[@Complete] Выделите таблицу и вставьте линейчатую диаграмму с накоплением (stacked bar chart). Исходный вид таблицы и диаграммы представлен на рис. 2.18. Рис. 2.18. Базовая линейчатая диаграмма для фаз проекта Теперь щелкните правой кнопкой мыши по диаграмме и выберите пункт Выбрать данные (Select Data). Снимите флажки с рядов Start и End, чтобы остались только Blank, Complete и Future. Нажмите правой кнопкой мыши на вертикальной оси, выберите пункт Формат оси (Format Axis) и установите флажок Обратный порядок категорий (Categories In Reverse Order), как показано на рис. 2.19. Щелкните на пустые ряды и выберите для них на панели форматирования переключатели Нет заливки (No Fill) и Нет линий (No Line). На рис. 2.20 показаны пустые пространства для пропущенных рядов. Удалите с диаграммы легенду, линии сетки и горизонтальную ось, просто выделив их и нажав на клавишу Delete. Отформатируйте вертикальную ось Глава 2 Практические примеры дашбордов 69 и установите для нее переключатель Нет линий (No Line). Измените заголовок диаграммы на Overall Project Progress. В заключение вырежьте созданную диаграмму и вставьте ее на рабочий лист Dashboard. Рис. 2.19. Флажок обращения порядка следования категорий Рис. 2.20. Линейчатая диаграмма с накоплением в виде диаграммы Ганта Индикатор статуса проекта Последним мы разместим на дашборде простой индикатор с одним из трех цветов: красный, желтый или зеленый. Для этого мы будем использовать связанный рисунок, указывающий на условно отформатированную ячейку. 70 Часть I Отображение данных на дашборде Начнем с добавления строки в таблицу на листе Progress. В столбце Metric введите Status. В столбце Hours поместите формулу =(B3-B2)/B3, а в столбце Tasks – формулу =-(C3-C2)/C3. Добавьте еще одну строку в таблицу. В колонке Metric введите Color. В колонке Hours – формулу: =ЕСЛИ(B5>=0;"Green";ЕСЛИ(B5<-0,1;"Red";"Yellow")) =IF(B5>=0,"Green",IF(B5<-0.1,"Red","Yellow")) Скопируйте эту формулу в столбец Tasks. Теперь создайте новый рабочий лист с именем Status. Измените размер ячейки B2 таким образом, чтобы он примерно совпадал с желаемым размером индикатора. Позже вы сможете скорректировать этот параметр. Измените цвет заливки ячейки на желтый. Это будет цвет по умолчанию, и мы будем использовать условное форматирование, чтобы изменить его на зеленый или красный при необходимости. Выделив ячейку B2, перейдите на вкладку Главная (Home) и в выпадающей кнопке Условное форматирование (Conditional Formatting) выберите пункт Создать правило (New Rule). В списке Выберите тип правила (Select A Rule Type) выделите строку Использовать формулу для определения форматируемых ячеек (Use a formula to determine which cells to format). Введите следующую формулу: =И(Progress!$B$6="Green";Progress!$C$6="Green") =AND(Progress!$B$6="Green",Progress!$C$6="Green") Нажмите на кнопку Формат (Format) и измените цвет заливки на зеленый. На рис. 2.21 показано, как должно выглядеть диалоговое окно правил форматирования. Рис. 2.21. Добавление правила для зеленого цвета Глава 2 Практические примеры дашбордов 71 Снова раскройте выпадающую кнопку Условное форматирование (Conditional Formatting) и на этот раз выберите пункт Управление правилами (Manage Rules). Убедитесь, что флажок Остановить, если истина (Stop If True) справа от созданного вами только что правила установлен. Нажмите на кнопку Создать правило (New Rule) и снова выберите опцию для ввода формулы вручную. Для этого правила формула должна быть следующей: =ИЛИ(Progress!$B$6="Red";Progress!$C$6="Red") =OR(Progress!$B$6="Red",Progress!$C$6="Red") Отформатируйте новое правило под заливку красного цвета. Нажмите на кнопку OK, чтобы вернуться в диалоговое окно Диспетчер правил условного форматирования (Conditional Formatting Rules Manager), и измените порядок следования правил таким образом, чтобы зеленое правило было расположено первым. На рис. 2.22 показан правильный внешний вид диалогового окна. Рис. 2.22. Правила условного форматирования для зеленого и красного индикаторов Согласно первому правилу, ячейка будет окрашена в зеленый цвет, если в обеих контрольных ячейках в таблице прогресса будет стоять значение «Green». Второе правило окрасит ячейку в красный цвет, если хотя бы в одной из ячеек стоит значение «Red». Если ни одно из этих двух правил не сработает, ячейка останется желтой. Щелкните правой кнопкой мыши по ячейке B2 и выберите пункт Копировать (Copy). Теперь нажмите правой кнопкой мыши в любом месте на листе Dashboard и выберите вариант Связанный рисунок (Linked Picture) в подменю Специальная вставка (Paste Special). Если цвет ячейки на листе Status изменится, связанный рисунок также поменяется. 72 Часть I Отображение данных на дашборде Размещение элементов на дашборде После создания и переноса всех шести элементов визуализации на лист Dashboard осталось подкорректировать их размеры и разместить в точном соответствии с нашей задумкой. Сводные диаграммы перемещать утомительнее всего, поскольку вам нужно наложить их поверх данных из сводных таблиц, лежащих в их основе. Так что начните именно со сводных диаграмм. Для облегчения выравнивания диаграмм выделите их все по очереди и на панели Формат области диаграммы (Format Chart Area) установите переключатель в положение Нет линий (No Line). Если вы хотите оставить линии вокруг диаграмм, вам понадобится чуть больше времени на выравнивание всех элементов. К счастью, сделать это достаточно лишь раз. Без обрамляющих линий вы можете ошибиться в размещении на один или два пикселя, и это не будет так заметно. Наконец, осталось изменить размер или удалить строки и столбцы, чтобы дашборд приблизился к верхней левой границе страницы. Если дашборд будет использоваться в Excel, убедитесь, что все его элементы помещаются на экран. В случае, если он будет распечатываться, измените размеры и расположение элементов таким образом, чтобы они не выходили за границы страницы. Используйте предварительный просмотр, чтобы проверить, где располагаются разрывы страниц. Если размер вашего дашборда близок к одной странице, можно использовать инструмент масштабирования (Scaling) вместо изменения размеров элементов. Итоговый дашборд показан на рис. 2.23. Рис. 2.23. Финальный дашборд по прогрессу проекта Глава 2 Практические примеры дашбордов 73 Отображение ключевых показателей эффективности Вывод ключевых показателей эффективности (key performance indicators – KPI) – одна из наиболее распространенных функций дашбордов. Эти показатели представляют собой метрики, которые компания или отдел в рамках компании выделяет в качестве мерила своей производительности или эффективности. Какого-то фиксированного набора ключевых показателей эффективности не существует в природе, но в интернете есть столько всяких идей по их разновидностям и разработке, что вы легко сможете найти то, что нужно именно вам. Показатели эффективности могут быть финансовыми или операционными, а могут представлять и оба вида одновременно. Также они могут отличаться по масштабу – от крупных для компании в целом до мелких, которые могут относиться к конкретному подразделению или отделу. Кроме того, показатели эффективности имеют свойство меняться в процессе развития компании. Практический пример: отдел по работе с персоналом Отдел по работе с персоналом (Human Resources – HR) вашей компании разработал ряд метрик, связанных с наймом и удерживанием рабочих ресурсов, которые они считают ключевыми индикаторами в деле достижения целей, поставленных компанией. Вас попросили создать дашборд для отслеживания этих показателей. Примечание Рабочая книга для данного примера называется HumanResources.xlsm и располагается на сайте с сопроводительными файлами. Планирование и составление макета Итак, отдел по работе с персоналом представил вам следующий список мет­ рик: стоимость подбора персонала (Recruiting Costs) по годам; стоимость подбора персонала по соискателям (applicant): средняя сумма в долларах, затрачиваемая на прием на работу в расчете на каждого соискателя и на каждого, кто прошел отбор; разнообразие найма (Diversity Hires): количество приемов на работу с разделением по половой и расовой принадлежности; 90-дневный процент уволившихся (Quit Rate): количество вакансий, возоб­новленных не позднее 90 дней с момента найма; причины добровольных увольнений: количество добровольных отставок в разрезе предопределенного списка причин; 74 Часть I Отображение данных на дашборде среднее время закрытия вакансий: количество дней в среднем, требуе­ мое на поиск сотрудника. Показатели стоимости подбора персонала, процента уволившихся и времени закрытия вакансий необходимо видеть за каждый из последних пяти лет. Данные по разнообразию найма и добровольному увольнению требуются лишь за последний год. Информация должна собираться и публиковаться ежегодно. Вы сделали набросок расположения визуальных элементов, и после непродолжительной дискуссии был утвержден финальный макет дашборда, представленный на рис. 2.24. Рис. 2.24. Приблизительный макет дашборда для отдела по работе с персоналом Сбор данных Отдел по работе с персоналом отслеживает показатели стоимости подбора сотрудников по годам и по типам затрат. Они делят для себя затраты на зарплату штатным специалистам по подбору кадров, гонорары внешних рекрутеров и прочие расходы, такие как участие в ярмарках вакансий. И хотя они изначально не просили вас делать аналитику по видам затрат, вы потребовали от них исходные данные с максимально возможной детализацией, чтобы в будущем, если они захотят видеть новые разрезы, у вас уже были накоплены исторические данные. На рис. 2.25 показаны данные в том виде, в котором они вам были предоставлены. Также в отделе предоставили вам усеченные данные о сотрудниках компании, предварительно удалив конфиденциальную и не относящуюся к делу информацию. Список содержит идентификационные номера сотрудников и даты приема на работу. Если сотрудник уже не состоит в штате, для него также отмечена дата и причина увольнения. Фрагмент данных о персонале показан на рис. 2.26. Глава 2 Практические примеры дашбордов 75 Рис. 2.25. Исходные данные о стоимости подбора персонала Рис. 2.26. Список сотрудников с причинами увольнения В момент приема на работу отдел по работе с персоналом фиксирует дату, когда освободилась вакансия, дату найма сотрудника, количество соискателей, а также пол и расовую принадлежность выбранного кандидата. На рис. 2.27 показан фрагмент данных о вакансиях. Построение визуальных элементов Каждый визуальный элемент в составе дашборда мы будем разбирать в отдельном разделе ниже. А пока создайте рабочий лист с именем Dashboard, на котором вскоре вырастет целая информационная панель. Стоимость подбора персонала по годам Для визуализации данных о затратах компании на рекрутинг по годам вы решили использовать простую столбчатую диаграмму, или гистограмму (column chart). Начнем, как и всегда, с преобразования данных на листе в умную 76 Часть I Отображение данных на дашборде таблицу путем выделения области и нажатия на кнопку Таблица (Table) на вкладке Вставка (Insert). На вкладке Конструктор таблиц (Table Tools Design) поменяйте имя таблицы на tblCosts. Добавьте к таблице столбец, назовите его Total и вставьте в первую ячейку следующую формулу: =СУММ(tblCosts[@[Recruiter Salary]:[Other]]) =SUM(tblCosts[@[Recruiter Salary]:[Other]]) Рис. 2.27. Записи о приеме на работу Для создания гистограммы выделите таблицу и на вкладке Вставка (Insert) нажмите на кнопку Рекомендуемые диаграммы (Recommended Charts) и выберите соответствующий тип графика. Исходная диаграмма, показанная на рис. 2.28 рядом с таблицей, включает в себя ряды, которые нам не нужны, но мы знаем, как можно очень просто их удалить. Щелкните правой кнопкой мыши по диаграмме и в контекстном меню выберите пункт Выбрать данные (Select Data). В открывшемся диалоговом окне Выбор источника данных (Select Data Source) снимите все флажки, кроме Total, и поменяйте по необходимости строки и столбцы. Вырежьте созданную диаграмму при помощи сочетания клавиш Ctrl+X и вставьте на лист Dashboard, нажав комбинацию клавиш Ctrl+V. Для завершения форматирования диаграммы выполните следующие действия. 1. Удалите легенду. 2. Измените заголовок на Recruiting Costs (in thousands). 3.Щелкните правой кнопкой мыши по вертикальной оси и выберите пункт меню Формат оси (Format Axis). Измените числовой формат на 0 ;;. 4.Перейдите на вкладку Разметка страницы (Page Layout) и в выпадаю­ щей кнопке Темы (Themes) выберите тему Ион (Ion). Глава 2 Практические примеры дашбордов 77 Рис. 2.28. Исходный вид диаграммы по расходам на рекрутинг Окончательная диаграмма показана на рис. 2.29. Пока не беспокойтесь о размерах и размещении диаграммы, об этом мы позаботимся при сборке дашборда. Рис. 2.29. Столбчатая диаграмма по затратам на подбор персонала Стоимость подбора персонала по соискателям Для отображения этого вида анализа нам понадобятся дополнительные столбцы в наших исходных таблицах. Для начала преобразуйте диапазон данных на листе Vacancy в таблицу и назовите ее tblVacancy. Теперь добавьте четыре новых столбца в таблицу tblCosts. Формулы приведены в табл. 2.1. Выделите таблицу и на вкладке Вставка (Insert) в выпадающей кнопке Вставить гистограмму или линейчатую диаграмму (Insert Column Or Bar Chart) выберите пункт Другие гистограммы (More Column Charts). Укажите гистограмму с группировкой (clustered column chart) с годами на оси категорий, как показано на рис. 2.30. 78 Часть I Отображение данных на дашборде Таблица 2.1. Дополнительные столбцы в таблице tblCosts Имя столбца Applicants Формула =СУММПРОИЗВ((YEAR(tblVacancy[Filled])=[@Year])*(tblVacancy[Applicants])) =SUMPRODUCT((YEAR(tblVacancy[Filled])=[@Year])*(tblVacancy[Applicants])) =СУММПРОИЗВ(--(YEAR(tblVacancy[Filled])=[@Year])) Success =SUMPRODUCT(--(YEAR(tblVacancy[Filled])=[@Year])) Cost per Applicant =[@Total]/[@Applicants] =[@Total]/[@Success Cost per Success Рис. 2.30. Выберите гистограмму с группировкой с годами на оси категорий Щелкните правой кнопкой мыши по диаграмме и в контекстном меню нажмите пункт Выбрать данные (Select Data). Удалите все ряды, за исключением Cost per Applicant и Cost per Success. На рис. 2.31 показана диаграмма на этой стадии. Глава 2 Практические примеры дашбордов 79 Рис. 2.31. Диаграмма всего с двумя рядами Поменяйте для ряда Cost per Applicant тип диаграммы на линейный и вынесите его на отдельную ось. Для этого щелкните правой кнопкой мыши по любому ряду и выберите пункт Изменить тип диаграммы для ряда (Change Series Chart Type). В открывшемся диалоговом окне Изменение типа диаграммы (Change Chart Type) для ряда Cost per Applicant смените тип диаграммы на График (Line) и установите флажок Вспомогательная ось (Secondary axis). На рис. 2.32 показан внешний вид этого диалогового окна. Рис. 2.32. Поменяйте тип диаграммы для ряда Cost per Applicant на график Powered by TCPDF (www.tcpdf.org) 80 Часть I Отображение данных на дашборде Измените заголовок диаграммы на Recruiting Cost per Applicant. Вырежьте диаграмму и вставьте на лист Dashboard. Измените цвет заливки для столбчатой диаграммы в соответствии с предыдущей диаграммой по годам, а линейному графику дайте какой-нибудь подходящий цвет. Обе диаграммы вместе показаны на рис. 2.33. Рис. 2.33. Две диаграммы по затратам на подбор персонала Разнообразие найма Вы решили разделить визуальный элемент, отражающий разнообразие принятого на работу персонала, на две кольцевые диаграммы (doughnut chart). Имеющаяся у нас информация по вакансиям не лучшим образом подходит для построения кольцевых диаграмм, так что для начала нам придется создать сводную диаграмму, которая позволит манипулировать данными. Для создания первой кольцевой диаграммы выполните следующие действия. 1.Добавьте столбец с именем CurrentYear в таблицу tblVacancy и присвойте ему такую формулу: =ГОД([@Filled])=МАКС(ГОД([Filled])) =YEAR([@Filled])=MAX(YEAR([Filled])) 2.Выделите таблицу с вакансиями и на вкладке Вставка (Insert) нажмите на кнопку Сводная диаграмма (PivotChart). 3.В открывшемся диалоговом окне Создать сводную диаграмму (Create PivotChart) установите переключатель в положение На существующий лист (Existing Worksheet), выберите ячейку на листе Dashboard и нажмите на кнопку OK. 4.Перенесите поле CurrentYear в область Фильтры (Filters), Gender – на Ось (Категории) (Axis (Categories)), а Job – в область Значения (Values). На рис. 2.34 показано, как должна выглядеть панель Поля сводной диаграммы (PivotChart Fields) в этот момент. 5.Отфильтруйте на сводной диаграмме поле CurrentYear по значению ИСТИНА (TRUE), чтобы оставить только информацию за текущий год. 6.На вкладке Анализ сводной диаграммы (PivotChart Tools Analyze) в выпадающей кнопке с названием Кнопки полей (Field Buttons) выберите пункт Скрыть все (Hide All). 7. Удалите легенду. Глава 2 Практические примеры дашбордов 81 8.Добавьте подписи данных, выберите процентный тип и отформатируйте текст так, чтобы он выделялся на фоне ряда. Измените тип диаграммы на кольцевую. 9.Измените заголовок диаграммы на Gender, перенеся его в правую верхнюю часть элемента. Проделайте те же действия для создания кольцевой диаграммы по полю Race. Вместо поля Gender перенесите в область Ось (Категории) поле Race. Выберите все точки данных и настройте цветовую палитру в соответствии с кольцевой диаграммой по половой принадлежности. На рис. 2.35 показаны обе кольцевые диаграммы. Рис. 2.34. Панель Поля сводной диаграммы для графика по полу сотрудников Рис. 2.35. Кольцевые диаграммы по разнообразию найма 90-дневный процент уволившихся Для идентификации вакансий, заново открывшихся в течение 90 дней, преобразуйте диапазон данных на листе Employee в таблицу с именем tblEmployee. Добавьте новый столбец с именем 90Days и формулой: 82 Часть I Отображение данных на дашборде =НЕ(ИЛИ(ЕПУСТО([@EndDate]);[@EndDate]-[@StartDate]>90)) =NOT(OR(ISBLANK([@EndDate]),[@EndDate]-[@StartDate]>90)) Эта формула будет возвращать ИСТИНУ (TRUE), если даты в полях StartDate и EndDate отличаются не более чем на 90 дней, и ЛОЖЬ (FALSE), если между ними больше 90 дней или поле EndDate пустое. Создайте сводную диаграмму на основе этой таблицы и разместите ее на листе Dashboard. Перенесите на панели Поля сводной диаграммы (PivotTable Fields) поле 90Days в область Фильтры (Filters), EndDate – на Ось (Категории) (Axis (Categories)), а EmployeeID – в область Значения (Values). На рис. 2.36 показано, как должна выглядеть панель в этот момент. Рис. 2.36. Панель Поля сводной диаграммы для диаграммы по 90-дневному проценту уволившихся При необходимости поменяйте тип агрегации для поля EmployeeID, щелк­ нув по нему в сводной таблице правой кнопкой мыши, и в выпадающем меню Итоги по (Summarize Values By) выберите пункт Количество (Count), как показано на рис. 2.37. Отфильтруйте на сводной диаграмме поле 90Days по значению ИСТИНА (TRUE). Щелкните по полю Years и оставьте выбранными последние пять лет. Завершите работу над диаграммой следующим образом. Глава 2 Практические примеры дашбордов 83 1.На вкладке Анализ сводной диаграммы (PivotChart Analyze) раскройте выпадающий пункт меню Кнопки полей (Field Buttons) и выберите вариант Скрыть все (Hide All). 2.Щелкните правой кнопкой мыши по диаграмме и выберите пункт Изменить тип диаграммы (Change Chart Type). Выберите График с маркерами (Line With Markers). 3. Удалите легенду. 4. Измените заголовок диаграммы на 90-day Quit Rate. Рис. 2.37. Изменение типа агрегации для поля EmployeeID Этот элемент можно было оформить и в виде столбчатой или линейчатой диаграммы. Но график позволит внести разнообразие в дашборд и отличать этот вид анализа от затрат на подбор персонала. Итоговая диаграмма показана на рис. 2.38. Рис. 2.38. Финальный вариант графика по 90-дневному проценту уволившихся 84 Часть I Отображение данных на дашборде Причины добровольных увольнений Для этого элемента мы выберем линейчатую диаграмму (bar chart), поскольку она позволяет написать довольно длинные названия категорий. Создайте еще одну сводную диаграмму по таблице с сотрудниками и разместите ее на листе Dashboard. Чтобы отфильтровать данные по текущему году, для начала перенесите поле EndDate в область Ось (Категории) (Axis (Categories)). В результате в этой области будут созданы три поля: Years, Quarters и EndDate. После этого перетащите поле Years из области Ось (Категории) в область Фильтры (Filters). Наконец, захватите поля Quarters и EndDate и перенесите их из области Ось (Категории) обратно в область полей. Если бы мы перетащили поле EndDate в область Фильтры (Filters), у нас не было бы агрегированного поля Years. Также перенесите поле Reason на Ось (Категории) (Axis (Categories)), а EmployeeID – в область Значения (Values). Измените тип агрегирования по полю EmployeeID с суммы на количество. Отфильтруйте данные на диаграмме, выбрав в поле Years в области фильт­ ров только текущий год. Теперь раскройте фильтр по полю Reason и снимите флажок со значения Involuntary. Это позволит оставить в анализе только доб­ ровольные увольнения. На рис. 2.39 показана диаграмма после наложения необходимых фильтров. Рис. 2.39. Отфильтрованная диаграмма по причинам добровольных увольнений Теперь щелкните правой кнопкой мыши по диаграмме и выберите пункт Изменить тип диаграммы (Change Chart Type). Укажите линейчатую диаграмму с группировкой (Clustered Bar). Скройте все кнопки полей и удалите легенду, чтобы немного расчистить визуализацию. Глава 2 Практические примеры дашбордов 85 После этого отсортируйте причины по количеству. Нажмите на кнопку фильтрации справа от заголовка Названия строк (Row Labels) в сводной таблице и выберите пункт Дополнительные параметры сортировки (More Sort Options). В открывшемся диалоговом окне Сортировка (Sort), показанном на рис. 2.40, установите переключатель в положение По убыванию (Descending), выберите в выпадающем списке вариант Количество по полю EmployeeID (Count of EmployeeID) и нажмите на кнопку OK. Рис. 2.40. Сортировка сводной диаграммы по количеству EmployeeID Наконец, измените заголовок диаграммы на Voluntary Separations. Итоговый визуальный элемент показан на рис. 2.41. Рис. 2.41. Линейчатая диаграмма по причинам добровольных увольнений Среднее время закрытия вакансий Для визуализации последнего вида аналитики на нашем дашборде начнем с добавления столбца Days в таблицу tblVacancy со следующей формулой: =[@Filled]-[@Vacant] – для подсчета количества дней, на протяжении которых 86 Часть I Отображение данных на дашборде вакансия была открыта. Создайте еще одну сводную диаграмму по этой таб­ лице и разместите ее на листе Dashboard. Перенесите на панели Поля сводной диаграммы (PivotTable Fields) поле Filled на Ось (Категории) (Axis (Categories)), а Days – в область Значения (Values). Если поле Days отсутствует в списке полей, причина может быть в том, что у вас уже есть сводная таблица по этим данным, и эти таблицы используют один и тот же кеш. Щелкните правой кнопкой мыши по сводной таблице и выберите пункт Обновить (Refresh), чтобы показать поле Days. Также измените тип агрегации для этого поля с суммы на среднее значение. Завершите форматирование диаграммы, выполнив следующие действия: скройте кнопки полей; удалите легенду; измените тип диаграммы на График с маркерами (Line With Markers); измените заголовок диаграммы на Average Days to Fill Vacancies; щелкните правой кнопкой мыши по вертикальной оси и измените минимальное значение на ноль. Итоговый вид диаграммы показан на рис. 2.42. Рис. 2.42. График по среднему времени закрытия вакансий Размещение элементов на дашборде Поскольку мы решили разделить визуальные элементы по разнообразию найма на две кольцевые диаграммы, финальный макет дашборда будет несколько отличаться от запланированного. Вместо того чтобы разместить эти диаграммы справа вверху, мы отведем им всю правую часть дашборда. Для перемещения и изменения размера каждого элемента дашборда вы, конечно, можете использовать маркеры по их углам. Но в данном случае мы применим знания в области языка программирования Visual Basic for Applications (VBA) для точного позиционирования визуальных элементов. Начнем с того, что каждому элементу дадим имя. Выделите диаграмму с затратами Глава 2 Практические примеры дашбордов 87 на подбор персонала и введите RecCost в поле Имя (Name), расположенное слева от строки формул, как показано на рис. 2.43. В VBA мы будем обращаться к элементам дашборда по этим именам. Рис. 2.43. Переименование диаграммы с помощью поля Имя Аналогичным образом переименуйте остальные элементы дашборда. Вручную переместите и измените размер диаграммы с расходами на подбор персонала по своему желанию. Нажмите сочетание клавиш Alt+F11, чтобы открыть редактор Visual Basic (Visual Basic Editor – VBE). Теперь нажмите сочетание клавиш Ctrl+R для открытия панели обозревателя проекта (Project Explo­ rer). Найдите проект HumanResources.xlsm, щелкните по нему правой кнопкой мыши и в меню Insert выберите пункт Module, как показано на рис. 2.44. Рис. 2.44. Вставка модуля в проект 88 Часть I Отображение данных на дашборде В открывшемся окне введите следующий код: Sub MoveCharts() With ActiveSheet .Shapes("PerApp").Top = .Shapes("RecCost").Top .Shapes("PerApp").Height = .Shapes("RecCost").Height .Shapes("PerApp").Width = .Shapes("RecCost").Width .Shapes("PerApp").Left = .Shapes("RecCost").Left _ + .Shapes("RecCost").Width .Shapes("QuitRate").Top = .Shapes("RecCost").Top _ + .Shapes("RecCost").Height .Shapes("QuitRate").Left = .Shapes("RecCost").Left .Shapes("QuitRate").Width = .Shapes("RecCost").Width * 2 / 3 .Shapes("VolSep").Top = .Shapes("QuitRate").Top .Shapes("VolSep").Height = .Shapes("QuitRate").Height .Shapes("VolSep").Width = .Shapes("QuitRate").Width .Shapes("VolSep").Left = .Shapes("QuitRate").Left _ + .Shapes("QuitRate").Width .Shapes("Vacancy").Top = .Shapes("VolSep").Top .Shapes("Vacancy").Height = .Shapes("VolSep").Height .Shapes("Vacancy").Width = .Shapes("VolSep").Width .Shapes("Vacancy").Left = .Shapes("VolSep").Left _ + .Shapes("VolSep").Width .Shapes("Gender").Top = .Shapes("PerApp").Top .Shapes("Gender").Height = .Shapes("PerApp").Height .Shapes("Gender").Width = .Shapes("PerApp").Width / 2 .Shapes("Gender").Left = .Shapes("PerApp").Left _ + .Shapes("PerApp").Width .Shapes("Race").Top = .Shapes("Vacancy").Top .Shapes("Race").Height = .Shapes("Vacancy").Height .Shapes("Race").Width = .Shapes("Gender").Width .Shapes("Race").Left = .Shapes("Vacancy").Left _ + .Shapes("Vacancy").Width End With End Sub Каждая диаграмма на дашборде представляет собой объект Shape. В коде мы устанавливаем значения свойств Top, Height, Width и Left для объектов относительно других диаграмм. Это обеспечивает правильное взаимное расположение элементов на дашборде. Закройте редактор и вернитесь в Excel. Нажмите сочетание клавиш Alt+F8, чтобы открыть диалоговое окно Макрос (Macro) и запустить макрос MoveCharts, который мы только что создали. Если оказались видны какие-то сводные таблицы, вы можете скрыть столбцы и перезапустить макрос для повторного выравнивания дашборда. Для изменения общего размера и положения дашборда на листе можно внес­ ти изменения в размер и расположение верхнего левого элемента и снова запустить макрос на выполнение. Итоговый дашборд показан на рис. 2.45. Глава 2 Практические примеры дашбордов 89 Рис. 2.45. Дашборд для отдела по работе с персоналом Макрос будет сохранен вместе с рабочей книгой. Сохраните файл в формате книги Excel с поддержкой макросов (.xlsm), чтобы не потерять макрос при закрытии. Отображение финансовых показателей Финансовые данные – это жизненная сила бизнеса. Почти все дашборды, разработанные для нужд бизнеса, содержат в себе финансовые показатели. Тогда как за этими показателями стоят различные операции, сами они, по сути, являются лакмусовой бумажкой бизнеса, определяя его устойчивость и живучесть. Узнать, какие данные стоит отслеживать и что нужно делать с полученной информацией, бывает очень непросто. Но все начинается с настройки мониторинга показателей, и как раз для этого служат дашборды. Практический пример: финансовая информация и показатели Руководство компании попросило вас создать дашборд для финансового отдела. Информация должна быть представлена как за текущий год, так и в виде трендов за последние пять лет. Примечание Рабочая книга для данного примера называется FinancialInformation.xlsm и располагается на сайте с сопроводительными файлами. 90 Часть I Отображение данных на дашборде Планирование и составление макета В финансовом отделе определили ряд метрик, которые они считают ключевыми в плане определения финансового благополучия бизнеса. Помимо этих метрик в отделе хотят видеть суммарный отчет о доходах за текущий год и тренд по выручке за последние пять лет. Краткое описание определенных показателей: коэффициент покрытия (Current Ratio): рассчитывается как отношение оборотных средств (current assets) к краткосрочной кредиторской задолженности (current liabilities). Этот показатель отражает способность компании выполнить свои финансовые обязательства в следующем году; коэффициент строгой ликвидности (Quick Ratio): рассчитывается как отношение суммы денежных средств (cash) и дебиторской задолженности (receivables) к краткосрочной кредиторской задолженности (current liabilities); отношение заемного капитала к собственному (Debt-to-Equity): традиционно рассчитывается как отношение общей суммы задолженности (total liabilities) к собственному капиталу (total equity). Однако в компании изменили формулу расчета этого показателя для внутренней отчетности таким образом, чтобы она учитывала только долг, приносящий проценты (interest-bearing debt); период оборачиваемости товара (Cash Conversion Cycle): период оборачиваемости запасов (days sales of inventory) плюс период погашения дебиторской задолженности (days sales outstanding) минус период погашения кредиторской задолженности (days payables outstanding). Этот показатель определяет время, за которое бизнес способен конвертировать товарно-материальные запасы (ТМЗ) в деньги; коэффициент валовой прибыли (Gross Margin Percent): выручка по реализации (sales) минус себестоимость (cost of sales), деленная на выручку; коэффициент чистой прибыли (Net Margin Percent): валовая прибыль (Gross margin) за вычетом операционных расходов и прочих расходов или доходов, деленная на выручку. Для каждого из этих показателей требуется выводить значение за текущий год и пятилетний тренд. Вы построили и отправили на одобрение приблизительный макет дашборда, показанный на рис. 2.46. Сбор данных Финансовый отдел предоставил вам балансовый отчет и данные о доходах, показанные на рис. 2.47. Вам остается рассчитать нужные коэффициенты для наполнения диаграмм. Добавьте в приведенную таблицу новые строки с использованием формул из табл. 2.2. Глава 2 Практические примеры дашбордов 91 Рис. 2.46. Схематичный макет финансового дашборда Рис. 2.47. Балансовый отчет и сведения о доходах 92 Часть I Отображение данных на дашборде Таблица 2.2. Формулы финансовых показателей Показатель Debt-to-Equity Days Sales of Inventory Days Sales Outstanding Days Payables Outstanding Cash Conversion Cycle Current Ratio Quick Ratio Gross Margin Net Margin Формула =C10/СУММ(C11:C13) =C10/SUM(C11:C13) =СРЗНАЧ(B4:C4)/C17*365 =AVERAGE(B4:C4)/C17*365 =СРЗНАЧ(B3:C3)/-C16*365 =AVERAGE(B3:C3)/-C16*365 =-СРЗНАЧ(B8:C8)/C17*365 =-AVERAGE(B8:C8)/C17*365 =C25+C26-C27 =-СУММ(C2:C5)/СУММ(C8:C9) =-SUM(C2:C5)/SUM(C8:C9) =-СУММ(C2:C3)/СУММ(C8:C9) =-SUM(C2:C3)/SUM(C8:C9) =C18/C16 =C22/C16 Построение визуальных элементов Давайте создадим новый рабочий лист с именем Dashboard и начнем размещать на нем диаграммы будущего дашборда. Суммарный отчет о доходах Вы решили представить суммарный отчет о доходах компании в виде кас­ кадной диаграммы (waterfall chart). К счастью, исходные данные достаточно хорошо отформатированы для этого типа диаграммы. Бухгалтерия предоставила кредитовые балансы, такие как выручка (Sales), в виде отрицательных значений. Для каскадной диаграммы нам необходимо обратить знак, выполнив следующие действия. 1. Введите в неиспользуемой ячейке значение –1. 2. Скопируйте ячейку при помощи сочетания клавиш Ctrl+C. 3. Выделите ячейки C16:G23. 4.На вкладке Главная (Home) выберите в выпадающей кнопке Вставка (Paste) пункт Специальная вставка (Paste Special). Откроется одноименное диалоговое окно. 5.Установите переключатель Операция (Operation) в состояние Умножить (Multiply), как показано на рис. 2.48, и нажмите на кнопку OK. 6. Удалите содержимое ячейки со значением –1. Чтобы построить каскадную диаграмму, выделите ячейки A16:A22, затем с зажатой клавишей Ctrl выделите ячейки G16:G22. На вкладке Вставка (Insert) нажмите на кнопку Каскадная (Waterfall) для создания исходной диаграммы, показанной на рис. 2.49. Глава 2 Практические примеры дашбордов 93 Рис. 2.48. Обращение знака при помощи специальной вставки с умножением Рис. 2.49. Базовая каскадная диаграмма Вырежьте диаграмму и вставьте на лист Dashboard. Отформатируйте ее, выполнив следующие действия. 1.Измените заголовок диаграммы на Current Year Income Statement (in thousands). 2. Удалите легенду. 3. Удалите вертикальную ось. 4.Дважды щелкните по точке данных Margin, чтобы выделить только это поле. Щелкните по нему правой кнопкой мыши и выберите пункт Формат точки данных (Format Data Point). Включите флажок Установить в качестве итога (Set As Total). 5.Повторите предыдущий шаг для точек данных Operating Profit и Net Income. На рис. 2.50 показана диаграмма после включения для этих полей флажков Установить в качестве итога. 94 Часть I Отображение данных на дашборде Рис. 2.50. Установка точек данных в качестве итога 6. Удалите линии сетки. 7.Задайте пользовательский формат для подписей данных: * #,###,;* (#,###,). 8.Добавьте переносы строки для длинных подписей на оси, таких как Operating Profit и Interest Expense. Для этого войдите в режим редактирования исходных ячеек с данными, расположите курсор в месте желаемого переноса строки и нажмите сочетание клавиш Alt+Enter. Итоговая каскадная диаграмма показана на рис. 2.51. Рис. 2.51. Суммарный отчет о доходах за текущий год в виде каскадной диаграммы Коэффициенты за текущий год Элементы с коэффициентами за текущий год будут представлены четырьмя одинаковыми по размеру диаграммами, показывающими коэффициент покрытия (Current Ratio), коэффициент строгой ликвидности (Quick Ratio), отношение заемного капитала к собственному (Debt-to-Equity) и период оборачиваемости товара (Cash Conversion Cycle). Это просто цифры, но нам Глава 2 Практические примеры дашбордов 95 будет интересно разместить вместе с ними датчики в виде шкалы. Вы предварительно проконсультировались с финансовым отделом на предмет верхних границ для каждого из этих показателей. Для первых двух метрик вам порекомендовали использовать в виде эталонного значения 4, для третьей – 2, а для четвертой – 30. Начнем с создания таблицы на рабочем листе Data по примеру показанной на рис. 2.52. Для каждого показателя введите максимальные значения в соответствующей строке. В строке Value укажите нужную ячейку столбца G. К примеру, для показателя Current в строке Value (ячейка B37) введите формулу =G30. В строке Blank (недобор от максимального значения) пропишите формулу =B40-B37 и протяните ее по всем столбцам. В строке Bottom в ячейке B39 введите формулу =B40/0.8-B40 и также протяните ее по столбцам. Рис. 2.52. Подготовка данных для датчиков Выделите диапазон A37:B39 и на вкладке Вставка (Insert) нажмите на выпадающую кнопку Вставить круговую или кольцевую диаграмму (Insert Pie Or Doughnut Chart), выберите пункт Кольцевая (Doughnut), чтобы построить базовую визуализацию, показанную на рис. 2.53. Рис. 2.53. Исходная кольцевая диаграмма для датчика Вырежьте полученную диаграмму и вставьте ее на рабочий лист Dashboard. Измените размер элемента до приемлемого и выполните следующие действия по его форматированию. 1. Удалите легенду. 96 Часть I Отображение данных на дашборде 2.Измените заголовок диаграммы на Current Ratio и установите шрифт размером 10,5. 3.Щелкните правой кнопкой мыши по ряду и выберите пункт Формат ряда данных (Format Data Series), после чего откроется одноименная панель в правой части окна. Установите значение параметра Угол поворота первого сектора (Angle of the first slice) в 216, а Диаметр отверстия (Doughnut hole size) сделайте равным 57 %. 4.Измените размер области диаграммы, чтобы она занимала большую часть элемента, как показано на рис. 2.54. Рис. 2.54. Изменение размера области диаграммы 5.Дважды щелкните мышью по точке данных Value и на вкладке с заливкой установите для нее синий цвет с прозрачностью 40 %. 6. Для точки данных Blank цвет сделайте белым с прозрачностью 15 %. 7.В случае с точкой данных Bottom установите переключатель в положение Нет заливки (No Fill). На рис. 2.55 показана диаграмма после внесенных изменений. Рис. 2.55. Датчик с установленными цветами 8.Выделите точку данных Value и в выпадающей кнопке Элементы диаграммы (Chart Elements) наведите на подменю Метки данных (Data Labels) и выберите пункт Показать (Show). Установите для метки шрифт размера 24 и темно-синего цвета. Окончательный вид датчика показан на рис. 2.56. Рис. 2.56. Датчик показателя коэффициент покрытия (Current Ratio) Глава 2 Практические примеры дашбордов 97 Для создания трех других датчиков просто скопируйте и трижды вставьте на лист полученную диаграмму. Сразу измените заголовки диаграмм, чтобы вы понимали, с какими показателями работаете. При этом вам может понадобиться заново отцентрировать заголовки. Выделите ряд на диаграмме для коэффициента строгой ликвидности (Quick Ratio) и измените формулу ряда в строке формул на следующую: =РЯД (;Data!$A$37:$A$39;Data!$C$37:$C$39;1) (=SERIES(,Data!$A$37:$A$39,Data!$C$37: $C$39,1)), чтобы для него брались корректные данные. Excel автоматически сохранит характеристики диаграммы, такие как размер, но, к сожалению, свойства ряда будут утрачены. В связи с этим вам придется повторить шаги по форматированию ряда, после чего сделать это и для других скопированных датчиков. На рис. 2.57 показаны четыре готовые диаграммы. Рис. 2.57. Четыре датчика показателей для дашборда Коэффициенты прибыли за текущий год Для двух других диаграмм в правой части дашборда вы также выбрали вид кругового датчика, но решили выделить их другим цветом, чтобы они не смешивались с предыдущими элементами. Итак, добавьте в таблицу с исходными данными два столбца для новых показателей с именами Gross Margin и Net Margin. В строке Value укажите нужные ячейки из столбца G. В качестве максимальных значений используйте 40 % и 7 % соответственно. Формулы в строках Blank и Bottom для новых показателей заполните по аналогии с предыдущими метриками. Готовая таблица с добавленными показателями прибыли показана на рис. 2.58. Рис. 2.58. Расчеты для коэффициентов прибыли Скопируйте один из созданных датчиков и дважды вставьте на рабочий лист. Откорректируйте формулы для рядов новых диаграмм таким образом, чтобы они указывали на столбцы F и G в исходных данных соответственно. 98 Часть I Отображение данных на дашборде Измените цветовую гамму новых датчиков и вынесите нужные числовые показатели. Блок с шестью диаграммами-датчиками показан на рис. 2.59. Рис. 2.59. Шесть датчиков на дашборде Пятилетние показатели прибыли Следующие три диаграммы на нашем дашборде будут отражать тренды для трех показателей прибыли: выручки от реализации (revenue), валовой прибыли (gross margin) и чистой прибыли (net margin). Вы могли бы подготовить вспомогательную область с данными для этих диаграмм, но новые формулы мы здесь использовать не будем, так что можно оставить исходные данные там, где они есть. Для создания диаграммы отражения тренда по выручке от реализации выделите диапазон C1:G1 на рабочем листе Data. Удерживая клавишу Ctrl, выделите диапазон C16:G16. После этого на вкладке Вставка (Insert) нажмите на кнопку Рекомендуемые диаграммы (Recommended Charts) и выберите вариант Гистограмма с группировкой (Clustered Column) для вставки соответствующего графика. Вырежьте полученную диаграмму и вставьте ее на лист Dashboard. Далее отформатируйте диаграмму, выполнив следующие действия. 1. Измените заголовок диаграммы на Revenue (in millions). 2.Отформатируйте вертикальную ось таким образом, чтобы она начиналась с нуля, после чего удалите ее. 3. Удалите линии сетки. 4.Измените цвет заливки для ряда данных, чтобы он соответствовал цветовой гамме датчиков по коэффициентам прибыли. Поскольку предполагается, что диаграммы-датчики должны располагаться на заднем плане, выберите более темную градацию цветового оттенка. 5.Добавьте подписи данных и измените их числовой формат на .00,,. Готовая диаграмма по выручке от реализации изображена на рис. 2.60. Скопируйте полученную диаграмму и дважды вставьте ее на рабочий лист, чтобы построить аналогичные визуальные элементы для трендов по валовой и чистой прибыли. Измените заголовок диаграмм на Gross Margin и Net Глава 2 Практические примеры дашбордов 99 Margin соответственно. Обратите внимание, что на рабочем листе Data данные по валовой прибыли располагаются в строке 33, а по чистой прибыли – в строке 34. Последовательно выделите ряды данных на обеих диаграммах и задайте для них следующие формулы в строке формул: валовая прибыль: =РЯД(;Data!$C$1:$G$1;Data!$C$33:$G$33;1) (=SERIES(,Da ta!$C$1:$G$1,Data!$C$33:$G$33,1)); чистая прибыль: =РЯД(;Data!$C$1:$G$1;Data!$C$34:$G$34;1) (=SERIES(,Data !$C$1:$G$1,Data!$C$34:$G$34,1)). Рис. 2.60. Пятилетний тренд выручки от реализации Измените цветовую гамму диаграмм в соответствии с исходным вариантом визуализации. Добавьте подписи данных и при необходимости измените формат их отображения на процентный с двумя знаками после запятой. Готовый блок из трех диаграмм с пятилетними трендами по показателям прибыли отображен на рис. 2.61. Рис. 2.61. Три пятилетних тренда по прибыли Пятилетние показатели балансового отчета Для демонстрации тенденций показателей балансового отчета мы будем использовать обычные линейные графики, чтобы отделить этот вид аналитики от пятилетних трендов метрик по прибыли. Скопируйте одну из гистограмм по показателям прибыли и вставьте ее на лист. Измените тип диаграммы на График с маркерами (Line With Markers). Скорректируйте подписи данных таким образом, чтобы они располагались над маркерами. Для этого нажмите на выпадающую кнопку Элементы диаграммы (Chart Elements) справа от нее и в выпадающем меню Метки данных (Data Labels) выберите пункт Сверху (Above). Сделайте еще две копии графика. Измените заголовки первых двух диаграмм на Cash Conversion Cycle и Debtto-equity Ratio соответственно, а с третьей диаграммы удалите заголовок, поскольку вместо него мы будем использовать легенду. Напишите следующую Powered by TCPDF (www.tcpdf.org) 100 Часть I Отображение данных на дашборде формулу для ряда на первом графике: =РЯД(;Data!$C$1:$G $1;Data!$C$29:$G$29;1) (=SERIES(,Data!$C$1:$G $1,Data!$C$29:$G$29,1)). Для второго графика формула будет такой: =РЯД(;Data!$C$1:$G$1;Data!$C$25:$G$25;1) (=SERIES(,Data!$C$1:$G$ 1,Data!$C$25:$G$25,1)), а для третьего – такой: =РЯД(;Data!$C$1:$G$1;Data!$C$ 30:$G$30;1) (=SERIES(,Data!$C$1:$G$1,Data!$C$30:$G$30,1)). Измените формат данных для подписей на всех трех графиках на числовой с двумя знаками после запятой. Чтобы добавить ряд с коэффициентом строгой ликвидности (Quick Ratio) на третий график, выделите диапазон C31:G31 на рабочем листе Data и нажмите сочетание клавиш Ctrl+C для сохранения его в буфере обмена. Выделите третий график на листе Dashboard и на вкладке Главная (Home) в выпадающей кнопке Вставить (Paste) выберите пункт Специальная вставка (Paste Special) для добавления ряда. Одноименное диалоговое окно, которое откроется в ответ на это действие, показано на рис. 2.62. Рис. 2.62. Вставка нового ряда на существующую диаграмму Для каждого графика измените цвета заливки линий, маркеров и границ таким образом, чтобы они были в одной цветовой гамме с показателями балансового отчета в виде датчиков, но чуть темнее. Для ряда коэффициента строгой ликвидности (Quick Ratio) выберите альтернативный цвет, но не совпадающий с цветом, используемым на диаграммах показателей балансового отчета. Добавьте легенду на график с двумя рядами при помощи выпадающей кнопки Элементы диаграммы (Chart Elements). Чтобы изменить имя ряда на легенде, щелкните по графику правой кнопкой мыши и выберите пункт Выбрать данные (Select Data). В открывшемся диалоговом окне Выбор источника данных (Select Data Source) выберите Ряд 1 (Series 1) и нажмите на кнопку Изменить (Edit) для отображения диалогового окна Изменение ряда (Edit Series), показанного на рис. 2.63. Введите в поле Имя ряда (Series name) формулу =Data!$A$30 и нажмите на кнопку OK. Рис. 2.63. Возьмите имя ряда из ячейки Глава 2 Практические примеры дашбордов 101 Повторите эту операцию со вторым рядом данных. Нажмите на кнопку OK, чтобы закрыть диалоговое окно Выбор источника данных (Select Data Source). Выделите легенду и измените размер шрифта в соответствии с другими диаграммами тренда показателей балансового отчета. На рис. 2.64 показаны все шесть диаграмм с трендами. Рис. 2.64. Шесть диаграмм с трендами по финансовым показателям Размещение элементов на дашборде C таким большим количеством визуальных элементов на дашборде лучше всего для их точного размещения воспользоваться языком VBA. Диаграммы-датчики из-за своего небольшого размера и метки данных по центру являются наиболее трудными в плане позиционирования, так что логично будет использовать их в качестве опорных точек и размещать остальные визуальные элементы на дашборде относительно них. Начнем опять с именования всех элементов на дашборде, чтобы можно было легко обращаться к ним из кода VBA. Последовательно выделите все диаграммы и введите подходящие имена в поле Имя (Name) слева от строки формул. Нажмите сочетание клавиш Alt+F11 для открытия редактора VBE. Теперь с помощью клавиш Ctrl+R откройте панель обозревателя проекта (Project Explorer), если она еще не открыта. Найдите в обозревателе свой проект, щелк­ ните правой кнопкой мыши по его имени и в меню Insert выберите пункт Module. Откроется новая страница для ввода кода на языке VBA. Введите код, приведенный ниже: Sub MoveCharts() With ActiveSheet 'Верхний ряд датчиков MoveSingleChart chtDest:=.Shapes("QuickGauge"), _ chtSource:=.Shapes("CurrentGauge"), _ LeftAdd:=.Shapes("CurrentGauge").Width, TopAdd:=0, _ WidthFactor:=1, HeightFactor:=1 MoveSingleChart chtDest:=.Shapes("GrossGauge"), _ chtSource:=.Shapes("QuickGauge"), _ 102 Часть I Отображение данных на дашборде LeftAdd:=.Shapes("QuickGauge").Width, TopAdd:=0, _ WidthFactor:=1, HeightFactor:=1 'Нижний ряд датчиков MoveSingleChart chtDest:=.Shapes("DtoEGauge"), _ chtSource:=.Shapes("CurrentGauge"), _ LeftAdd:=0, TopAdd:=.Shapes("CurrentGauge").Height, _ WidthFactor:=1, HeightFactor:=1 MoveSingleChart chtDest:=.Shapes("CCCGauge"), _ chtSource:=.Shapes("DtoEGauge"), _ LeftAdd:=.Shapes("DtoEGauge").Width, TopAdd:=0, _ WidthFactor:=1, HeightFactor:=1 MoveSingleChart chtDest:=.Shapes("NetGauge"), _ chtSource:=.Shapes("CCCGauge"), _ LeftAdd:=.Shapes("CCCGauge").Width, TopAdd:=0, _ WidthFactor:=1, HeightFactor:=1 'Каскад. Сначала устанавливаем ширину .Shapes("Water").Width = .Shapes("CurrentGauge").Width * 3 MoveSingleChart chtDest:=.Shapes("Water"), _ chtSource:=.Shapes("CurrentGauge"), _ LeftAdd:=.Shapes("Water").Width * -1, TopAdd:=0, _ WidthFactor:=3, HeightFactor:=2 'Верхний ряд диаграмм трендов, 75 % от высоты каскада MoveSingleChart chtDest:=.Shapes("RevTrend"), _ chtSource:=.Shapes("Water"), _ LeftAdd:=0, TopAdd:=.Shapes("Water").Height, _ WidthFactor:=2 / 3, HeightFactor:=0.75 MoveSingleChart chtDest:=.Shapes("GrossTrend"), _ chtSource:=.Shapes("RevTrend"), _ LeftAdd:=.Shapes("RevTrend").Width, TopAdd:=0, _ WidthFactor:=1, HeightFactor:=1 MoveSingleChart chtDest:=.Shapes("NetTrend"), _ chtSource:=.Shapes("GrossTrend"), _ LeftAdd:=.Shapes("GrossTrend").Width, TopAdd:=0, _ WidthFactor:=1, HeightFactor:=1 'Нижний ряд диаграмм трендов MoveSingleChart chtDest:=.Shapes("CCCTrend"), _ chtSource:=.Shapes("RevTrend"), _ LeftAdd:=0, TopAdd:=.Shapes("RevTrend").Height, _ WidthFactor:=1, HeightFactor:=1 MoveSingleChart chtDest:=.Shapes("DtoETrend"), _ chtSource:=.Shapes("CCCTrend"), _ LeftAdd:=.Shapes("CCCTrend").Width, TopAdd:=0, _ WidthFactor:=1, HeightFactor:=1 MoveSingleChart chtDest:=.Shapes("CurrentTrend"), _ chtSource:=.Shapes("DtoETrend"), _ LeftAdd:=.Shapes("DtoETrend").Width, TopAdd:=0, _ WidthFactor:=1, HeightFactor:=1 End With End Sub Глава 2 Практические примеры дашбордов 103 Sub MoveSingleChart(chtDest As Shape, chtSource As Shape, _ LeftAdd As Double, _ TopAdd As Double, _ WidthFactor As Double, _ HeightFactor As Double) chtDest.Top = chtSource.Top + TopAdd chtDest.Width = chtSource.Width * WidthFactor chtDest.Left = chtSource.Left + LeftAdd chtDest.Height = chtSource.Height * HeightFactor End Sub Первая процедура вызывает вторую для каждого графика на дашборде. В качестве параметров передаются элемент, положение которого мы меняем, элемент-ориентир, а также необходимые смещения. Закройте редактор VBE и вернитесь в Excel. Нажмите сочетание клавиш Ctrl+F8 для открытия диалогового окна Макрос (Macros) и запустите макрос с именем MoveCharts. Если вы не удовлетворены позиционированием дашборда, измените размер и положение датчика с коэффициентом покрытия (Current Ratio) и запустите макрос снова. Итоговый вид дашборда показан на рис. 2.65. Рис. 2.65. Дашборд с финансовыми показателями ГЛАВА 3 Организация данных для дашбордов В этой главе: разделение слоев данных; работа с внешними данными; преобразование данных при помощи Power Query. В данной главе мы поговорим о разделении ваших данных на слои с целью облегчения работы с дашбордами и их обновления. Также я приведу несколько примеров извлечения данных в Excel из наиболее популярных источников. В заключение мы на примерах рассмотрим способы преобразования данных при помощи инструмента Power Query. Разделение слоев данных Наиболее перспективной практикой при проектировании и создании дашбордов является разделение исходных данных на слои (layer). Чаще всего в процессе разделения фигурируют три слоя данных: слой источника (source layer), слой подготовки и анализа (staging and analysis layer) и слой представления (presentation layer). На рис. 3.1 показан простейший пример разделения данных на три слоя, каждый из которых располагается на своем рабочем листе. Разделение данных на слои позволяет менять разные части дашборда без внесения изменений в каждый аспект. К примеру, если вдруг изменится формат ваших входных данных, вам, вероятно, придется обновить формулы в слое подготовки данных. Но, поскольку общая схема обрабатываемых данных не изменилась, вам не придется корректировать диаграммы на слое представления. И наоборот, если вы захотите изменить внешний вид диаграммы и это потребует изменений в слое подготовки данных, исходной информации это не коснется. Еще одним серьезным преимуществом разделения данных на слои является то, что это позволяет сделать процесс обновления дашборда более эф- Глава 3 Организация данных для дашбордов 105 фективным. Это достигается за счет того, что мы храним исходные данные в том виде, в котором получили их. Представьте, что вы получили на вход плохо отформатированные текстовые данные. Вы импортируете их в Excel, переставляете столбцы и строки так, как вам нужно, выполняете поиск и замену и иными способами манипулируете с данными, пока не приведете их в вид, пригодный для построения диаграмм. Это пример объединения слоев источника и подготовки данных. В этом случае в следующий раз, когда вам необходимо будет обновить график, вам придется импортировать измененный файл и заново проводить все манипуляции с ним. Рис. 3.1. Три слоя данных 106 Часть I Отображение данных на дашборде Теперь рассмотрим тот же сценарий с загрузкой текстовых данных в Excel. Но вместо того чтобы манипулировать данными на месте, мы напишем формулы на новом листе для преобразования данных в желаемый вид, оставляя исходные данные на своем листе в том виде, в котором они к нам поступили. Таким образом, при следующем обновлении данных мы просто импортируем новый текстовый файл и запустим наши формулы. Это может потребовать больших сил на написание самого алгоритма преобразования данных, зато процесс обновления будет происходить безболезненно. Слой источника Слой источника представляет собой место, в котором вы начинаете работать с данными. При этом он может не являться источником данных как таковым, источником он может служить только для вашего проекта. В отношении источника вас должны интересовать следующие вопросы: каков формат данных, откуда они поступили, как часто обновляются и какой уровень агрегации к ним применен. Данные могут приходить к вам в самых разных форматах. Это может быть, к примеру, файл Excel. В этом случае данные могут быть уже достаточно хорошо подготовлены для анализа. Также исходные данные могут быть представлены в виде текстовых файлов, файлов XML, информации с сайтов, из баз данных и т. д. Во всех этих случаях вам потребуется определенное время на перенос данных в Excel. Способы получения исходной информации также могут варьироваться. Вы можете получать ее по почте, качать по сети, с FTP-сервера или веб-сервера. У вас может быть доступ к базе данных напрямую. Но чаще вы будете получать данные из базы через посредника. Так или иначе, получив доступ к информации, вам необходимо максимально автоматизировать процесс переноса данных в Excel. Запросы к базе данных или файлам в сети относительно легко поддаются автоматизации. Что касается файлов с FTP-сервера или из почты, для их преобразования в нужный вам вид может потребоваться больше времени. Вопрос о том, насколько часто данные обновляются, должен интересовать вас только в случае, если это происходит реже, чем вы собираетесь обновлять свой дашборд. Но помните, что данные для дашборда могут поступать сразу из нескольких источников. Таким образом, расписание обновлений вашего дашборда будет ограничено источником с самыми редкими обновлениями. Кроме того, некоторые данные нуждаются в дополнительном преобразовании перед их использованием. К примеру, у вас может быть доступ к данным о продажах на точках практически в реальном времени, но в конце дня на каждой из них запускается процесс обработки исходной информации, в течение которого данные существенно меняются, и вам придется ждать завершения этого процесса. Как я уже упоминал в предыдущей главе, в основном вы должны стремиться получать данные в максимально сыром виде, насколько это возможно. Глава 3 Организация данных для дашбордов 107 Но из этого правила есть несколько исключений. Первое из них связано с ситуацией, когда сырых данных в источнике уж слишком много. К примеру, датчик, фиксирующий показатели каждые пять секунд, за день может накопить огромное количество информации. В этом случае вам необходимо будет найти подходящий компромисс между гибкостью максимально необработанных данных и их объемом. Иногда допустимо получать на вход данные, прошедшие предварительную агрегацию. Еще одно исключение состоит в недостаточном форматировании исходных данных. В идеале информация, поступающая на вход, должна быть представлена в виде строк и столбцов. При этом каждый столбец должен представлять собой поле, содержащее одно значение для каждого объекта, а каждая строка – запись или коллекцию полей, описывающую объект. В мире данных такой подход к представлению информации именуется нормализацией (normalization). К сожалению, вы постоянно будете получать ту или иную исходную информацию в ненормализованном виде. Если у вас есть рычаги влияния относительно приведения данных к нормальному формату перед отправкой, здорово! Если нет – обработку присланных сведений вам придется выполнять самостоятельно. На рис. 3.2 приведен внешний вид файла со строками и столбцами, прекрасно подготовленного для анализа в Excel при помощи формул и сводных таблиц. Что касается файла, показанного на рис. 3.3, для его обработки потребуются более сложные формулы или другие инструменты. Рис. 3.2. Хорошо отформатированные данные 108 Часть I Отображение данных на дашборде Рис. 3.3. Плохо отформатированные данные Слой подготовки и анализа Слой подготовки и анализа – это место, где вы приводите данные в вид, пригодный для представления. Хотя сырые необработанные данные обеспечивают максимальную гибкость при работе с ними, для построения диаграмм они могут совершенно не подходить. На этом этапе вы можете агрегировать исходные данные, исходя из своих требований для каждого элемента визуализации. К примеру, на линейном графике вы можете отобразить изменение показателя с течением времени, а на столбчатой диаграмме показать значения по категориям. При этом оба элемента будут использовать один и тот же источник данных. В этом случае вы можете агрегировать информацию по датам на одном листе, а по категориям – на другом. Для самых простых дашбордов этот слой может состоять всего из одного рабочего листа. Но для большинства сценариев он, как и слой источника, будет включать в себя несколько листов. Нет никакой необходимости пытаться уместить все стадии подготовки данных на одном листе. Некоторые диаграммы предполагают наличие исходных данных в строго определенном виде. При изменении типа диаграммы вам может понадобиться изменить процесс подготовки данных на этом слое. В основном подготовка и анализ данных на этом этапе выполняются при помощи формул Excel и сводных таблиц. Глава 3 Организация данных для дашбордов 109 Слой представления Слой представления содержит элементы визуализации и интерактивные элементы управления. Иногда слои подготовки/анализа и представления располагаются на одном рабочем листе. Если такая структура не противоречит вашим требованиям, вы можете просто скрыть подготовительные данные за диаграммами. Но такой подход не всегда работает, и лучше все же разделять слои по разным листам. Слой представления может состоять из одного или нескольких рабочих лис­тов в книге, а также файлов других форматов для распространения дашбордов. Итоговый дашборд вполне можно держать в Excel, но некоторые предпочитают использовать для представления информации файлы PowerPoint или PDF, а также пересылать их в теле писем. В этом случае слой представления будет состоять из рабочих листов, на которых будут создаваться визуальные элементы, и файлов других форматов для их представления. Работа с внешними данными Если ваши исходные данные изначально находятся не в Excel, для начала вам придется их импортировать. Excel допускает импорт данных из самых разных источников, список которых многократно расширился с появлением таких полезных инструментов, как Power Query и Power Pivot. Power Query против Power Pivot Несколько лет назад компания Microsoft выпустила на рынок линейку продуктов из области бизнес-аналитики (business intelligence – BI). И хотя с годами эта линейка расширялась, основными инструментами для облегчения работы в Excel остались Power Query и Power Pivot. Power Query представляет собой инструмент для извлечения, преобразования и загрузки данных (extract, transform load – ETL). Движок Power Query встроен во все последние версии Excel, а также представлен в других продуктах Microsoft в области бизнес-аналитики, таких как Power BI. Power Query заменил присутствовавшую ранее группу Получить внешние данные (Get External Data) на вкладке Данные (Data). По сути, механизм получения внешних данных включал в себя стадии извлечения и загрузки информации. При помощи него можно было производить определенные действия по преобразованию данных, но по большей части он служил исключительно для получения данных и загрузки их на рабочий лист. Power Query обладает гораздо большим потенциалом в отношении преобразования данных, и далее в этой главе мы рассмотрим его основные возможности. Этому инструменту посвящаются целые книги, так что здесь мы лишь поверхностно коснемся его функционала. 110 Часть I Отображение данных на дашборде Power Pivot представляет собой надстройку в Excel, позволяющую строить полноценные модели данных. В рамках этих моделей вы можете создавать собственные иерархии, писать сложные формулы на языке DAX, определять ключевые показатели эффективности для своих данных и делать многое другое. Инструмент Power Pivot выходит за рамки данной книги, но его часто используют совместно с Power Query, так что вам будет полезно знать разницу между ними. Текстовые файлы Текстовые файлы обычно поступают в двух видах: с разделителями (delimi­ ted) и с полями фиксированной ширины (fixed width). В первом случае преду­ смотрен специальный символ (обычно запятая или знак табуляции), выступающий в качестве разделителя между значениями в строке, а сами строки отделены друг от друга при помощи символа переноса строки. Во втором типе файлов все строки и поля внутри них характеризуются фиксированной шириной. При неполном содержании поля оставшиеся символы заполняются пробелами таким образом, чтобы следующее поле начиналось со строго фиксированного места. На рис. 3.4 показаны одни и те же данные, оформленные в виде файлов с разделителями и с полями фиксированной ширины. Рис. 3.4. Данные, отформатированные в виде текстовых файлов разных типов Глава 3 Организация данных для дашбордов 111 У каждого формата есть свои преимущества и недостатки. Файлы с полями фиксированной ширины занимают больше места на диске из-за дополнительных пробелов внутри. Несмотря на то что они не видны, место они все же занимают. К недостаткам файлов с разделителями можно отнести путаницу, которая время от времени возникает, когда символ, использующийся в качестве разделителя, встречается в содержимом полей. Существуют определенные стандарты обращения с символами-разделителями, но не все программы придерживаются одних и тех же стандартов. Обычно, если заключать поле с символом-разделителем внутри в двойные кавычки, а сам символ двойных кавычек удваивать, большинство программ справятся с такими файлами без проблем. Примечание Текстовые файлы из данного примера называются ImportDelim.txt и ImportFixed.txt и располагаются на сайте с сопроводительными файлами. Для импорта текстового файла с полями фиксированной ширины выполните следующие действия. 1. Создайте пустую рабочую книгу в Excel. 2.На вкладке Данные (Data) нажмите на кнопку Получить данные (Get Data) и в подменю Из файла (From File) выберите пункт Из текстового/CSV-файла (From Text/CSV), как показано на рис. 3.5. Рис. 3.5. Выпадающая кнопка получения данных в Excel 112 Часть I Отображение данных на дашборде 3.Найдите и откройте файл с именем ImportFixed.txt. Откроется диалоговое окно, в котором будет видно, как Excel интерпретирует указанный файл. В данном случае Excel отметил, что в файле используется пользовательский разделитель, а само текстовое поле с разделителем осталось пустым. Я не знаю, почему не был выбран вариант Фиксированная длина (Fixed Width), показанный на рис. 3.6, но полагаю, что указание пустой строки в виде разделителя подразумевает формат с полями фиксированной длины. Рис. 3.6. Варианты разделителей при импорте файла 4.Нажмите на кнопку Загрузить (Load) для переноса данных на рабочий лист. На рис. 3.7 показана созданная в результате таблица на листе и запрос на панели Запросы и подключения (Queries & Connections). Шаги для импорта файла с разделителями будут такие же. Вероятнее всего, Power Query правильно определит символ разделителя запятую в нашем файле, как показано на рис. 3.8. Вы можете импортировать текстовые файлы в Excel с использованием пунк­та меню Открыть (Open) на вкладке Файл (File). Это приведет к открытию старого диалогового окна Мастер текстов (импорт) (Text Import Wizard), показанного на рис. 3.9. Кстати, если вы предпочитаете пользоваться старыми диалоговыми окнами импорта, то можете вернуть их на ленту. Для этого на вкладке Файл (File) нажмите на кнопку Параметры (Options) и на вкладке Данные (Data) установите любые флажки из раздела Отображение мастеров импорта данных прежних версий (Show legacy data import wi­ zards). На рис. 3.10 показано диалоговое окно Параметры Excel (Excel Options), в котором вы можете сделать свой выбор. Глава 3 Организация данных для дашбордов 113 Рис. 3.7. Текстовый файл в виде таблицы Рис. 3.8. Окно импорта для файла с разделителями запятыми 114 Часть I Отображение данных на дашборде Рис. 3.9. Старый метод импорта текстовых файлов Рис. 3.10. Включение старых методов импорта в настройках Excel Глава 3 Организация данных для дашбордов 115 Новые методы импорта, входящие в состав Power Query, имеют по сравнению с прежними способами загрузки данных в Excel два весомых преимущест­ ва. Во-первых, они позволяют вам выполнить полноценное преобразование данных перед загрузкой. О богатом потенциале Power Query в этом плане мы будем более или менее подробно говорить далее в этой главе. Во-вторых, новые методы дают возможность создавать обновляемые таблицы в Excel, привязанные к источнику. В случае со старыми методами вы импортируете данные и отключаетесь от источника. Если после этого заменить файл источника на новый, вам придется импортировать его заново вручную. Power Query позволяет вам просто обновить данные, что приведет к загрузке новой информации. Это значительно упрощает процесс обновления дашбордов. В нижней части окна импорта вы можете нажать на кнопку Преобразовать данные (Transform Data), что приведет к открытию редактора Power Query. Опять же, подробнее мы будем говорить о возможностях этого инструмента позже. Кроме того, кнопка Загрузить (Load) является выпадающей, что позволяет также выбрать опцию Загрузить в… (Load To…). Вариант обычной загрузки является выбором по умолчанию и ведет к созданию таблицы на рабочем листе. Опция Загрузить в… позволяет воспользоваться диалоговым окном Импорт данных (Import Data), показанным на рис. 3.11. Рис. 3.11. Диалоговое окно Импорт данных Первый пункт выбора переключателя приведет к обычной загрузке данных на лист. Варианты Отчет сводной таблицы (PivotTable Report) и Сводная диаграмма (PivotChart) можно выбрать, если вы планируете так или иначе работать со сводными данными. И последний вариант позволяет создать только подключение к файлу, но импорт отложить до будущих времен. Наконец, в нижней части диалогового окна есть флажок Добавить эти данные в модель данных (Add this data to the Data Model), о котором мы поговорим подробнее в следующем разделе. Файлы Excel Также с помощью Power Query вы можете импортировать файлы Excel. При этом процесс будет сильно напоминать загрузку текстовых файлов. В этом 116 Часть I Отображение данных на дашборде случае, как и в случае с импортом данных из текста, вы сможете обновлять в будущем файл-источник и загружать данные элементарно просто. На рис. 3.12 показан фрагмент данных из файла Excel с информацией о продажах. Рис. 3.12. Транзакции с продажами из файла Excel Примечание Файлы, с которыми мы будем работать в этой главе, называются Sales­ Transactions.xlsx, SalesPersons.txt и SalesByLastName.xlsx и располагаются на сайте с сопроводительными файлами. Для импорта файла Excel на вкладке Данные (Data) нажмите на кнопку Получить данные (Get Data) и в подменю Из файла (From File) выберите пункт Из книги (From Workbook), как показано на рис. 3.13. Выберите файл Excel, после чего откроется диалоговое окно Навигатор (Navigator), показанное на рис. 3.14. Здесь вы можете выбрать данные для импорта. В нашем случае рабочая книга содержит два листа, одну таблицу Excel и один именованный диапазон (named range). Каждый тип загружаемых данных помечен своей иконкой для удобства выбора. При выборе элемента справа будет заполняться окно предварительного просмотра данных. Выберите таблицу Excel и нажмите на кнопку Загрузить (Load) для импорта данных на рабочий лист активной книги. На рис. 3.15 показаны данные, загруженные на рабочий лист, и запрос на панели Запросы и подключения (Queries & Connections). Глава 3 Организация данных для дашбордов 117 Рис. 3.13. Импорт файла Excel Рис. 3.14. Окно навигатора Power Query 118 Часть I Отображение данных на дашборде Рис. 3.15. Загруженные данные из файла Excel и сопутствующий запрос Модель данных (Data Model) представляет собой хранилище внутри Excel на основе одного или нескольких связанных между собой наборов данных по примеру реляционной базы данных. В основном связанные наборы данных обладают общим столбцом, по которому осуществляется связь. В примере, который мы будем рассматривать, наборы данных о транзакциях и продавцах имеют общий столбец SalesPerson. Добавить данные в модель можно тремя способами. Во-первых, при загрузке данных вы можете в окне навигатора нажать на кнопку Загрузить в… (Load To…) и установить в открывшемся диалоговом окне Импорт данных (Import Data) флажок Добавить эти данные в модель данных (Add this data to the Data Model). Во-вторых, если вы загружаете сразу несколько наборов данных, Excel автоматически добавит их в модель данных. Ну и, наконец, если вы, как в нашем случае, уже импортировали данные, вы всегда можете на вкладке Запрос (Query) нажать на кнопку Загрузить в (Load To), что приведет к открытию диалогового окна Импорт данных (Import Data), в котором вы можете установить флажок Добавить эти данные в модель данных (Add this data to the Data Model). Вкладка Запрос (Query) является контекстной и видна только при выделении загруженных данных. Использование третьего варианта приведет к загрузке данных и замене существующего содержимого на актуальные данные из файла. Excel предупре­ дит вас о возможной потере данных посредством сообщения, показанного на рис. 3.16. Если файл источника не менялся, вы можете смело проигнорировать это сообщение. Глава 3 Организация данных для дашбордов 119 Рис. 3.16. Предупреждение при добавлении существующего набора данных в модель Модель данных может теоретически состоять и из одного набора данных, но гораздо больше пользы она сможет принести при наличии сразу нескольких наборов, объединенных между собой. Просмотреть модель данных можно в Power Pivot, надстройку которого предварительно необходимо активировать. Для этого на вкладке Файл (File) выберите пункт Параметры (Options). В открывшемся диалоговом окне Параметры Excel (Excel Options) перейдите в раздел Надстройки (Add-ins). В выпадающем списке Управление (Manage) выберите пункт Надстройки COM (COM Add-ins) и нажмите на кнопку Перейти (Go). В открывшемся диалоговом окне Надстройки COM (COM Add-ins) установите флажок Microsoft Power Pivot For Excel и нажмите на кнопку OK, как показано на рис. 3.17. Рис. 3.17. Активация надстройки Power Pivot в Excel После включения надстройки на ленте появится дополнительная вкладка Power Pivot. На этой вкладке есть кнопка Добавить в модель данных (Add to Data Model), представляющая четвертый вариант для добавления существующего набора данных в модель при включенной надстройке Power Pivot. Чтобы увидеть саму модель данных, необходимо нажать на кнопку Управление (Manage) на вкладке Power Pivot. В результате откроется окно этой надстройки, показанное на рис. 3.18. В нижней части окна вы увидите вкладки, соответствующие всем наборам данных в модели, аналогично вкладкам рабочих листов в книге Excel. Поскольку в нашем случае набор данных пока один, то и вкладка в Power Pivot будет одна. Powered by TCPDF (www.tcpdf.org) 120 Часть I Отображение данных на дашборде Рис. 3.18. Интерфейс Power Pivot Для добавления в модель нового набора данных закройте окно Power Pivot и вернитесь в Excel. Воспользуйтесь инструкцией из предыдущего раздела и загрузите в Excel информацию из файла Salespersons.txt. Нажмите на кнопку Загрузить в (Load To) в окне навигатора Power Query, чтобы открылось диалоговое окно Импорт данных (Import Data). Установите флажок Добавить эти данные в модель данных (Add this data to the Data Model). Снова нажмите на кнопку Управление (Manage) на вкладке Power Pivot, чтобы запустить эту надстройку. Теперь в нижней части окна вы увидите уже две вкладки, указывающие на наличие двух наборов данных в модели. В зависимости от ваших данных Power Pivot может автоматически создать связи между наборами данных. В нашем случае, когда одни данные пришли из Excel, а другие из текстового файла, Power Pivot не может самостоятельно определить, как соотносятся наши таблицы, так что объединить их вам придется вручную. На вкладке Конструктор (Design) в Power Pivot нажмите на кнопку Создание связи (Create Relationships), в результате чего откроется одноименное диалоговое окно. Выберите в выпадающих списках наборы данных и в открывшихся таблицах выделите колонки SalesPerson, как показано на рис. 3.19. Нажмите на кнопку OK для создания связи. Таким образом мы указали Power Pivot на то, что в наших наборах данных присутствуют столбцы со связанными данными. На вкладке Главная (Home) в Power Pivot нажмите на кнопку Представление диаграммы (Diagram View), чтобы открыть схематический вид модели данных. Здесь ваши наборы данных будут представлены не в виде вкладок и таблиц, подобно рабочим листам в Excel, а в виде окошек с полями. Кроме того, связи между наборами данных будут показаны в виде соединяющих их линий. На рис. 3.20 показаны наши две таблицы, связанные по полю SalesPerson, при этом мышь наведена на связь, так что объединенные поля в двух окошках оказались подсвечены. Глава 3 Организация данных для дашбордов 121 Рис. 3.19. Создание связей в Power Pivot Рис. 3.20. Представление диаграммы в Power Pivot 122 Часть I Отображение данных на дашборде Связь, показанная на рис. 3.20, помечена звездочкой на одном конце (у набора данных tblSales) и единичкой на другом (у набора SalesPersons). Power Pivot правильно идентифицировал тип связи «один ко многим» – это означает, что каждой записи в таблице SalesPersons могут соответствовать несколько записей в таблице tblSales. Теперь, когда связь между двумя наборами данных установлена, мы можем построить сводную таблицу на основе нашей модели данных. Закройте Power Pivot и вернитесь в Excel. На вкладке Вставка (Insert) в группе Таблицы (Tables) нажмите на кнопку Сводная таблица (PivotTable). Откроется диалоговое окно Создание сводной таблицы (Create PivotTable). Установите переключатель в положение Использовать модель данных этой книги (Use This Workbook’s Data Model), как показано на рис. 3.21. Рис. 3.21. Создание сводной таблицы на основе модели данных Полученная в результате сводная таблица, показанная на рис. 3.22, включает в себя оба наших набора данных. Вы можете выбирать поля из обеих таблиц, и Excel поймет, что они связаны друг с другом. К примеру, вы можете перетащить поле LastName из таблицы Salespersons в область Строки (Rows), а поле Amount из таблицы tblSales – в область Значения (Values) для создания сводной таблицы, показанной на рис. 3.23. Power Pivot является чрезвычайно мощным инструментом в рамках Excel, и в этом разделе мы лишь вскользь коснулись основ его использования. В оставшейся части этой главы я расскажу о других аспектах доступа к данным, а если вы хотите глубже погрузиться в тему Power Pivot, вам в этом помогут книги, целиком посвященные данному инструменту. Глава 3 Организация данных для дашбордов 123 Рис. 3.22. Сводная таблица на основе модели данных с двумя таблицами Рис. 3.23. Сводная таблица с суммами продаж в разрезе продавцов Базы данных Access Помимо загрузки данных, хранящихся в файлах, как было показано в предыдущих примерах, Power Query умеет импортировать информацию непосредственно из баз данных, к примеру из Access. По сути, база данных Access также представляет собой файл, но при этом хранит данные в виде более сложных структур по сравнению с обычными текстовыми файлами. 124 Часть I Отображение данных на дашборде Примечание База данных Access, с которой мы будем работать в этом примере, хранится в файле Northwind.accdb и располагается на сайте с сопроводительными файлами. Для импорта данных из Access откройте рабочую книгу, перейдите на вкладку Данные (Data), нажмите на выпадающую кнопку Получить данные (Get Data) и в подменю Из базы данных (From Database) выберите пункт Из базы данных Microsoft Access (From Microsoft Access Database). Найдите на диске нужный файл и нажмите на кнопку Открыть (Open). Excel отобразит диалоговое окно Навигатор (Navigator), показанное на рис. 3.24, с которым вы уже знакомы по предыдущим разделам. Рис. 3.24. Навигатор Power Query при импорте данных из Access В навигаторе будут показаны все таблицы и запросы из базы данных, которые вы можете импортировать. Для загрузки одной таблицы или запроса достаточно выбрать нужный элемент и нажать на кнопку Загрузить (Load). В результате в Excel будет создан новый рабочий лист с таблицей или запросом. На рис. 3.25 показан фрагмент данных из таблицы Orders из базы данных Northwind. Глава 3 Организация данных для дашбордов 125 Рис. 3.25. Таблица Orders из базы данных Northwind Как и в случае с другими видами импорта данных, любые изменения в источнике могут быть отражены в Excel путем обновления запроса. В навигаторе вы также можете загружать более одной таблицы за раз. Для этого откройте окно навигатора так же, как мы делали это раньше, после чего установите флажок Несколько элементов (Select Multiple Items). Теперь рядом с каждым элементом для выбора появится флажок, с помощью которого вы сможете отмечать сразу несколько таблиц и запросов. Выберите таблицы Orders и Order Details и нажмите на кнопку Загрузить (Load), как показано на рис. 3.26. Стоит отметить, что при выборе нескольких элементов Power Query по умолчанию не загружает их на рабочие листы, как в случае с единственным выбранным объектом. Вместо этого он автоматически добавит выбранные наборы в модель данных. На вкладке Power Pivot нажмите на кнопку Управление (Manage) для открытия надстройки и перейдите в режим Представления диаграммы (Diagram View) на вкладке Главная (Home) в Power Pivot. Как видно по рис. 3.27, Power Pivot узнал о созданной связи между выбранными таблицами в Access и воссоздал ее в модели данных. С имеющейся моделью данных вы можете при необходимости загружать данные из отдельных наборов на рабочие листы или создавать сводные таб­ лицы. Для загрузки одной таблицы сначала вернитесь в Excel. Панель Запросы и подключения (Queries & Connections) должна быть по-прежнему открыта. Если нет, перейдите на вкладку Данные (Data) и нажмите одноименную кнопку. Щелкните правой кнопкой мыши по нужному набору данных и выберите в контекстном меню пункт Загрузить в (Load To), как пока- 126 Часть I Отображение данных на дашборде зано на рис. 3.28, чтобы открыть диалоговое окно Импорт данных (Import Data), продемонстрированное на рис. 3.29. Рис. 3.26. Множественный выбор элементов в навигаторе Power Query Рис. 3.27. Существующая связь в базе данных Access перекочевала в модель данных Глава 3 Организация данных для дашбордов 127 Рис. 3.29. Диалоговое окно Импорт данных (Import Data) Рис. 3.28. Загрузка одной таблицы из панели Запросы и подключения Диалоговое окно Импорт данных (Import Data) запоминает предыдущие настройки загрузки данных. Поскольку в последний раз вы загружали сразу несколько объектов, по умолчанию будет выбран переключатель Только создать подключение (Only Create Connection) и отмечен флажок Добавить эти данные в модель данных (Add this data to the Data Model). Измените выбор переключателя на Таблица (Table), а флажок Добавить эти данные в модель данных оставьте включенным, чтобы загрузить один набор данных на рабочий лист. В этом случае в модели данных не появится копия таблицы, тогда как снятие флажка привело бы к ее удалению. Но чаще вы будете создавать сводные таблицы на основе данных из модели, а не загружать эти данные на лист. Для создания сводной таблицы перейдите на вкладку Вставка (Insert) и в группе Таблицы (Tables) нажмите на кнопку Сводная таблица (PivotTable) для открытия диалогового окна Создание сводной таблицы (Create PivotTable). Установите переключатель в положение Использовать модель данных этой книги (Use This Workbook’s Data Model), как показано на рис. 3.30, и нажмите на кнопку OK. Запросы Orders и Order Details появятся на панели Поля сводной таблицы (PivotTable Fields), как видно на рис. 3.31. В сводной таблице учитываются связи между таблицами, созданные в модели данных, и вы можете использовать поля из обоих запросов одновременно – например, для отображения продаж в количестве штук по дням. Power Query также обладает способностью определять наличие связей между таблицами перед загрузкой данных. Таким образом, если вы незнакомы со структурой базы данных, к которой обращаетесь, вы можете, к примеру, загрузить все таблицы, связанные с таблицей Orders. 128 Часть I Отображение данных на дашборде Рис. 3.30. Создание сводной таблицы на основе модели данных Рис. 3.31. Сводная таблица на основе модели данных Для этого в окне навигатора Power Query отметьте флажок Несколько элементов (Select Multiple Items) и выделите таблицу Orders. Нажмите на кнопку Выбор связанных таблиц (Select Related Tables) в нижней части окна. После непродолжительных раздумий Power Query выделит все связанные с Orders таблицы, как показано на рис. 3.32. В таблице Orders присутствует внешний ключ (foreign key) с именем Customer ID, связанный с первичным ключом (primary key) в таблице Customers, в связи Глава 3 Организация данных для дашбордов 129 с чем таблица Customers также оказалась отмеченной. То же самое относится и к остальным таблицам, которые Power Query выделил автоматически. Все таблицы загружены, связи созданы, и Представление диаграммы (Diagram View) в Power Pivot выглядит так, как показано на рис. 3.33. Рис. 3.32. Power Query выбрал только связанные с Orders таблицы Базы данных SQL Server Еще одним распространенным источником хранения данных является СУБД Microsoft SQL Server. В отличие от Access, данные в SQL Server не хранятся физически в одном файле. Вместо этого система представляет собой службу, установленную на сервере или локальном компьютере, которая обращается непосредственно к данным. Существует несколько версий SQL Server, и каждая компания выбирает версию исходя из собственных нужд. В данном разделе мы будем использовать бесплатную версию SQL Server Express, которая может быть запущена на локальном компьютере. 130 Часть I Отображение данных на дашборде Рис. 3.33. Выбор связанных таблиц при загрузке воссоздал все связи в модели данных Компания Microsoft снабжает программный комплекс SQL Server демонстрационной базой данных с именем AdventureWorks. Загрузить SQL Server Express можно с сайта Microsoft по адресу https://www.microsoft.com/en-us/sqlserver/sql-server-downloads. База данных AdventureWorks скачивается отдельно на сайте Microsoft по адресу https://docs.microsoft.com/en-us/sql/samples/ adventureworks-install-configure. Для загрузки данных из SQL Server перейдите на вкладку Данные (Data), нажмите на выпадающую кнопку Получить данные (Get Data) и в подменю Из базы данных (From Database) выберите пункт Из базы данных SQL Server (From SQL Server Database). Excel отобразит диалоговое окно, в котором вы сможете ввести имя сервера, на котором установлен SQL Server, как показано на рис. 3.34. Если вы используете версию Express с базовой установкой по умолчанию, подключение можно осуществлять по имени сервера .\sqlexpress. Если вы не знаете имя сервера SQL Server, вы всегда можете связаться с администратором баз данных и уточнить эту информацию. Глава 3 Организация данных для дашбордов 131 Рис. 3.34. Диалоговое окно Excel для ввода данных о подключении к SQL Server Для ограничения списка выводимых объектов в навигаторе вы также можете указать в диалоговом окне имя базы данных в соответствующем поле. После заполнения информации нажмите на кнопку OK для отображения окна навигатора. На рис. 3.35 показано окно навигатора при подключении к базе данных AdventureWorks, расположенной на SQL Server Express. Рис. 3.35. Окно навигатора при загрузке данных из SQL Server 132 Часть I Отображение данных на дашборде Далее процесс загрузки будет очень похож на процедуру импорта из базы данных Access. Например, вы можете установить флажок Несколько элементов (Select Multiple Items), выбрать из списка таблицы SalesOrderHeader и SalesOrderDetail и нажать на кнопку Загрузить (Load) для импорта данных в модель. Поскольку в базе данных AdventureWorks указанные таблицы связаны между собой, Power Pivot также автоматически создаст связь между ними в модели данных. На рис. 3.36 показано представление диаграммы в Power Pivot, которое можно открыть, нажав на кнопку Управление (Manage) на вкладке Power Pivot, после чего в меню Главная (Home) переключиться на Представление диаграммы (Diagram View). Рис. 3.36. Представление диаграммы в Power Pivot для таблиц SalesOrderHeader и SalesOrderDetails В данном разделе мы рассмотрели варианты загрузки данных в Excel посредством Power Query из наиболее распространенных источников. При этом Excel позволяет импортировать данные из гораздо большего числа источников, включая Salesforce, Azure, Microsoft Exchange, MySQL и другие. Процесс подключения к источникам в этих случаях будет немного отличаться, но сама процедура загрузки данных будет точно такой же. Преобразование данных при помощи Power Query В предыдущем разделе мы говорили о загрузке данных из различных источников с применением инструментов Power Query и Power Pivot. Но функции Power Query не ограничиваются одним лишь импортом данных – более того, его главное назначение состоит в преобразовании этих самых данных перед их загрузкой в Excel. Для преобразования данных движок Power Query использует язык программирования M. Для полноценного изучения языка M понадобилось бы написать отдельную книгу. Мы же здесь рассмотрим только основные навыки обращения с ним, которые вы сможете развить самостоятельно. Несмотря на то что Глава 3 Организация данных для дашбордов 133 вы сами можете писать код на языке M вручную, Power Query будет делать это за вас в фоновом режиме, когда вы будете манипулировать данными при помощи интерфейса. Надо сказать, что для большинства операций с данными, которые могут потребоваться, вам не придется писать код на M вручную. Чтобы посмотреть на примере, как Power Query управляет данными, выполните следующие действия. 1.Перейдите на вкладку Данные (Data), нажмите на выпадающую кнопку Получить данные (Get Data) и в подменю Из базы данных (From Database) выберите пункт Из базы данных Microsoft Access (From Microsoft Access Database). 2.Найдите на диске нужный файл и нажмите на кнопку Открыть (Open). Для данного примера я буду использовать демонстрационную базу данных Northwind. 3.Excel отобразит диалоговое окно Навигатор (Navigator), в котором вам необходимо будет установить флажок Несколько элементов (Select Multiple Items). 4. Выделите таблицы Orders и Order Details. 5.Нажмите на кнопку Преобразовать данные (Transform Data) в нижней части окна навигатора, показанного на рис. 3.37. Рис. 3.37. Нажмите на кнопку Преобразовать данные в окне навигатора 134 Часть I Отображение данных на дашборде В результате откроется окно редактора Power Query (Power Query Editor), представленное на рис. 3.38. На левой панели редактора перечислены все запросы по подобию панели Запросы и подключения (Queries & Connections) в Excel. В основной области окна отображается предварительный просмотр данных из выбранного в левой панели запроса. На панели Параметры запроса (Query Settings) справа показаны примененные в ходе выполнения запроса шаги по преобразованию данных. Рис. 3.38. Редактор Power Query Секция Примененные шаги (Applied Steps) показывает, какие шаги уже были применены Power Query. Первый шаг был создан, когда вы решили использовать в качестве источника данных базу Access, а второй – когда выбрали объект из базы данных для загрузки. На вкладке Просмотр (View) в редакторе Power Query нажмите на кнопку Расширенный редактор (Advanced Editor). Именно здесь вы можете видеть весь код на языке M, который Power Query пишет за вашей спиной. На рис. 3.39 показано окно расширенного редактора. Две строки кода в разделе let и представляют собой два примененных шага в рамках запроса. Синтаксис языка M может поначалу немного пугать. Но в конечном счете Power Query обычно пишет код за вас, так что вам может и не потребоваться доскональное изучение языка M для работы с этим инструментом. Даже если вы не понимаете всех нюансов кода, в общих чертах вам должно быть ясно, что в первой строке происходит идентификация файла с источником данных, а во второй – определение таблицы внутри источника. Глава 3 Организация данных для дашбордов 135 Рис. 3.39. Расширенный редактор Power Query На ленте Power Query располагается множество элементов управления, с помощью которых вы можете выполнять преобразование данных. В следующих разделах мы рассмотрим основные из них. Управление столбцами и строками При выборе таблицы Orders в качестве одного из объектов для импорта Power Query загружает все столбцы этой таблицы. Если, к примеру, вы не хотите загружать столбец Employee ID, вы можете удалить его из процедуры импорта. Щелкните на заголовке этого столбца. После этого на вкладке Главная (Home) в группе Управление столбцами (Manage Columns) нажмите на кнопку Удалить столбцы (Remove Columns), как показано на рис. 3.40. В результате колонка исчезнет из таблицы, а в области Примененные шаги (Applied Steps) на панели Параметры запроса (Query Settings) появится дополнительный шаг. Теперь в нашем запросе содержится три шага. Каждый раз при обновлении запроса в Excel Power Query будет выполнять все три шага, в результате чего будут обновляться данные. При этом у каждого шага в области Примененные шаги слева от имени есть крестик, который вы можете нажать для удаления шага. Также вы можете сократить количество строк в запросе. Для этого на вкладке Главная (Home) и в группе Удалить строки (Reduce Rows) нажмите на кнопку Удалить строки (Remove Rows), как показано на рис. 3.41. 136 Часть I Отображение данных на дашборде Рис. 3.40. Удаление столбца из запроса Рис. 3.41. Удаление строк из запроса При нажатии на выпадающую кнопку Удалить строки (Remove Rows) вам будет представлен следующий список вариантов: удаление верхних строк (Remove Top Rows): используйте этот выбор, если вы хотите избавиться от верхних строк в запросе; удалить нижние строки (Remove Bottom Rows): этот вариант подойдет, если вы хотите избавиться от нижних строк в запросе; удалить чередующиеся строки (Remove Alternate Rows): используйте этот пункт, если, например, в вашем запросе каждая запись занимает две строки, а вы хотите оставить только одну из них; удалить дубликаты (Remove Duplicates): этот выбор позволит удалить строки с повторяющимися комбинациями значений по выбранным Глава 3 Организация данных для дашбордов 137 столбцам, даже если в других колонках содержатся уникальные значения. Выберите все столбцы, чтобы избавиться от полных дубликатов в запросе; удалить пустые строки (Remove Blank Rows): с помощью этого пункта вы можете удалить строки, содержащие пустые значения в выбранных столбцах, даже если в других колонках данные присутствуют; удалить ошибки (Remove Errors): если по итогу предыдущего шага в таблице появились ошибочные значения, вы можете избавиться от них при помощи этого выбора. Механизм удаления строк активно используется при работе с текстовыми файлами и другими нетабличными форматами данных. Вы также можете избавиться от строк в запросе путем выполнения фильтрации. Каждый столбец имеет встроенный механизм сортировки и фильтрации. На рис. 3.42, например, показано, как можно отфильтровать заказы, чтобы мы видели только январские документы. Рис. 3.42. Фильтрация заказов по месяцу Справа от некоторых шагов на панели Параметры запроса (Query Settings) располагается кнопка с изображением шестеренки. При нажатии на нее вы можете отредактировать шаг. Щелчок по кнопке приведет к открытию диалогового окна, варьирующегося в зависимости от действий, выполняющихся на этом шаге. На рис. 3.43 показано диалоговое окно, отображающее­ ся при нажатии на шестеренку шага, на котором выполняется фильтрация заказов. 138 Часть I Отображение данных на дашборде Рис. 3.43. Редактирование шага при помощи кнопки-шестеренки Преобразование столбцов На вкладке Преобразование (Transform) в ленте редактора Power Query содержится немало инструментов для манипулирования отдельными столбцами. Некоторые из них работают с данными конкретных типов, но есть и универсальные инструменты. После завершения преобразований необходимо нажать на кнопку Закрыть и загрузить (Close & Load) на вкладке Главная (Home) для импорта измененных данных в Excel. Преобразование типов данных Инструмент Тип данных (Data Type) служит для отображения определенных типов данных, присвоенных столбцам, в Power Query. Также этот механизм позволяет менять типы данных. К примеру, если у вас хранится информация о номерах деталей в числовом виде, а вы хотите, чтобы она воспринималась как текст, вы можете поменять тип данных соответствующего столбца на Текст (Text). Также распространенным случаем изменения типов данных является преобразование даты и времени только в дату. На рис. 3.44 показан результат такого преобразования применительно к столбцу Shipped Date. Power Query позволяет менять типы данных даже тогда, когда это не имеет смысла. К примеру, в текстовой колонке с именем Ship Name может храниться информация о покупателях. Изменение типа данных этого столбца на Целое число (Whole Number) приведет к появлению ошибок в данных, как показано на рис. 3.45. Глава 3 Организация данных для дашбордов 139 Рис. 3.44. Приведение поля Shipped Date к типу Дата (Date) Рис. 3.45. Неуместное изменение типа данных может приводить к появлению ошибок Если вы измените тип данных у двух и более столбцов без промежуточных действий, Power Query объединит эти изменения в один шаг. При этом если вы заметите, что допустили ошибку – например, привели поле Ship Name к целочисленному типу, – то можете удалить шаг, но это приведет к удалению всех действий, а не только последнего. Если вы не желаете удалять шаг и создавать его заново, вы всегда можете отредактировать формулу вручную в строке формул. На рис. 3.46 показана формула, в которой выделением отмечен ошибочный фрагмент. Теперь вы можете нажать на клавишу Delete, а затем на Enter, чтобы принять изменения. При этом вам нужно сохранять внимательность, чтобы удалить только лишний фрагмент текста, – в противном случае вы получите ошибку. Также вы вольны удалить весь шаг целиком и создать его заново. Рис. 3.46. Редактирование шага при помощи строки формул Powered by TCPDF (www.tcpdf.org) 140 Часть I Отображение данных на дашборде Инструмент Замена значений (Replace Value) позволяет выполнять операцию поиска и замены применительно к целым столбцам. При этом в одноименном диалоговом окне вы можете ввести значение для поиска и текст для его замены. На рис. 3.47 показано, как можно заменить все вхождения слова Street на сокращенное значение St. Рис. 3.47. Замена значений в столбце Преобразование чисел Есть несколько видов преобразований, которые применимы исключительно к столбцам с числовыми данными. Часть из них доступна по нажатии на выпадающую кнопку Стандартный (Standard) на вкладке Преобразование (Transform). Здесь вам на выбор предлагаются базовые математические операторы, которые можно применить ко всему столбцу. На рис. 3.48 показан эффект от умножения значений в столбце Shipping Fee на десять. Рис. 3.48. Умножаем значения в колонке Shipping Fee на десять Глава 3 Организация данных для дашбордов 141 Также числовые значения в столбцах можно округлять. Выпадающая кнопка Округление (Rounding) включает в себя следующие варианты на выбор: округление с увеличением (Round Up): округляет значение вверх до ближайшего целого; округление с уменьшением (Round Down): округляет значение вниз до ближайшего целого; округление (Round): выводит диалоговое окно, в котором можно вручную установить требуемое число знаков после запятой. Вы также можете округлять значения до десяток, сотен, тысяч и т. д. – для этого необходимо ввести в поле с количеством десятичных знаков отрицательное значение. К примеру, значение –3 позволит округлить числа в столбце до ближайшей тысячи. На рис. 3.49 показано содержимое столбца Unit Price из запроса Order Details после применения округления вверх. Рис. 3.49. Округление с увеличением до ближайшего целого Инструменты внутри выпадающей кнопки Статистика (Statistics) позволят вам выполнить некоторые виды агрегации данных, такие как вычисление суммы, максимального и минимального значений. Эти инструменты сокращают набор данных до одного значения. На рис. 3.50 показано применение функции Среднее (Average) к столбцу Quantity из запроса Order Details. В результате в Excel будет возвращено единственное значение. Разделение столбцов Выпадающая кнопка Разделить столбец (Split Columns) на вкладке Главная (Home) содержит массу вариантов для разделения колонок на две и более: по разделителю (By Delimiter): отображает диалоговое окно, в котором вы можете выбрать или задать вручную символ-разделитель, по которому будет разделен столбец, как показано на рис. 3.51. При этом вы можете разбить столбец по самому левому, самому правому или по всем разделителям; 142 Часть I Отображение данных на дашборде Рис. 3.50. Статистические функции возвращают единственное значение Рис. 3.51. Диалоговое окно разделения столбца по разделителю по количеству символов (By Number Of Characters): в появившемся диалоговом окне вы можете ввести количество символов, через которое необходимо разделить столбец. При этом вы можете выполнить операцию разделения однократно (как можно левее или правее) или с повторениями. К примеру, если вы разделите значение, состоящее из 20 символов, по пять символов с повторами, в результате вы получите четыре столбца; по позициям (By Positions): выводит диалоговое окно, в котором можно ввести последовательность позиций, по которым нужно разбить колонку, через запятую и в порядке возрастания. При этом первым числом в списке должен быть ноль – в противном случае все символы слева от первой позиции разделения будут утеряны. Например, ввод последовательности 0,4,7 приведет к образованию трех новых столбцов, в которых будут содержаться три первых символа из разделяемой колонки, символы с четвертого по шестой и оставшиеся знаки соответственно; по переходу со строчных на прописные (By Lower Case to Upper Case): служит для разделения строк каждый раз, когда после строчной буквы Глава 3 Организация данных для дашбордов 143 следует прописная. Пробелы при этом не считаются ни строчными, ни прописными символами; по переходу с прописных на строчные (By Upper Case to Lower Case): разбивает строки каждый раз, когда после прописной буквы следует строчная; по переходу с цифр на не цифры (By Digit to Non-Digit): эта опция позволяет разделять содержимое всякий раз, когда после числового символа следует нечисловой. Пробелы относятся к нечисловым символам; по переходу с не цифр на цифры (By Non-Digit to Digit): позволяет разделять содержимое, когда после нечислового символа следует числовой. На рис. 3.52 показан результат разделения столбца Ship Address из запроса Orders по переходу с цифр на не цифры. Рис. 3.52. Разделение столбца по переходу с цифр на не цифры Также вы можете разделять столбцы с использованием инструмента Столбец из примеров (Column From Examples) на вкладке Добавление столбца (Add Column). Преимуществом использования этого метода является то, что исходный столбец можно оставить нетронутым. К примеру, чтобы выделить из столбца Ship Address только номер улицы, выберите этот столбец, нажмите на выпадающую кнопку Столбец из примеров (Column From Examples) и выберите пункт Из выделения (From Selection) на вкладке Добавление столбца (Add Column). Power Query добавит колонку и позволит вам ввести пример того, как вы хотите выделить нужные вам данные, что видно по рис. 3.53. Введите в первой ячейке нового столбца Column1 значение 27 и нажмите сочетание клавиш Ctrl+Enter. На рис. 3.54 показано, что Power Query верно угадал, какую информацию вы хотите выделить, в следующих трех строках. Вы можете ввести больше одного значения, чтобы дать Power Query больше вводной информации для разделения столбца. По окончании заполнения нажмите на кнопку OK, после чего новая колонка будет создана и присоединена справа к набору данных, что видно по рис. 3.55. 144 Часть I Отображение данных на дашборде Рис. 3.53. Создание столбца из примера Рис. 3.54. Power Query использовал введенный вами пример для выделения нужной информации Рис. 3.55. Новый столбец был добавлен к набору данных Разумеется, в Power Query содержится намного больше возможностей для преобразования данных, чем я могу описать в этой главе. К счастью, на сайте компании Microsoft есть вся необходимая информация и примеры для изуче­ ния нюансов применения доступных методов. Часть II Основы визуализации данных Глава 4. Основы эффективной визуализации Глава 5. Неграфические визуализации Глава 6. Использование фигур для создания инфографики ГЛАВА 4 Основы эффективной визуализации В этой главе: создание эффективной визуализации; управление цветом; равнение на текст; демонстрация аналитических выводов (инсайтов) на графиках. В данной главе мы подробно поговорим о визуальных элементах, составляющих основу дашбордов, а также о компонентах этих элементов. Правильное использование таких компонентов, как цвет и текст, напрямую влияет на эффективность визуального представления информации. Создание эффективной визуализации Дашборды и визуальные элементы, составляющие их основу, призваны рассказывать пользователю истории о данных. В следующих нескольких разделах мы обсудим фундаментальные принципы, которые помогут вам строить максимально эффективные диаграммы и наделять свои визуализации смысловыми сообщениями. Держитесь в рамках одного экрана Ваша диаграмма или дашборд должны с легкостью помещаться на экран или лист бумаги. Если пользователю придется использовать прокрутку при просмотре дашборда, это помешает ему ухватить заложенную вами мысль целиком. Особенно это касается дашбордов, в которых связанные друг с другом по смыслу элементы располагаются в верхней и нижней частях страницы. Цель дашборда – быстро и четко рассказать историю, и если пользователю придется держать что-то в голове, перемещаясь по странице в поисках связанной информации, это не поможет нам в реализации озвученной цели. Глава 4 Основы эффективной визуализации 147 Примечание Вы будете сталкиваться с ситуациями, когда у вас будет больше информации, чем физически можно разместить на одной странице. Один из вариантов в подобных случаях – дать пользователю возможность самому повышать уровень детализации при просмотре дашборда. В линейке Microsoft есть программный продукт под названием Power BI, в который заложен такой функционал. Но обсуждение Power BI выходит за границы данной книги, а всю информацию по нему можно получить в сети. В большинстве случаев пользователь должен иметь возможность вывести дашборд на одной странице, распечатать его и взять с собой на собрание без необходимости нести с собой ноутбук или планшет. Дашборд, занимающий более одной страницы, всегда будет проигрывать своему одностраничному аналогу в плане привлекательности и простоты распространения. Чтобы уместить дашборд на один печатный лист, настройте соответствующим образом область печати (Print Area). Для этого выделите диапазон на листе вокруг дашборда и на вкладке Разметка страницы (Page Layout) нажмите на выпадающую кнопку Области печати (Print Area) и выберите пункт Задать (Set Print Area). Затем измените масштаб для страницы. Для этого в группе Вписать (Scale To Fit) на вкладке Разметка страницы (Page Layout) измените параметры Ширина (Width) и Высота (Height) на 1 стр. (1 page), как показано на рис. 4.1. Рис. 4.1. Масштабируйте рабочий лист под одну печатную страницу Но масштабирование рабочего листа под печатную страницу – это не панацея. Если сам дашборд изначально слишком велик, то при масштабировании отдельные элементы, особенно это касается текста, могут стать плохо различимыми. Старайтесь никогда не устанавливать масштабирование страницы ниже 75 % от исходного дашборда. В поле Масштаб (Scale) на вкладке Разметка страницы показан текущий процент масштабирования при установленных параметрах Ширина и Высота. На рис. 4.2 показан пример, в котором масштабирование по ширине и высоте одной страницы эквивалентно масштабу 66 % от оригинала. Рис. 4.2. В поле Масштаб показывается текущий процент масштабирования 148 Часть II Основы визуализации данных А что делать, если масштаб опускается ниже 75 %? Как и в случае с книгой, придется подвергнуть дашборд серьезной редактуре. Может, в вашей ви­ зуа­лизации есть элементы, не способствующие рассказу истории? А может, смена типов диаграмм позволит разместить элементы более компактно? Редактура – дело нелегкое, но почти всегда необходимое на пути становления эффективного дашборда. Повысьте привлекательность дашборда Этот совет кажется очевидным, но без него не обойтись. Повышение привлекательности графиков положительно скажется на вовлеченности пользователя в процесс. Помните, что ваша главная цель – рассказать историю о данных. Но если зритель будет постоянно отвлекаться на неприятные глазу графические элементы, он не сможет вникнуть в суть истории. Были времена, когда встроенный набор визуальных средств Excel оставлял желать лучшего. К счастью, в новых версиях программного продукта с этим нет таких проблем. А значит, и на редактирование цветов, стилей и текста времени стало уходить не так много. Одним из важнейших аспектов построения эффективного дашборда является баланс. И дело здесь не в наполнении данных, а в плотности их распределения между элементами. Для соблюдения баланса ваш дашборд вовсе не обязан быть симметричным: важно лишь, чтобы условные чернила распределялись по нему достаточно равномерно. Легче всего определить сбалансированность дашборда можно при взгляде на него с определенного расстояния. На рис. 4.3 показан пример дашборда, в котором плотность одного визуального элемента значительно превышает плотности остальных. Расскажите свою историю быстро Захватив внимание пользователя при помощи внешне привлекательных визуальных элементов, не рассчитывайте на то, что у вас будет много времени на рассказ истории. Спешу вас расстроить – он достаточно быстро утратит интерес к вашему дашборду. Считается, что если зритель в течение пяти секунд не смог понять, что изображено на графике, его внимание и концент­ рация будут безвозвратно утеряны. Не знаю, стоят ли за этими цифрами какие-то научные обоснования. Лично мне кажется, что все зависит от пользователя. Есть люди, по природе своей склонные к чтению графиков и диаграмм, и они могут пытаться вникнуть в идею визуализации, даже если она не будет доставлять им эстетического удовольствия. Другие совершенно не расположены к чтению графиков, и в случае с ними у вас будет совсем немного времени на убеждение. Так или иначе, правило пяти секунд должно способствовать выработке у вас двух полезных привычек. Глава 4 Основы эффективной визуализации 149 Рис. 4.3. Разбалансированный дашборд со смещением интереса к одному визуальному элементу Первая из них связана с тем, что если вам необходимо донести свое сообщение до пользователя быстро, сделайте свой дашборд максимально прос­ тым и понятным. Избегайте нагромождения деталей и оставляйте побольше пустого пространства – это способствует более быстрому пониманию сути диаграммы. На рис. 4.4 показаны два одинаковых графика, но на левом присутствует множество лишних деталей, тогда как на правом от них нет и следа. Чем чище график внешне, тем быстрее можно вникнуть в его суть. Рис. 4.4. Отсутствие нагромождения лишних элементов приводит к облегчению понимания диаграммы 150 Часть II Основы визуализации данных Вторая привычка базируется на том, чтобы ваша история о данных была предельно простой. Дашборд, пытающийся одновременно рассказать несколько историй или включающий в себя все данные, которые только были у вас под рукой, будет больше походить на головоломку, которую пользователю необходимо будет решить, чтобы пробиться к сути. Как правило, один элемент дашборда должен нести одну мысль. На представленной на рис. 4.5 диаграмме, к примеру, данных слишком много, и было бы лучше, если бы они были разбиты на несколько элементов. Рис. 4.5. Диаграмма с чрезмерно большим количеством данных Это не означает, что вы не должны снабжать свои графики детализированными сведениями. Приятные глазу визуализации нередко содержат несколько слоев. Смысл в том, чтобы с первого взгляда на вашу диаграмму было понятно, что вы пытаетесь сказать. Вовлеченность пользователя связана с тем, что отдельные точки данных сами по себе могут представлять увлекательные истории. На рис. 4.6 изображена диаграмма с 51 точкой данных по средним показателям доходов в каждом штате США, включая федеральный округ Колумбия. Кажется, что точек данных слишком много, но при этом на диаграмме хорошо заметна разница в уровне доходов между самыми богатыми и самыми бедными штатами, что может привлечь внимание зрителя. Кроме того, любопытный шаблон заложен здесь и при помощи кодирования цветом. И наконец, если пользователь сам родом из Америки, он не преминет воспользоваться моментом и найти свой штат на представленной диаграмме. Глава 4 Основы эффективной визуализации 151 Рис. 4.6. Диаграмма об уровнях дохода по штатам США 152 Часть II Основы визуализации данных История должна быть согласована с данными В основе истории, которую рассказывает ваша визуализация, должны лежать данные. Какой именно подход выбрать к истории, зависит от того, кто является заказчиком диаграммы, ее потенциальным пользователем, а также от самого характера исходных данных. К примеру, в вашем распоряжении может быть большое количество интересующих вас данных, которые вы хотите исследовать. При этом вы не пытаетесь решить какую-то задачу, и у вас даже нет заказчика. В итоге вы визуализируете данные не для публикации, а исключительно для себя, чтобы понять, какие в них присутствуют тенденции и аномалии. В этом случае ваша история практически всегда будет согласовываться с данными, поскольку эти данные будут лежать в ее основе. Но бывает, что конкретная выборка из общих данных демонстрирует какие-то тренды, которые применительно ко всему объему входящей информации не работают. Также случается, что у вас есть определенный набор данных и задача, которую предстоит решить. В таких ситуациях вы обычно начинаете с выдвижения гипотезы – например, о том, что продажи снижаются в дождливые дни. После этого вы строите графики, чтобы подтвердить или опровергнуть это предположение. Если оно подтверждается, вы оформляете диаграмму для публикации и добавляете ее на дашборд. В противном случае выбрасываете гипотезу в ведро и начинаете все с нуля. При этом вполне вероятно, что неудачные попытки дадут вам пищу для размышлений и помогут при выдвижении следующей гипотезы. Хуже всего, когда гипотезу выдвигает кто-то другой, особенно если у него есть для этого какие-то причины. Но даже если таких причин нет, ему вряд ли захочется, чтобы его гипотеза не подтвердилась. В таких случаях человек может попытаться навязать вам какую-то историю, не подтвержденную данными. Будет неплохо, если в подобных ситуациях у вас будет запасной план в виде каких-то идей для альтернативных историй, чтобы можно было направить заказчика на путь истины, а не просто отвергать предложенную им историю, не имеющую ничего общего с реальностью. Выберите правильный тип диаграммы Для каждой истории подходит свой тип диаграммы. Далее в этой главе мы перечислим все типы диаграмм и укажем, каким историям они лучше подходят. А в следующих главах рассмотрим разные виды визуализаций более подробно. В зависимости от истории, которую должен рассказывать визуальный элемент, у вас обычно есть выбор из нескольких типов диаграмм, которые помогут вам наилучшим образом передать суть описываемого процесса. При выборе вида визуализации обращайте внимание на следующие аспекты: пространство: разные типы диаграмм занимают разное место на экране. Если у вас на дашборде не так много свободного пространства, выбирайте более лаконичные визуальные элементы; Глава 4 Основы эффективной визуализации 153 баланс: ранее в этой главе мы уже говорили про важность сохранения баланса плотности элементов на дашборде. Если один из ваших элементов явно выбивается из общего ряда, подумайте о том, чтобы заменить его на другой, более сбалансированный тип диаграммы; ожидание: в конкретной индустрии или организации одни и те же виды деятельности принято отображать при помощи определенных типов диаграмм. Если отчет о доходах за последние пять лет всегда изобра­жался в виде линейного графика, неожиданная смена визуализации на столбчатую может сбить пользователя с толку. На рис. 4.7 показан один и тот же отчет о доходах за пять лет в виде круговой диаграммы, обычного линейного графика и столбчатой диаграммы. Что касается первого типа визуализации, он для демонстрации изменения показателей с течением времени совершенно не подходит, тогда как график и столбчатая диаграмма могут рассматриваться в числе возможных претендентов на использование. Рис. 4.7. Отчет о доходах за пять лет в трех разных видах 154 Часть II Основы визуализации данных Биржевая диаграмма (stock chart) – хороший пример визуализации, построенной на ожиданиях. Все биржевые диаграммы выглядят так, как рис. 4.8. Если вам вздумается отойти от этого привычного для всех вида графика, пользователю будет непросто понять, что за диаграмма перед ним. Рис. 4.8. Типовая биржевая диаграмма Управление цветом Цветовая составляющая является очень важным аспектом построения дашбордов. Хорошее понимание того, какую роль выполняет цвет на вашей диаграмме или дашборде в целом, поможет вам выбрать наиболее подходящую цветовую гамму для визуализации. Но цвет можно использовать и совершенно неправильно, и поэтому я включил в данную главу несколько советов, которые помогут вам не попасть в ловушку. Как использовать цвет Цветовое наполнение диаграмм обычно используется в трех разных аспектах: цвет, представляющий значения в данных; цвет, призванный привлечь внимание пользователя к той или иной точке данных; цвет, используемый при группировке схожих элементов для демонстрации трендов. Это довольно обширные категории, но размышлять о цвете в рамках такого его применения полезно в плане повышения эффективности ваших дашбордов. Глава 4 Основы эффективной визуализации 155 Изменение цвета точек данных с изменением значений Наиболее прямолинейный подход к работе с цветом заключается в увеличении его интенсивности с увеличением значений. На рис. 4.9 показана карта США, на которой цветом обозначается количество проживающего населения по штатам – чем темнее цвет, тем больше людей живет в штате. Рис. 4.9. Более темный цвет представляет большую численность населения В данном случае мы используем на диаграмме единственный цвет с разными степенями градации для представления данных. Но цветовая шкала может и не быть одноцветной. При использовании шкал с разными цветами традиционно зеленый и желтый цвета означают меньшие значения, а красный и синий – большие. Эта особенность напрямую связана со светом в видимой части спектра. По краям спектра располагаются красный и фиолетовый цвета, а по центру – зеленый, желтый и голубой. Таким образом, многоцветные шкалы должны начинаться от центра этого спектра и двигаться в ту или иную сторону, но не в обе одновременно. Использование контраста для выделения данных Еще одним способом использования цвета на диаграммах является выделение особо важных точек данных. В частности, контрастные участки позволяют привлечь внимание зрителя и помогают быстрее понять суть визуа­ лизации. Здесь очень важно понимать значение разницы в контрасте между выделяемыми и всеми остальными точками данных. Если ваша диаграмма выполнена в серых тонах, практически любой яркий цвет способен будет привлечь внимание пользователя к точке данных. Однако не стоит заходить в этом 156 Часть II Основы визуализации данных отношении слишком далеко. Лучше использовать более темный оттенок того же цвета, который применяется на графике, для обозначения важных элементов. Также вы можете использовать для этого дополнительный или комплементарный цвет. Эту технику лучше всего применять для выделения одной или двух точек данных на графике. Если таким образом обозначить более двух точек, эффективность этого подхода резко снизится. На рис. 4.10 показана столбчатая диаграмма, на которой контрастом выделена одна точка данных с максимальным значением. Рис. 4.10. Используйте контрастный цвет для подсветки данных Группирование данных при помощи цвета Кроме того, вы можете использовать цветовое наполнение для распределения связанных данных по группам. Это может облегчить пользователю чтение диаграммы или выявить определенные тренды в данных, которые иначе могли остаться незамеченными. На рис. 4.11 показана линейчатая диаграмма по валовой прибыли в разрезе подкатегорий для магазина канцтоваров. Как обычно, столбики на таких диаграммах упорядочиваются сверху вниз от большего значения к меньшему. Добавив цветовое разделение подкатегорий товаров на категории, мы сможем дополнить диаграмму еще одним слоем информации. На рис. 4.12 показан тот же график, но с группировкой по цветам. Сами числовые данные на диаграмме не изменились, но благодаря цвету становится, в частности, понятно, что большое количество подкатегорий в категории доставки располагаются ближе к верхней части диаграммы, что указывает на перспективную группу товаров. Глава 4 Основы эффективной визуализации 157 Рис. 4.11. Линейчатая диаграмма по подкатегориям магазина канцтоваров Советы по использованию цвета В предыдущих разделах мы говорили о том, зачем использовать цвет на диаграммах. Здесь же я дам вам несколько советов по эффективному применению цветового наполнения визуальных элементов. Используйте пустое пространство Самый важный цвет на вашей диаграмме – белый. Умелое дозирование белого цвета отличает чистые и понятные визуализации от нагроможденных и хаотичных. При этом под белым цветом я понимаю любой фоновый однотонный цвет светлого оттенка. Он совсем не обязательно должен быть белым – зачастую лучше использовать незначительные цветовые сдвиги в сторону разных оттенков. Пустое пространство на графике позволяет пользователю быстрее выхватить взглядом нужные ему данные. Сделайте фон вашей диаграммы белым и избегайте темных и насыщенных цветов в качестве фона, поскольку это 158 Часть II Основы визуализации данных приводит к снижению контрастности со значимыми данными. Конечно, можно применять инвертированные контрастные цветовые схемы, на которых точки данных обозначены светлыми оттенками, а в качестве фона используется темный цвет. Но в этом случае велик риск, что зритель всю презентацию будет думать о непривычном выборе цветового решения, а не о сообщении, которое вы до него пытаетесь донести. Рис. 4.12. Группирование линейчатой диаграммы по цвету Пустое пространство – это больше, чем просто фоновый цвет на графике. Чем более нагроможденной будет ваша диаграмма, тем меньше на ней будет пустого пространства и тем меньше внимания будут привлекать данные. Границы, оси и выносные линии – все это вы должны по возможности убрать с диаграммы. Это не значит, что от них всегда нужно избавляться. Иногда вспомогательные элементы очень помогают. Но не оставляйте их на графике только потому, что они были там по умолчанию. Глава 4 Основы эффективной визуализации 159 Используйте простую цветовую палитру Применяйте в своих диаграммах максимально простую цветовую палитру, не жертвуя при этом значимыми для визуализации деталями. Начните с одного цвета и расширяйте цветовую гамму по мере необходимости. В Excel чаще всего отлично подобраны цвета, используемые на графиках по умолчанию. Но вы не обязаны останавливаться на таком выборе. Если же вам приходится использовать больше пяти-шести цветов на диаграмме, самое время задуматься об изменении ее структуры. Возможно, вам следует объединить некоторые точки данных или просто избавиться от цветового наполнения, если оно не добавляет графику смысла. Зачастую диаграммы с большим количеством цветов получаются в результате использования легенды. Подробнее о текстовых элементах на графиках, таких как легенды, мы будем говорить далее в этой главе. Применение легенды предполагает ее сопоставление пользователем с точками данных на диаграмме, и чаще всего для этого используется цвет. При использовании подписей данных вместо легенд вы сможете уменьшить количество цветов на диаграмме. Используйте цвета, согласующиеся с данными Старайтесь применять в своих визуализациях цвета, отвечающие характеру ваших данных и общепринятым нормам. К примеру, не следует использовать синие оттенки для обозначения горячих точек, а красные – для обозначения холодных. Это может быть очевидным, но когда Excel выбирает цвета за вас, он не обращает внимания на контекст, так что вы должны сами следить за соответствием цветов и данных. Еще одной общепринятой нормой считается использование более светлых тонов для маленьких чисел и насыщенных – для больших. Если ваши данные характеризуют единую меру, например длительность времени, используйте для них разные оттенки одного цвета, при этом более светлые тона должны соответствовать меньшим значениям. С другой стороны, если ваши данные описывают разные вещи, к примеру категории, не используйте один и тот же цвет для разных категорий. У пользователя могут выстроиться в голове неправильные ассоциации. Цвета соседствующих категорий не должны располагаться на разных сторонах цветового хроматического круга, но должны быть достаточно контрастными, чтобы отличаться друг от друга. Используйте контраст Типичной проблемой для начинающих разработчиков дашбордов является, скорее, перебор с контрастом, нежели недобор. При этом в последнее время установилась тенденция к смягчению в цветовых различиях между элемен- Powered by TCPDF (www.tcpdf.org) 160 Часть II Основы визуализации данных тами визуализации. Это позволяет сделать графики более чистыми, прос­ тыми и современными. В то же время у людей могут появиться проблемы с чтением таких диаграмм. Светло-серый текст на белом фоне по примеру коробки от вашего нового смартфона – это здорово для маркетинга, но позаботьтесь о людях старшего поколения, которым может быть непросто различать цвета на вашем дашборде, – добавьте немного контраста! Используйте неинформационные пиксели при необходимости Диаграммы могут содержать линии, не относящиеся к данным напрямую. К ним, например, относятся границы, оси и линии выноски. Мы уже говорили, что их стоит избегать с целью повышения чистоты графиков, но это не догма, и при наличии веских аргументов такие вспомогательные элементы должны занимать свое достойное место на дашборде. Неинформационные пиксели (non-data pixel) могут обеспечить зрителю дополнительный контекст. Линейный график с большим количеством значений почти всегда должен сопровождаться вертикальной осью. Без нее и без наличия подписей данных пользователь просто не поймет, в каком масштабе построена диаграмма, что может сбить его с толку. Возможно, лучшим компромиссом здесь будет график с несколькими подписями к данным. Если вы строите диаграммы, разделенные на отдельные панели, границы графиков позволят вам визуально отделить одну визуализацию от другой, что значительно облегчит их чтение. Вы также можете чередовать цвет фона для отдельных графиков, чтобы добиться того же эффекта. В любом случае всякий раз, когда вы добавляете на диаграмму неинформационные пиксели, дважды убедитесь в том, что они ее не перегрузят визуально и не будут выделяться на фоне значимых точек данных. Равнение на текст Визуальные элементы по большей части состоят из графических элементов. Но без текста на графиках все равно никак не обойтись – пользователь прос­ то не поймет, о чем идет речь. Лучшие диаграммы отличаются наличием на них строго ограниченного количества текста в нужных местах – исключительно для придания смысла графическим элементам. Шрифты На данный момент шрифтом по умолчанию в Excel является Calibri (Body). Вы, конечно, не обязаны придерживаться этого выбора, но он является наиболее предпочтительным. Если же вы решили пойти своим путем, выбирайте максимально простые и читаемые шрифты, которые не будут отвлекать пользователя от сути визуализации. Избегайте шрифтов, имитирующих рукописный ввод, и вычурных шрифтов вроде Comic Sans или Broadway. Глава 4 Основы эффективной визуализации 161 Вы можете изменить шрифты, чтобы они соответствовали общему тренду объемной презентации или фирменным шрифтам, принятым в вашей компании. Никогда не смешивайте разные шрифты в рамках одной визуализации без веской причины. Но это не значит, что вы не можете использовать жирное начертание или курсив в одном семействе шрифтов. В отношении размера можно придерживаться общего правила пропорции между шрифтами заголовков диаграмм и текстом – 1.5:1. При этом к тексту здесь относятся и оси, и подписи данных, и легенды, и примечания. В Excel по умолчанию используется именно такая пропорция. Что касается сочетания размеров шрифтов на дашборде, вы можете чувствовать себя в этом отношении более свободно по сравнению с выбором семейства шрифтов. Конечно, не стоит совмещать на одной визуализации много разных размеров шрифтов, но если вам очень хочется добавить на диаграмму больше двух размеров, вы всегда можете это сделать. Однако при простом масштабировании графиков лучше придерживаться пропорции 1.5:1, если у вас нет иных предпочтений. Простейшим способом изменить размер шрифта для элемента диаграммы является выбор этого элемента и использование инструментов из группы Шрифт (Font) на вкладке Главная (Home). Вы также можете щелкнуть правой кнопкой мыши по элементу и выбрать пункт Шрифт (Font). Если вы пожелаете вернуться к начальным установкам, в контекстном меню можете выбрать пункт Восстановить стиль (Reset To Match Style). Для восстановления стилей всех элементов диаграммы щелкните на ней правой кнопкой мыши и выберите тот же пункт. Легенды Легенды (legend) представляют собой особые области диаграммы с описанием представленных данных. Чаще всего легенды содержат цветовые метки данных. Иногда без легенд на графике не обойтись, но если это возможно, особенно в случае с большими по размеру легендами, нужно постараться это сделать. Легенды отделяют сами данные от их описания и заставляют пользователя следить глазами сразу за двумя областями на экране. Небольшие по размеру легенды, подобные той, что показана на рис. 4.13, не так сильно отвлекают зрителя, поскольку ему по силам удержать в голове пару-тройку цветов, не обращаясь к подсказке. Но если легенда будет содержать больше пяти элементов, пользователю придется то и дело скакать глазами от графика к описанию данных и обратно. Отличной альтернативой легендам являются подписи данных, о которых мы будем говорить далее. Но если их применить не удается, можно подумать о других вариантах. К примеру, можно перенести легенду внутрь графика, поближе к данным, чтобы пользователю не приходилось сильно отвлекаться. Однако не все типы диаграмм позволят это сделать. Кроме того, при обновлении визуализации выбранное вами место для легенды может оказаться не лучшим. 162 Часть II Основы визуализации данных Рис. 4.13. Если в легенде мало элементов, запомнить их будет легче Еще один вариант – объединить заголовок диаграммы с легендой, как показано на рис. 4.14. Вы можете менять цвет отдельных слов в заголовке, чтобы они выступали в качестве описания данных. Если элементов на диаграмме будет много, такой заголовок может оказаться слишком громоздким, а для небольшого количества рядов он может вполне подойти и выступать в качестве замены легенде. Чтобы изменить цвет отдельных слов заголовка, щелкните по нему дважды для перехода в режим редактирования. Теперь вы можете выделять нужные вам слова и менять их стиль обычным образом. Рис. 4.14. Объединение заголовка диаграммы с легендой Глава 4 Основы эффективной визуализации 163 Оси Подобно легендам, оси (axes) обеспечивают ваши диаграммы дополнительным контекстом. Избавиться от осей на графиках бывает не так просто, как от легенд, но они далеко не всегда необходимы. Взгляните на рис. 4.15. В вертикальной оси здесь нет ни малейшего смысла, поскольку точки данных снабжены хорошо расположенными подписями. Рис. 4.15. Метки на оси и подписи данных выполняют одинаковую функцию В то же время на графике, изображенном на рис. 4.14, обе оси крайне необходимы. Сопроводить каким-то иным способом все точки данных на графике датами и соответствующими им значениями было бы крайне затруднительно. Следите за тем, чтобы подписи к осям были простыми и хорошо читаемыми. Всегда используйте разделители разрядов для чисел. Если вы можете вынести обозначение используемой валюты в заголовок графика, оси или в примечание, лучше избежать его упоминания перед каждый числом на оси. Также стоит масштабировать числа максимально подходящим для контекста диаграммы образом. Например, не нужно включать центы, если вы предоставляете отчет в миллионах долларов. Более того, в этом случае вы можете округлять значения до ближайшей тысячи. Но тогда обязательно следует указать это в заголовке оси или графика. Подписи данных Подписи данных (data label) лучше всего служат для добавления контекста вашим графикам, поскольку в этом случае описание данных тесно соседствует с представляющими их визуальными элементами. При этом подписи данных 164 Часть II Основы визуализации данных не всегда можно эффективно использовать, особенно это касается диаграмм с большим количеством точек данных. Однако иногда нет необходимости выводить на графике подписи для всех без исключения точек данных, чтобы пользователь уловил заложенный в визуализации смысл. На рис. 4.16 показан график, на котором подписи присутствуют только для первых и последних значений в рядах данных. Этих шести значений вполне достаточно для того, чтобы обеспечить пользователя необходимым ему контекстом, а в промежуточных значениях нет никакой необходимости. Рис. 4.16. Подписей для первых и последних значений в рядах данных достаточно Подписи данных можно эффективно использовать для выделения определенных значений. Этот прием можно применять совместно с выводом подписей на оси для предоставления одновременно и масштаба данных, и информации о важных точках. На рис. 4.17 показан график с аномальной точкой данных, для которой указана подпись. Демонстрация аналитических выводов (инсайтов) на графиках Вы можете выбирать из большого количества типов диаграмм. В третьей части книги мы подробнее поговорим обо всех наиболее распространенных типах. Здесь же посмотрим, какие из них лучше подходят для сравнения данных, отображения их состава и демонстрации взаимосвязей. Глава 4 Основы эффективной визуализации 165 Рис. 4.17. Подпись для аномальной точки данных Сравнение Для сравнения данных с течением времени обычно лучше остальных подходит график, а также линейчатая или столбчатая диаграмма. Поскольку время представляет собой непрерывную переменную, обычный график может быть лучшим выбором. Однако иногда мы можем разбить время для анализа на равные интервалы, представляющие дни, месяцы, кварталы или годы. При таком разделении линейчатая или столбчатая диаграмма может подойти куда лучше. Также график идеально способствует определению трендов и поиску аномалий в данных. Представьте, что у вас есть кассовые чеки из магазина, сумма по которым не сходится с итоговым значением продаж за день. Вы можете вывести данные по чекам и часам за день и легко определить провалы, как показано на рис. 4.18. Как видите, по данным с 13 до 15 часов наблюдается некая аномалия – скорее всего, за этот промежуток времени у вас не было чеков. Это пример использования графика для сбора данных, а не рассказа истории. Если вам необходимо вывести данные о нескольких категориях за какое-то время, линейчатая или столбчатая диаграмма подойдет едва ли. При наличии более трех категорий лучше использовать линейный график. Но даже на нем бывает трудно понятно отобразить данные, если категорий слишком много. В этом случае можно попробовать разбить графики на несколько панелей. При сравнении данных по дискретным переменным, таким как регионы или отделы, линейчатая или столбчатая диаграмма подойдет идеально. При этом в данном случае между этими двумя типами графиков не будет большой разницы. Если названия ваших категорий достаточно длинные, удобнее будет использовать линейчатую диаграмму – на ней больше места для подпи­ сей. В целом же выбор между этими типами можно делать на основании их внешнего вида и согласованности с остальными элементами на дашборде. 166 Часть II Основы визуализации данных Рис. 4.18. График для сбора данных в поисках аномалий Анализ состава При необходимости проанализировать состав ваших данных вы можете использовать круговую диаграмму (pie chart), линейчатую диаграмму с накоп­ лением (stacked bar chart) и без, каскадную (waterfall chart) или древовидную диаграмму (tree map). При наличии небольшого количества составляющих обычно используют круговую диаграмму. Если же составляющих элементов больше, лучше переключиться на линейчатую диаграмму. На рис. 4.19 показан пример круговой диаграммы с чересчур большим количеством элемен- Рис. 4.19. Круговая диаграмма с чересчур большим количеством элементов Глава 4 Основы эффективной визуализации 167 тов. Рисунок 4.20 демонстрирует, как те же данные могут выглядеть в виде линейчатой диаграммы. Рис. 4.20. Линейчатая диаграмма способна отобразить большое количество элементов лучше Для отображения состава по нескольким категориям лучше всего использовать линейчатую диаграмму с накоплением. При этом если вам важно знать только пропорции внутри категории, вы можете остановиться на нормированной линейчатой диаграмме с накоплением (100 % stacked bar chart), в которой длины всех столбиков будут одинаковыми, как показано на рис. 4.21. Если же вам, помимо состава элементов, важны и общие итоги, лучше отдать предпочтение обычной линейчатой диаграмме с накоплением, как показано на рис. 4.22. Если части единого целого могут представлять как положительные, так и отрицательные значения, хорошо подойдет каскадная диаграмма. На ней в удобном виде могут быть показаны взлеты и падения, составляющие общий итог, что довольно затруднительно будет реализовать при помощи других типов диаграмм, таких как круговая. Также каскадную диаграмму можно при необходимости снабдить подытогами. Древовидная диаграмма лучше подойдет в случае наличия иерархии данных. С помощью нее можно показать не только то, из каких крупных категорий состоит целое, но и какие более мелкие категории входят в их состав. 168 Часть II Основы визуализации данных Рис. 4.21. Нормированная линейчатая диаграмма с накоплением во главу угла ставит пропорции внутри категорий Рис. 4.22. Линейчатая диаграмма с накоплением показывает пропорции и итоги Взаимосвязи Для демонстрации взаимосвязей между переменными была придумана точечная диаграмма (scatter plot), или, как ее еще называют, диаграмма рассеяния, или XY-диаграмма. Этот тип диаграммы идеально подходит для отобра­жения корреляции между элементами, т. е. насколько прогнозируемое значение одной переменной будет зависеть от значения другой. На рис. 4.23 Глава 4 Основы эффективной визуализации 169 показана точечная диаграмма, демонстрирующая взаимосвязь между температурой и продажами. Рис. 4.23. Взаимосвязь двух переменных при помощи точечной диаграммы Зачастую точечная диаграмма снабжается линией тренда, которая на рис. 4.23 показана пунктиром. Чем ближе точки на графике располагаются к линии тренда, тем выше значение корреляции между переменными. При абсолютной корреляции переменных и ее полном отсутствии в линии тренда нет никакой необходимости. В целом эта линия помогает пользователю определить, насколько далеко отклоняются точки данных от прогнозных значений. Если на график добавить третью переменную, его можно преобразовать в пузырьковую диаграмму (bubble chart). Пузырьковая диаграмма представляет собой аналог точечной, на которой размер точек отражает значение третьей переменной. Если эта переменная является категориальной, для идентификации ее значений можно использовать цвет. ГЛАВА 5 Неграфические визуализации В этой главе: основы пользовательских числовых форматов; использование значков; создание спарклайнов. Не все визуализации данных в Excel выполняются при помощи диаграмм и графиков. Вне зависимости от того, используете ли вы диаграмму или таб­ лицу с данными для рассказа истории, решающее значение имеет правильное форматирование чисел – именно оно позволяет сделать данные чистыми и легкими для чтения. В этой главе мы поговорим о пользовательских числовых форматах и рассмотрим примеры их применения в таблицах данных и на графиках. Также Excel предлагает несколько типов визуализаций, не имеющих отношения к диаграммам. Мы рассмотрим варианты использования условного форматирования для создания цветовых шкал, наборов значков и гистограмм, а также поговорим о способах создания и редактирования спарклайнов. Основы пользовательских числовых форматов Excel предлагает своим пользователям очень мощный механизм управления числовыми форматами. Возможно, вы знакомы с такими типами данных, как Денежный (Currency) и Финансовый (Accounting), но в Excel вы отнюдь не ограничены выбором существующих готовых типов. В следующих разделах мы научимся создавать собственные пользовательские форматы данных, включая указание цвета шрифта и добавление значений. Четыре секции форматирования Каждый числовой формат включает в себя от одной до четырех секций, разделенных точкой с запятой. Каждая секция определяет форматирование для Глава 5 Неграфические визуализации 171 своего условного числового состояния, включая положительное, отрицательное или ноль. Если формат состоит только из одной секции, она применяется ко всем условным состояниям. На рис. 5.1 показано, как к различным значениям применяется формат 0.00. Примечание Рабочая книга, примеры из которой показаны в этой главе, называется Chapter5Figures.xlsx и располагается на сайте с сопроводительными файлами. В случае наличия двух секций первая из них применяется к положительным числам и нулю, а вторая – к отрицательным. Как и в случае с односекционным форматом, этот формат не оказывает влияния на текстовые значения. На рис. 5.2 показано, что при использовании формата 0.00; 0.00- знак минус добавляется к отрицательным числам справа, а не слева. Рис. 5.1. Односекционный формат применяется ко всем числовым условиям и не затрагивает текст Рис. 5.2. Вторая секция в формате отвечает за отрицательные числа Если вы хотите отдельно управлять тем, как будут отображаться нулевые значения, добавьте к формату третью секцию. В этом случае первая секция будет отвечать только за положительные числа, а вторая – только за отрицательные. Формат 0.00;0.00-;"zero" заменит все нулевые значения в таблице словом zero, что видно по рис. 5.3. Наконец, четвертая секция, если она присутствует, определяет, как будут отображаться текстовые значения. При этом специальным символом @ обозначается текст, введенный в ячейку, к которому вы можете добавить свои символы. На рис. 5.4 показано, как формат 0.00;0.00-; "zero";@" and more text" повлиял на текстовые значения. Рис. 5.3. Третья секция в формате отвечает за нулевые значения Рис. 5.4. Четвертая секция в формате отвечает за текстовые значения Вы можете пропустить любую из секций в формате, если не хотите особым образом обрабатывать конкретное условие. На месте пропущенной секции достаточно поставить точку с запятой (;), чтобы Excel знал, что вы не хотите 172 Часть II Основы визуализации данных обрабатывать это условие. Например, формат ;-0.00 будет отображать только отрицательные значения и текст. Ячейки с положительными и нулевыми значениями при этом будут показываться как пустые, не будучи подобными на самом деле. Таким образом, вы можете скрыть все содержимое в ячейках, указав для них пользовательский формат ;;;;. Но помните, что в строке формул значение ячеек продолжит отображаться, так что не используйте этот способ в целях безопасности. Специальные символы Пользовательские числовые форматы по большей части состоят из специальных символов (special character), то есть символов, значение которых отличается от их буквального толкования. Сочетание множества таких символов в строке формата может значительно затруднять ее чтение и понимание, но с приобретением опыта вы научитесь быстро расшифровывать даже самые сложные последовательности специальных символов. Заместитель цифры Двумя наиболее распространенными специальными символами в строках форматирования являются 0 и #. 0 означает любую цифру. При этом, если цифры на этом месте нет, будет выводиться ноль. К примеру, число 25.62 со строкой форматирования 0000.000 будет отображаться в виде 0025.620. Поскольку на месте разрядов сотен, тысяч и тысячных долей значения отсутствуют, они были заменены нулями. Специальный символ # также означает цифру. Отличие от 0 заключается в том, что при отсутствии значения в том или ином разряде оно остается пустым. На рис. 5.5 показаны несколько чисел, к которым применен пользовательский формат #,##0.00. В примере, представленном на рис. 5.5, я решил отделить тысячи при помощи запятой. Для этого мне понадобилось использовать заместители для всех цифр, которые я хочу отобразить. Если бы я использовал специальный символ 0, числа на месте тысяч и сотен Рис. 5.5. Специальный выглядели бы странно. Использование символа # посимвол # отображает зволило мне выводить цифры только там, где они дейцифру только при ее наличии ствительно представлены. Запятые и точки Запятая (comma) является специальным символом для разделения чисел на тысячи1. В примере из предыдущего раздела я использовал символ # в качест­ ве заместителя и запятую для разделения тысяч и сотен. Несмотря на то что я включил только одну запятую в строку формата, Excel интерпретирует это 1 Настройка символов разделения разрядов и дробной части производится в параметрах Excel в разделе Дополнительно. – Прим. перев. Глава 5 Неграфические визуализации 173 как намерение отделять запятой каждые три разряда. К примеру, та же строка форматирования #,##0.00 представит большое число как 1,225,225.62. Часто запятая в строках форматирования применяется для отображения огромных чисел в тысячах или миллионах. Например, формат #,##0, отобра­ зит число 1,000,000 как 1,000. Обратите внимание, что запятая замыкает строку формата. Чтобы отобразить число в миллионах, поставьте в конце две запятые без следующих за ними специальных символов: #,##0,,. В этом случае число 1,000,000 будет отображаться как 1. При масштабировании значений подобным образом убедитесь в том, что пользователь не будет введен в заблуждение. Для этого обычно используются специальные вводные комментарии в отчете, указывающие на то, что числа представлены в тысячах или миллионах. Точка (period) – еще один специальный символ, служащий для разделения чисел. Как вы догадались, он отделяет целую часть числа от дробной. Первое вхождение точки в строку формата будет указывать на разделение целой и дробной частей, а все последующие будут отображаться в виде точек. Обычно больше одной точки в строках форматирования не используется. Если вы используете запятые для масштабирования чисел, точки будут отделять целую часть от дробной в примененном масштабе. К примеру, строка формата 0.0,, позволит отобразить число 1,225,225.62 как 1.2. Сначала число переводится в миллионы из-за двух запятых в конце строки, после чего точка отделяет целую часть от дробной. Текст Вы можете включить любой текст в строку форматирования, заключив его в двойные кавычки. Например, строка 0.0,," million" позволит отобразить число 1,225,225.62 как «1.2 million». Вы также можете вставлять текст перед числом. Так, применение строки форматирования "A surplus of "#,##0;"A deficit of "#,##0 приведет к тому, что перед положительными значениями будет отображаться один текст, а перед отрицательными – другой. Некоторые символы вы можете включать в формат без заключения в двойные кавычки. К таким символам относятся, к примеру, +, -, $ и скобки. Это настолько распространенные символы, что в Microsoft, видимо, решили позволить нам использовать их при форматировании чисел без кавычек, чтобы не нагромождать строку. Есть и другие символы, не включенные в официальную документацию, которые не требуют заключения в кавычки при употреб­ лении внутри строки форматирования. Строка #,##0,k позволит отобразить число 123456 как 123k. При этом символ k не требуется заключать в двойные кавычки, поскольку он не имеет никакого иного смысла. Но есть символы, которые при употреблении в строке форматирования обретают особый смысл, и если их не заключить в кавычки, результат может оказаться очень неожиданным. Попытайтесь отобразить число 2021 как «The year 2021». Этого можно добиться с использованием строки формата "The year "0. Если не заключить текстовый префикс в кавычки, вы получите ошибку, поскольку Excel не поймет, что вы имеете в виду. Если просто написать The year, результат будет следующим: T01905 051905ar. Этот странный вывод 174 Часть II Основы визуализации данных включает в себя символы T, a, r и пробел, не имеющие дополнительных смыслов, а потому отображенные как есть. В то же время символы h, e и y означают часы, четырехзначный и двузначный год соответственно. Символ подчеркивания Символ подчеркивания (underscore) позволяет создать в тексте свободное пространство, что может быть использовано для выравнивания разных секций при форматировании. Наиболее часто эту технику используют для выравнивания чисел, включающих скобки для отображения отрицательных значений. На рис. 5.6 показан эффект от применения строки форматирования #,##0;(#,##0) с использованием скобок для отрицательных чисел без символов подчеркивания. Как видите, запятые в столбце не выровнены, что затрудняет чтение. Изменив строку форматирования на #,##0_);(#,##0), вы указываете Excel вставить справа от числа столько свободного пространства, сколько занимает закрывающая скобка. Таким образом, при наличии в столбце и положительных, и отрицательных чисел точки и запятые будут идеально выровнены, что видно по рис. 5.7. Рис. 5.6. Дополнительные символы в строке форматирования приводят к нарушению выравнивания Рис. 5.7. Символ подчеркивания помогает выровнять значения в столбце Вы можете добавить столько свободного пространства, сколько хотите, повторяя символы подчеркивания нужное количество раз. К примеру, если вы хотите, чтобы справа от отрицательных чисел стояло слово neg, как в примере 1,024 neg, то можете использовать строку форматирования, подобную #,##0_ _n_e_g;#,##0" neg", – для выравнивания положительных и отрицательных чисел в столбце. Здесь символы подчеркивания расположены перед пробелом, а также буквами n, e и g. Звездочка Символ, следующий в строке форматирования за звездочкой (asterisk), будет повторяться необходимое количество раз для заполнения всего доступного пространства. Например, строка *- заполнит ячейку дефисами вне зависимости от того, какое число в ней находится. При изменении ширины столбца количество дефисов в ячейках будет меняться для заполнения всего имеющегося места. Наиболее часто звездочку в строке форматирования применяют для выравнивания символа валюты по левому краю без учета длины введенных Глава 5 Неграфические визуализации 175 значений. На рис. 5.8 показано, как будут располагаться числа разной длины в столбце при применении строки форматирования $* #,##0. Символ, следующий за звездочкой (пробел), повторяется нужное количество раз для заполнения всего доступного пространства между знаком доллара и самим числовым значением, выравнивая содержимое ячеек по левому краю. Рис. 5.8. Используйте звездочку для выравнивания символа валюты Экранирование специальных символов Существует два способа отображения специальных символов в виде их буквальных значений. Вы можете заключить специальный символ в двойные кавычки, как в примере "The year "0 из предыдущего раздела, или предварить его обратной косой чертой. Знак \ дает понять Excel, что следующий за ним специальный символ следует отображать буквально, а не пытаться интерпретировать как-то иначе. Использование строки форматирования T\h\e \y\e\a\r 0 приведет к такому же результату, как и "The year "0. Вместо заключения всей строки в двойные кавычки мы предварили специальные символы h, e и y знаками обратной косой черты. Символы a и r не являются специальными, но Excel по непонятным причинам самостоятельно их экранирует вне зависимости от того, вводили вы косую черту или нет. В общем случае вы можете пользоваться приемом с экранированием специальных символов, если их в строке форматирования не больше двух. В противном случае лучше использовать двойные кавычки – это облегчит чтение. Финансовый формат чисел Теперь, когда вы усвоили основы пользовательских числовых форматов, вы можете свободно читать и понимать встроенные в Excel форматы. К примеру, формат Финансовый (Accounting) использует несколько описанных ранее специальных символов. Выделите ячейку на листе и нажмите сочетание клавиш Ctrl+1 для открытия диалогового окна Формат ячеек (Format Cells). В спис­ ке Числовые форматы (Number) выберите тип Финансовый (Accounting), а затем – Все форматы (Custom). При выборе первого типа будет изменен формат, а при выборе второго – показана соответствующая строка форматирования. На рис. 5.9 показано диалоговое окно Формат ячеек (Format Cells) после выполнения этих действий. Строка форматирования _($* #,##0.00_);_($* (#,##0.00);_($* "-"??_);_(@_) состоит из четырех секций: для положительных, отрицательных, нулевых и текстовых значений. Каждая секция начинается с символов _( для создания пустого пространства размером с открывающую скобку. Это обычно делается, чтобы в отрицательных значениях можно было разместить настоящую 176 Часть II Основы визуализации данных скобку. Однако в нашем случае секция для отрицательных чисел начинается со знака доллара, так что этот лишний пробел здесь только из эстетических соображений. Рис. 5.9. Выберите категорию Все форматы, чтобы увидеть строку, лежащую в основе конкретного формата Следом идет символ $, который не нуждается в экранировании и отображается как есть. Далее стоит звездочка в сочетании с пробелом, чтобы знак доллара отображался в ячейке слева вне зависимости от длины числа. После этого идут значимые специальные символы # и 0, разделяемые точками и запятыми. Замыкает секцию для положительных чисел сочетание символов _), создающее справа от значения пустое пространство размером с закрывающую скобку. Секция для отрицательных чисел очень похожа на предыдущую. Первым отличием является наличие открывающей скобки между знаком доллара и первым числовым значением. Открывающая скобка не входит в список символов, требующих экранирования. Ну и вместо пустого пространства справа от числа в данном случае ставится закрывающая скобка. Нулевая секция включает в себя отображение дефиса под десятичной точкой. На данный момент у вас уже достаточно знаний, чтобы увидеть, что знак доллара с пробелами выровнены по левому краю, есть пробел справа, а дефис заключен в кавычки. Эту секцию также можно было написать _($* -??_) или _($* \-??_), поскольку дефис не требует экранирования. Знак вопроса – это еще один специальный символ для отображения числовых значений. Если символ # не предполагает какой-либо подстановки, когда цифра не указана, Глава 5 Неграфические визуализации 177 а символ 0 заполняет это место нулем, то вопросительный знак (?) ставит на месте пропуска пробел. Это позволяет сдвинуть дефис влево на два знакомес­ та. То же самое можно сделать при помощи записи _($* -_0_0_). Форматы даты и времени В Excel используются символы М (m), Д (d) и Г (y) для представления в разных видах составляющих дат (месяцы, дни и годы соответственно). В табл. 5.1 показаны коды, описывающие разные форматы даты. Таблица 5.1. Коды форматирования для отображения различных частей даты Коды форматирования Описание m (M) Отображает номер месяца в виде одной или двух цифр mm (MM) Отображает номер месяца в виде двух цифр с ведущим нулем при необходимости mmm (MMM) Отображает трехбуквенную аббревиатуру названия месяца mmmm (MMMM) Отображает полное название месяца mmmmm (MMMMM) Отображает однобуквенную аббревиатуру названия месяца d (Д) Отображает номер дня в виде одной или двух цифр dd (ДД) Отображает номер дня в виде двух цифр с ведущим нулем при необходимости ddd (ДДД) Отображает трехбуквенную аббревиатуру дня недели dddd (ДДДД) Отображает полный день недели yy (ГГ) Отображает номер года в виде двух цифр yyyy (ГГГГ) Отображает номер года в виде четырех цифр Пример для 9 января 2021 года 1 01 янв (Jan) января (January) я (J) 9 09 Сб (Sat) суббота (Saturday) 21 2021 Вы можете включать в строку форматирования слеши или дефисы для разделения частей дат. Например, для даты 9 января 2021 года строка ММ/ДД/ ГГГГ (mm/dd/yyyy) вернет дату в виде 01/09/2021, а М-Д-ГГГГ (m-d-yyyy) – в виде 1-9-2021. Конечно, вы можете использовать любые символы для разделения частей дат, но слеши и дефисы используются чаще всего. При создании диаграмм очень важно уметь отображать даты с наибольшими сокращениями, чтобы они помещались на оси. Еще одним распространенным приемом при работе с датами является указание периода. Например, строка форматирования "For the Year Ended "m/d/yyyy для 31 декабря 2021 года вернет значение For the Year Ended 12/31/2021, которое может быть использовано в заголовке диаграммы или в примечании. Для отображения часов, минут и секунд в Excel используются символы ч (h), м (m) и с (s) соответственно. При этом для символа м (m) Excel анализирует его позицию в строке форматирования, чтобы определить, о чем идет речь, – о минутах или месяцах. По умолчанию этот символ обозначает 178 Часть II Основы визуализации данных месяцы, но если он следует за часами или перед двоеточием, Excel интерпретирует его как минуты. При этом минуты могут обозначаться максимум двумя цифрами, в связи с чем последовательность из более чем двух этих специальных символов Excel однозначно воспринимает как месяцы. Как и в случае с частями дат, однобуквенные последовательности ч (h), м (m) и с (s) будут отображаться в виде одной или двух цифр, а двухбуквенные последовательности чч (hh), мм (mm) и сс (ss) – исключительно в виде двух цифр с ведущим нулем при необходимости. Если заключить однобуквенное обозначение части времени в квадратные скобки, Excel вернет количество прошедших временных отрезков, а не текущее время. Например, форматирующий код [ч] ([h]) возвращает для 15 января 2021 года значение 1060920, – именно столько часов прошло с 1 января 1900 года – даты, взятой в Excel за начало отсчета. Это бывает полезно при работе с данными расчетного отдела или другой информацией, базирующейся не на времени дня. Включите в строку форматирования после указания времени следующие коды: AM/PM, am/pm, A/P или a/p – для отображения времени в 12-часовом формате. К примеру, строка М/Д/ГГГГ ч:мм AM/PM (m/d/yyyy h:mm AM/PM) позволит вывести дату и время 1/15/2021 13:35 в виде 1/15/2021 1:35 PM. Условные пользовательские числовые форматы По умолчанию четыре секции в строке форматирования отвечают за положительные, отрицательные, нулевые и текстовые значения. Однако вы при желании можете переопределить две из четырех секций под конкретные условия. Две другие секции будут определять текст и формат по умолчанию для чисел, не удовлетворяющих условию. Для создания условия заключите оператор сравнения и число в квадратные скобки непосредственно перед числовым форматом. Например, условие форматирования [>=1000000]0.0,,"M";[<1000000]##0 ,"K" приведет к отображению значений, равных или превышающих миллион, в виде масштабированного числа до миллионов с одним знаком после запятой и буквой M на конце, а чисел меньше миллиона – в масштабе до тысяч с завершающей буквой K. Таким образом, число 1,010,576 будет отображено как 1.0M, а число 795,422 – как 795K. Обычно условное пользовательское форматирование применяется для управления цветовым наполнением отчетов. Для этого вы можете использовать восемь именованных цветов, а в сумме вам будет доступно 56 цветов. Цвета, которым даны имена, – это черный (black), зеленый (green), белый (white), синий (blue), фиолетовый (magenta), желтый (yellow), голубой (cyan) и красный (red). Для изменения цвета значения заключите название цвета в квадратные скобки и укажите перед числовым форматом. Например, строка форматирования [Синий]0 ([Blue]0) выведет числа синим цветом и без знаков после запятой. Чтобы покрасить в красный отрицательные значения, включите условное форматирование в начало соответствующей секции. Так, строка форматирования #,##0.00;[Красный] #,##0.00 (#,##0.00;[Red] #,##0.00) позволит выделить Глава 5 Неграфические визуализации 179 красным цветом отрицательные числа, тогда как положительные будут выведены цветом по умолчанию, т. е. черным. Если вы хотите использовать цвета, не входящие в число восьми именованных, то можете указать индекс нужного вам цветового оттенка после ключевого слова Цвет (Color), заключив это выражение в квадратные скобки. Восемь именованных цветов представляют собой значения от Цвет1 (Color1) до Цвет8 (Color8). Варианты от Цвет9 (Color9) до Цвет56 (Color56) вы можете использовать по своему усмотрению, например так: [Цвет9] ([Color9]). 56 доступных вам цветов соответствуют стандартной цветовой палитре Excel, которая была исключена из интерфейса еще после версии Excel 2003, но продолжает жить в цветовых форматах для чисел. Увидеть эту палитру в Excel вы не сможете, так что вам придется немного поэкспериментировать, если вы хотите узнать, какие цвета можно использовать. Также стоит отметить, что вы вольны сочетать условное и цветовое форматирование значений. При этом сначала должен следовать цвет, затем условие, ну и в конце числовой формат. Например, строка форматирования [Синий][>=20]0;[Фиолетовый][>=10]0;[Зеленый]0 ([Blue][>=20]0;[Magenta] [>=10]0;[Green]0) покрасит синим значения, равные или большие 20, фиолетовым – числа в интервале от 10 до 19, а все остальные – зеленым. Текст при этом будет окрашен в цвет ячейки, поскольку четвертую секцию мы не указали. Работая на листе Excel, для управления цветом ячеек удобнее пользоваться инструментом условного форматирования (Conditional Formatting), расположенным на вкладке Главная (Home). Но если вам необходимо с помощью условий контролировать цветовую гамму текстовых элементов на диаграммах, придется воспользоваться пользовательским форматированием чисел. Использование значков Условное форматирование в Excel поддерживает три варианта для построения визуализаций без использования диаграмм. Эти графики отрисовываются непосредственно в ячейках Excel и не нуждаются в особом размещении. При изменении размеров ячеек графики автоматически подстроятся. Все перечисленные ниже опции могут быть настроены под используемую тему, цветовую гамму и стиль. Цветовые шкалы Один из вариантов условного форматирования в Excel включает в себя создание цветовых шкал (Color Scales), позволяющих применять цвета к ячейкам в зависимости от значений в них. Для использования этой опции выделите определенный диапазон ячеек со значениями на листе, нажмите на выпадающую кнопку Условное форматирование (Conditional Formatting) на вкладке Главная (Home), выберите пункт Цветовые шкалы (Color Scales) Powered by TCPDF (www.tcpdf.org) 180 Часть II Основы визуализации данных и укажите один из встроенных стилей. На рис. 5.10 показан соответствующий пункт меню, а на рис. 5.11 – диапазон из 11 ячеек, выкрашенных при помощи цветовой шкалы от красного цвета к зеленому по возрастанию значений. Рис. 5.11. Примененная цветовая шкала с переходом от красного цвета к зеленому Рис. 5.10. Галерея цветовых шкал в меню Примечание Рабочая книга, с которой мы будем работать в этой главе, называется Chapter5Figures.xlsx и располагается на сайте с сопроводительными файлами. Ячейка с минимальным значением в диапазоне окрашена в красный цвет, с максимальным – в зеленый, а все ячейки между ними характеризуются определенной цветовой градацией между этими двумя цветами. Таким образом, числа, приближенные к минимальному значению, окрашены в оранжевые тона, ячейки посередине имеют желтый оттенок, а ближе к максимуму приобретают зеленоватый цвет. По умолчанию вы можете выбрать из шести трехцветных шкал и шести двухцветных. Двухцветные шкалы позволяют задать цветовые границы для минимального и максимального значений, а ячейки между ними автоматически приобретают переходные цвета. В дополнение ко встроенным цветовым шкалам вы можете создавать ваши собственные пользовательские шкалы. Для этого сначала примените к диапазону шкалу Зеленый-желтый-красный (Green - Yellow - Red). После этого на вкладке Главная (Home) в выпадающей кнопке Условное форматирование (Conditional Formatting) выберите пункт Управление правилами (Manage Rules) для отображения диалогового окна Диспетчер правил условного форматирования (Conditional Formatting Rules Manager), показанного на рис. 5.12. В этом окне отображаются все примененные вами правила к выделенным ячейкам. Вы легко можете сделать так, чтобы в списке выводились правила, примененные ко всему листу, путем выбора соответствующего пункта Глава 5 Неграфические визуализации 181 в выпадающем списке Объект правил форматирования (Show formatting rules for). Выберите правило Шкала цветов (Graded Color Scale) и нажмите на кнопку Изменить правило (Edit Rule), что приведет к открытию диалогового окна Изменение правила форматирования (Edit Formatting Rule), показанного на рис. 5.13. Рис. 5.12. Диспетчер правил условного форматирования Рис. 5.13. Изменение правила форматирования В этом диалоговом окне вы можете настроить правило по собственному усмотрению. Таким образом, применяя одно из правил по умолчанию и редактируя его, вы можете увидеть, как именно был создан предустановленный шаблон. В верхней части окна перечислены все типы правил. Правило, относящееся к цветовым шкалам, носит название Форматировать все ячейки 182 Часть II Основы визуализации данных на основании их значений (Format all cells based on their values). В нижней части окна отображаются настройки, специфические для выбранного типа правил. Для правила, показанного на рис. 5.13, в выпадающем списке Стиль формата (Format Style) выбран вариант Трехцветная шкала (3-Color Scale), минимальному значению присвоен красный цвет, максимальному – зеленый, а значению, соответствующему 50-му процентилю, – желтый. В самом низу окна показан образец цветовой шкалы, настроенной в соответствии с заданными выше настройками, чтобы вы могли видеть изменения в динамике. Если в списке Стиль формата (Format Style) выбрать вариант Двухцветная шкала (2-Color Scale), возможность указать цвет для среднего значения пропадет. На рис. 5.14 показано правило для двухцветной шкалы. Рис. 5.14. Двухцветная шкала При настройке правила форматирования вы можете в выпадающем списке Тип (Type) выбрать один из следующих параметров для установки: минимальное/максимальное значение (Lowest/Highest Value): эти настройки применяются к наименьшему и наибольшему значениям в диапазоне соответственно. Для настройки Среднего значения (Midpoint) в диапазоне этот параметр отсутствует; число (Number): вы можете указать конкретное число в качестве минимального, максимального или среднего значения. Числа меньше минимального значения будут окрашены в тот же цвет, что и оно само, с максимальным значением то же самое. Если же ввести конкретное число для среднего значения, цветовая шкала будет адаптирована соответствующим образом. К примеру, если среднее значение на трехцветной шкале будет ближе к минимальному, градиент будет больше Глава 5 Неграфические визуализации 183 скошен в сторону красного цвета. Также при указании числа для минимального, максимального или среднего значения вы можете ссылаться на конкретную ячейку на рабочем листе; процент (Percent): Excel будет вычислять нужное значение путем вычитания минимального значения диапазона из максимального, умножения полученного числа на введенный процент и прибавления к минимальному значению. Вам необходимо вводить целое число без указания знака процента. Настройка цветовой шкалы при помощи процентов поможет распределить градиент пропорционально значениям в диапазоне. Значение процента также может ссылаться на ячейку на рабочем листе; формула (Formula): еще в качестве значений вы можете ввести любую формулу, возвращающую число, дату или время. Ввод некорректной формулы приведет к отмене форматирования; процентиль (Percentile): этот тип позволяет использовать позицию значения в списке, а не его процентный эквивалент. Например, в диапазоне из десяти ячеек восьмое по счету число будет представлять 80-й процентиль, даже если оно будет ближе к минимальному значению. Используйте тип Процентиль, когда хотите, чтобы цветовой градиент был плавным вне зависимости от того, насколько равномерно распределены значения. На рис. 5.15 показан диапазон с неравномерно распределенными значениями. При этом цветовая шкала с использованием процентов в виде значений отображена слева, с применением процентилей – справа. В обоих случаях мы использовали числа 20, 50 и 80 для минимального, среднего и максимального значений соответственно. Значение процентиля также может ссылаться на ячейку на рабочем листе. Рис. 5.15. Два одинаковых диапазона, раскрашенных в соответствии с процентами и процентилями На рис. 5.15 все маленькие числа в левом столбце окрашены в цвет минимального значения, поскольку все они не дотягивают до 20 % от разницы между максимальным и минимальным значениями в диапазоне. В то же время в правом столбце, в котором в качестве меры используются процентили, цифра 4 окрашена в желтый цвет, поскольку именно это значение представляет собой 50-й процентиль, несмотря на довольно низкий номинал. 184 Часть II Основы визуализации данных Диалоговое окно Изменение правила форматирования также позволяет вам выбрать цвета для граничных значений в диапазоне. Таким образом, вы можете установить цветовую гамму для шкалы, соответствующую общему стилю вашего отчета, вместо того чтобы использовать цвета по умолчанию. Вы даже можете выбрать одинаковые цвета для двух граничных значений. Например, можно установить для минимального и максимального значений одинаковый выделяющийся цвет, а для среднего значения – другой цвет, чтобы подсвечивать отклонения вне зависимости от того, в какую сторону они возникают. На рис. 5.16 показан диапазон с использованием этой техники. Рис. 5.16. Использование одинаковых цветов для минимума и максимума с целью выделения экстремумов Гистограммы Еще одним вариантом создания визуализации без использования графиков является встраивание гистограмм (Data Bar) в диапазон значений при помощи условного форматирования. Устанавливая гистограммы для ячеек, вы указываете Excel закрасить цветом их части в соответствии со значениями. При изменении ширины столбца закрашенные области будут растягиваться пропорционально. На рис. 5.17 показан диапазон случайных чисел с примененным условным форматированием в виде гистограммы. Для применения этого вида форматирования выделите нужный вам диапазон, нажмите на выпадающую кнопку Условное форматирование (Conditional Formatting) на вкладке Главная (Home), выберите пункт Гистограммы (Data Bars) и укажите один из встроенных стилей диаграммы. Вы можете выбрать либо градиентную заливку (gradient fill), либо сплошную (solid fill). Градиентные гистограммы характеризуются наиболее темным цветом столбиков в их левой части и постепенным осветлением при приближении к правой. Если вас не устраивают варианты предлагаемых гистограмм по умолчанию, вы можете создать свой собственный формат. Для этого нажмите на кнопку Другие правила (More Rules), после чего появится диалоговое окно Создание правила форматирования (New Formatting Rule), показанное на рис. 5.18. Глава 5 Неграфические визуализации 185 Рис. 5.17. Гистограмма, примененная к случайному диапазону Рис. 5.18. Диалоговое окно Создание правила форматирования Как и в случае с цветовыми шкалами, в верхней части окна будет по умолчанию выбран тип правила Форматировать все ячейки на основании их значений (Format all cells based on their values). При выборе пункта Гис­ тограмма (Data Bar) в выпадающем списке Стиль формата (Format Style) элементы в нижней части окна изменятся. Флажок Показать только столбец (Show Bar Only) позволит скрыть числовые значения в ячейках, оставив лишь столбики. В списках для минимального и максимального значений будут присутствовать те же варианты, что и при настройке цветовых шкал, и функцио­ нировать они будут точно так же. Исключение составляет лишь дополнительное значение Авто (Automatic). При выборе в левом списке варианта Минимальное значение (Lowest Value) в ячейках с наименьшими числами в диапазоне ничего не будет отображаться (столбик будет иметь нулевую длину), что может привести пользователя в замешательство. Выбор варианта Авто устанавливает минимальное значение на уровне ниже наименьшего числа в диапазоне, что позволяет отрисовать столбик небольшой длины. Для правого списка выбор значений Авто и Максимальное значение является идентичным. В разделе Внешний вид столбца (Bar Appearance) вы можете выбрать варианты Сплошная заливка (Solid Fill) или Градиентная заливка (Gradient Fill), цвет заливки, а также тип границ (Сплошная граница (Solid Border) или Нет границы (No Border)) и их цвет. Нажатие на кнопку Отрицательные 186 Часть II Основы визуализации данных значения и ось (Negative Value and Axis) приведет к открытию диалогового окна Настройка отрицательных значений и оси (Negative Value and Axis Settings), показанного на рис. 5.19. Для отрицательных значений вы можете выбрать другой цвет заливки столбиков и границ, а можете оставить такой же, как для положительных. Есть три варианта отображения точки отсчета при наличии в диапазоне и положительных, и отрицательных значений. По умолчанию Excel сам определяет нулевую позицию в зависимости от значений в диапазоне. Таким образом, если отрицательные значения меньше по модулю, чем положительные, ось будет сдвинута чуть влево. Вы можете сделать так, чтобы точка отсчета для положительных и отрицательных значений находилась посередине ячеек вне зависимости от значений, установив переключатель Настройка оси (Axis settings) в положение Середина ячейки (Cell Midpoint). Также вы можете совместить направление столбиков для положительных и отрицательных значений, чтобы выделение происходило только цветом. Для этого установите переключатель в положение Нет (None). На рис. 5.20 показан диапазон с гистограммами с различающимися цветами для положительных и отрицательных чисел и смещенной влево осью. Рис. 5.20. Столбики для отрицательных значений направлены в противоположную сторону и окрашены в другой цвет Рис. 5.19. Диалоговое окно для настройки отрицательных значений и оси В выпадающем списке Направление столбца (Bar Direction) диалогового окна Создание правила форматирования по умолчанию выбран вариант По контексту (Context). Если ваш рабочий лист настроен для отображения данных слева направо, т. е. столбец A располагается слева, столбики на гис­ тограммах будут отображаться слева направо. Но вы можете настроить поведение столбцов так, как считаете нужным. Чаще всего выбор по умолчанию будет самым уместным. Глава 5 Неграфические визуализации 187 Наборы значков Заключительной опцией создания визуализаций без применения диаграмм в Excel являются наборы значков (Icon Sets). Наборы значков представляют собой небольшие графические иконки, которые помещаются в ячейки и меняют свое состояние в зависимости от значений. На рис. 5.21 показаны значения определенного показателя за прошлый и нынешний годы. К колонке с разницей применено условное форматирование с набором значков для демонстрации того, увеличились или уменьшились отслеживаемые значения, а также насколько они изменились. Рис. 5.21. Набор значков с направлением, примененный к столбцу с разницей Чтобы применить набор значков к диапазону, выделите нужные вам ячейки, нажмите на выпадающую кнопку Условное форматирование (Conditional Formatting) на вкладке Главная (Home), выберите пункт Наборы значков (Icon Sets) и укажите один из встроенных наборов или нажмите на кнопку Другие правила (More Rules) для создания собственного. Наборы значков в галерее делятся на четыре группы. Группа Направления (Directional) содержит четыре цветных и три черно-белых набора со стрелками для демонстрации изменения показателей. Группа Фигуры (Shapes) включает в себя наборы из простых фигур, форма или цвет которых могут меняться в зависимости от значений ячеек. Группа Индикаторы (Indicators) представляет собой коллекции более сложных фигур, также способных менять цвет и форму в соответствии со значениями в ячейках. Наконец, группа Оценки (Ratings) состоит из миниатюрных изображений звездочек и графиков, вид которых зависит от введенных в ячейках значений. В диалоговом окне Создание правила форматирования (New Formatting Rule), показанном на рис. 5.22, можно произвести необходимые настройки отображения выбранного набора значков. Как и в случае с гистограммами, здесь вы обнаружите флажок Показать только значок (Show Icon Only), позволяющий скрыть числовые значения в ячейках. При помощи кнопки Обратный порядок значков (Reverse Icon Order) можно изменить порядок следования значков на противоположный, чтобы, например, низкие значения в диапазоне были помечены зеленой иконкой, а высокие – красной. Нажмите на кнопку повторно, чтобы вернуть исходный 188 Часть II Основы визуализации данных порядок значков. Цвет значков не подлежит настройке. В выпадающем спис­ ке Стиль значка (Icon Style) вы можете выбрать нужный вам набор – выбор здесь аналогичен встроенной галерее наборов значков. Рис. 5.22. Диалоговое окно создания правил форматирования В зависимости от того, сколько значков содержит выбранный вами набор, будет меняться секция настроек в нижней части окна. Для каждого правила в этой области вы можете выбрать используемый значок, условный оператор, значение и тип. По умолчанию здесь будут выбраны значки из одного набора, но вы вольны сочетать иконки из разных наборов. В выпадающем списке Значок (Icon), показанном на рис. 5.23, представлен полный список доступных иконок. Также среди значков присутствует пункт Нет значка ячейки (No Cell Icon). Вы можете использовать его, например, в случае, если хотите, чтобы значки отображались только для больших изменений, чтобы не засорять таблицу. В выпадающем списке Тип (Type) вы можете задать способ разделения данных на категории. На выбор вам предлагаются варианты Процент (Percent), Число (Number), Процентиль (Percentile) и Формула (Formula). Эти опции работают точно так же, как при построении цветовых шкал и гистограмм. Последний значок всегда будет включать в себя все значения, не покрытые при помощи других значков из набора. В выпадающем списке с условными операторами вы можете выбрать между знаками больше или равно (>=) или просто больше (>). Оператор меньше не входит в список. Если вам необходимо обратить порядок следования иконок, нажмите на кнопку Обратный порядок значков (Reverse Icon Order) и задайте нужные вам условия. Глава 5 Неграфические визуализации 189 Рис. 5.23. Выпадающий список позволит вам создать собственный набор значков Создание спарклайнов Спарклайн (sparkline) представляет собой миниатюрный график, построенный непосредственно внутри ячейки. Вы можете использовать спарклайны вместо диаграмм, когда вам необходимо быстро и просто отобразить динамику показателей. Применяя спарклайны, вы сознательно отказываетесь от опций форматирования, доступных для полноразмерных диаграмм, и ограничиваете себя использованием лишь одного ряда данных. Примечание Рабочая книга, с которой мы будем работать в этой главе, называется Sparklines.xlsx и располагается на сайте с сопроводительными файлами. Типы спарклайнов В Excel доступны три вида спарклайнов: график (Line), гистограмма (Column) и выигрыш/проигрыш (Win/Loss). На рис. 5.24 представлены все три типа спарклайнов применительно к данным о доходах. 190 Часть II Основы визуализации данных Рис. 5.24. Три типа спарклайнов Типы спарклайнов график и гистограмма в принципе похожи на их полноразмерные аналоги. Они в основном служат для демонстрации динамики изменения показателей. Угол наклона линии на графике и разница высот соседних столбиков указывают на восходящую или нисходящую тенденции в данных, а также на степень изменений. Тип выигрыш/проигрыш предназначен для отображения столбиков выше горизонтальной опорной линии в случае роста показателя и ниже нее в случае спада. В отличие от предыдущих двух типов спарклайнов, здесь мы не видим величины изменения, нам важна лишь информация об увеличении или уменьшении показателя. Обычно спарклайны типа выигрыш/проигрыш строятся на основании данных, отражающих изменение других данных, тогда как график и гистограмма берут за основу сырые необработанные данные. Для спарклайнов типа график и гистограмма применяется масштабирование данных, не зависящее от других строк в той же группе. Таким образом, нижняя точка на графике или столбик минимальной высоты будет представлять минимальное значение в строке, а не во всем диапазоне. Это хорошо заметно на примере показателя Net Income за 2018 год на рис. 5.24. На графике справа видно, что линия для этой точки данных практически уперлась в потолок, поскольку она представляет максимальное значение показателя в строке. В то же время в строке с показателем Sales график также упирается в верхнюю отметку, несмотря на то что цифры этого показателя в абсолютном значении существенно превосходят цифры в Net Income. Позже в этой главе мы узнаем, как можно управлять масштабом спарклайнов в группах. Создание спарклайнов Для создания спарклайнов, показанных на рис. 5.24, введите на листе исходные данные или откройте соответствующий файл. Выделите диапазон B3:F7 Глава 5 Неграфические визуализации 191 и на вкладке Вставка (Insert) в группе Спарклайны (Sparklines) нажмите на кнопку График (Line), в результате чего откроется диалоговое окно Создание спарклайнов (Create Sparklines), показанное на рис. 5.25. Рис. 5.25. Диалоговое окно создания спарклайнов Выделенный диапазон автоматически будет вставлен в поле Диапазон данных (Data Range). В поле Диапазон расположения (Location Range) введите или выберите диапазон G3:G7 и нажмите на кнопку OK. В указанные ячейки будет вставлена группа спарклайнов, а вокруг диапазона расположения появится граница, указывающая на выделение группы в данный момент, как показано на рис. 5.26. Также при выделении группы в главном меню будет отображаться вкладка Спарклайн (Sparkline). Рис. 5.26. Выделена созданная группа спарклайнов Повторите эту операцию для двух оставшихся диапазонов на листе, но для второго нажмите на кнопку Гистограмма (Column), а для третьего – на кнопку Выигрыш/проигрыш (Win/Loss). Если вы поймете, что ошиблись, и захотите начать заново, воспользуйтесь кнопкой Очистить (Clear) на вкладке Спарклайн (Sparkline) для удаления всей созданной группы спарклайнов. Группы спарклайнов При создании спарклайнов в Excel вы, по сути, создаете группу спарклайнов (Sparkline group). Идея состоит в том, чтобы при форматировании спарклайна изменения касались всей группы, а не только выделенного элемента. Спарклайны изначально задумывались как миниатюрные визуализации для целого набора данных, а не для одной точки, так что концепция групп к ним подходит как нельзя лучше. 192 Часть II Основы визуализации данных Вы можете изменить источник данных для конкретного спарклайна в группе, и при этом он останется ее частью. Это значит, что все изменения, которые вы будете производить с группой, коснутся и этого элемента. Чтобы задать другой источник данных для спарклайна, выделите его на листе и на вкладке Спарклайн (Sparkline) нажмите на выпадающую кнопку Изменить данные (Edit Data) и выберите пункт Изменить данные отдельного спарклайна (Edit Single Sparkline’s Data). Откроется диалоговое окно Изменение данных спарклайна (Edit Sparkline Data), показанное на рис. 5.27, в котором вы можете указать новый диапазон для построения графика. Вы также можете разделить группу спарклайнов на две. Для этого выделите те из них, которые должны быть выделены в отдельную группу, и на вкладке Спарклайн (Sparkline) нажмите на кнопку Разгруппировать (Ungroup). Допустимо относить в группу лишь один спарклайн. Чтобы объединить в группу спарклайны, выделите их и на вкладке Спарклайн (Sparkline) нажмите на кнопку Группировать (Group). В Excel предусмотрены операции, которые вы можете выполнять с отдельными спарклайнами, не влияя на остальные графики в группе. Вы можете удалить спарклайн, оставив другие нетронутыми. На рис. 5.28 показан инструмент Очистить (Clear), расположенный на вкладке Спарклайн. Воспользовавшись им, вы можете удалить один или несколько графиков, а можете избавиться от всей группы спарклайнов сразу. Рис. 5.27. Диалоговое окно, позволяющее задать источник данных для конкретного спарклайна Рис. 5.28. Используйте инструмент очистки для удаления отдельных спарклайнов или целых групп Настройка спарклайнов У спарклайнов не такие богатые возможности для настройки, как у полноразмерных диаграмм. Это и ожидаемо, поскольку изначально они задумывались как пример простых визуализаций. Но какие-то изменения вы все же можете вносить. Изменение источника данных В предыдущем разделе вы узнали, как можно изменить источник данных для отдельного спарклайна. Но вы также можете сделать это для всей группы. Для этого на вкладке Спарклайн (Sparkline) нажмите на выпадающую кнопку Изменить данные (Edit Data) и выберите пункт Изменить данные и расположение группы (Edit Group Location and Data). Откроется диалоговое Глава 5 Неграфические визуализации 193 окно Изменение спарклайнов (Edit Sparklines), показанное на рис. 5.29, которое выглядит точно так же, как окно создания спарклайнов, за исключением заголовка. Еще один инструмент, скрывающийся за выпадающей кнопкой Изменить данные (Edit Data), – это Скрытые и пустые ячейки (Hidden & Empty Cells). Диалоговое окно Настройка скрытых и пустых ячеек (Hidden and Empty Cell Settings), открывающееся при выборе этого пункта, показано на рис. 5.30. Здесь вы можете выбрать, как отображать пустые ячейки на графиках: как пустые значения, нулевые или при помощи соединения соседних точек данных линией. Флажок Показывать данные в скрытых строках и столбцах (Show data in hidden rows and columns) определяет, будут ли на спарклайнах выводиться скрытые данные. Рис. 5.30. Диалоговое окно настройки скрытых и пустых ячеек Рис. 5.29. Изменение характеристик группы спарклайнов Изменение цвета и толщины линий спарклайнов В группе Показать (Show) на вкладке Спарклайн (Sparkline) располагаются шесть флажков для управления отображением маркеров (marker), служащих для выделения точек данных на графиках. Это следующие флажки: маркеры (Markers): позволяет отобразить маркеры для всех точек данных; максимальная точка (High Point): управляет отображением маркера для наивысшего значения в ряду данных. Если таких значений несколько, маркеры будут показаны для всех из них; минимальная точка (Low Point): отображает маркер для низшего значения или нескольких значений в ряду данных; отрицательные точки (Negative Points): позволяет отобразить маркеры только отрицательных значений в ряду данных; первая точка (First Point): маркер будет показан лишь для первой точки в наборе данных; последняя точка (Last Point): маркер будет отображен только для последней точки. Если установить флажок Маркеры (Markers), все остальные флажки в группе утратят смысл, поскольку в любом случае будут подсвечены все точки на графиках. 194 Часть II Основы визуализации данных В группе Стиль (Style) на вкладке Спарклайн (Sparkline) можно выбрать цвет и внешний вид линий на графиках. Галерея стилей, показанная на рис. 5.31, насчитывает достаточное количество цветовых решений. Рис. 5.31. Измените внешний вид спарклайнов при помощи галереи стилей В дополнение к галерее стилей в вашем распоряжении есть два выпадающих списка. Список Цвет спарклайна (Sparkline Color) позволяет задать для графиков любой доступный цвет. Кроме того, в нижней части инструмента есть специальное меню для выбора толщины линий, показанное на рис. 5.32. Рис. 5.32. Изменение толщины линий на спарклайнах Глава 5 Неграфические визуализации 195 Второй выпадающий список – Цвет маркера (Marker Color) – отвечает за цветовое наполнение отображаемых на спарклайнах маркеров. Здесь вы можете отдельно указать цвет для максимальных, минимальных и отрицательных точек. При этом настройки цветов для отдельных точек будут перекрывать установленный цвет для всех маркеров. Например, если для всех маркеров задать красный цвет, а для последней точки – зеленый, она будет отображена именно зеленым цветом. Настройка осей Excel предлагает богатые возможности по настройке осей для спарклайнов. Все доступные опции располагаются в выпадающей кнопке Ось (Axis) на вкладке Спарклайн: тип общей оси (General Axis Type): этот выбор позволяет равномерно распределить точки данных по горизонтали; тип оси дат (Date Axis Type): в этом случае горизонтальная ось на спарклайнах будет восприниматься как ось дат, и расстояние между точками на графике будет не равномерным, а пропорциональным количеству дней между соседними точками. На рис. 5.33 показан один и тот же график с общим типом оси и типом оси дат. На первом точки на графике распределены равномерно, а на втором – в соответствии с рядом дат; Рис. 5.33. Сравнение типов оси: общего и с использованием дат показать ось (Show Axis): если на ваших графиках могут присутствовать как положительные, так и отрицательные значения, установка данного флажка позволит обозначить ось, разделяющую их. При наличии только положительных или отрицательных чисел ось отображаться не будет. На рис. 5.34 показана группа спарклайнов с установленным флажком Показать ось. Как видите, только на втором графике отобра­ жается ось, поскольку на нем присутствуют как положительные, так и отрицательные значения; Рис. 5.34. На спарклайнах с положительными и отрицательными значениями можно показать разделяющую их ось 196 Часть II Основы визуализации данных отобразить данные справа налево (Plot Data Right-to-Left): этот флажок позволяет обратить направление вывода графиков; параметры минимального значения по вертикальной оси (Vertical Axis Minimum): если в этой секции выбрать опцию автоматического определения минимума, для каждого спарклайна минимальная граница будет определяться отдельно – без учета других графиков в группе. Вариант Фиксированное для всех спарклайнов (Same For All Sparklines) приведет к масштабированию минимального значения на графике в соответствии с общим минимумом по всей группе спарклайнов в целом. Наконец, вы можете задать пользовательское значение для минимальной границы; параметры максимального значения по вертикальной оси (Vertical Axis Maximum): здесь представлены те же варианты настроек, что и для минимального значения. Если установить флажок Фиксированное для всех спарклайнов (Same For All Sparklines) для обоих экстремумов, все графики в рамках группы будут выводиться в единой системе координат. В левом столбце со спарклайнами на рис. 5.35 показано отображение графиков при выборе автоматического режима для минимума и максимума, а в правом – фиксированного. Рис. 5.35. Сравнение масштабов спарклайнов При выборе автоматического определения минимума и максимума для каждого спарклайна вы можете наблюдать за тенденциями расходов по каждой категории отдельно. Как видите, перепады внутри каждого графика прос­то огромны. В то же время фиксированные границы позволяют увидеть, что колебания расходов на самом деле не столь велики. ГЛАВА 6 Использование фигур для создания инфографики В этой главе: работа с фигурами; встраивание данных в фигуры; создание пользовательской инфографики; добавление других иллюстраций. В дополнение к диаграммам Excel предоставляет возможность использовать и другие графические объекты, именуемые фигурами (shape), с помощью которых вы можете обогатить свои визуализации или создавать собственные объекты инфографики. В одном из недавних обновлений разработчики из компании Microsoft также добавили в наш арсенал другие графические объекты, именуемые значками (icon). В данной главе мы научимся работать с фигурами, а также сочетать их для получения любопытных эффектов. Еще мы пройдемся по различным типам значков, доступных в Excel. Работа с фигурами Excel предоставляет нам богатую экосистему в виде графических объектов, называемых фигурами. Количество встроенных в Excel фигур насчитывает несколько десятков, а возможность комбинировать и манипулировать с ними практически стирает границы их использования. Сейчас мы научимся работать с фигурами, включая их вставку, настройку и использование совместно с существующими диаграммами для достижения очень интересных визуальных эффектов. Вставка фигур Вставляя фигуру на рабочий лист, вы фактически добавляете ее на слой графики (drawing layer). Этот слой располагается поверх ячеек на листе, что 198 Часть II Основы визуализации данных позволяет перемещать фигуры, не привязываясь к границам ячеек. Чтобы вставить фигуру на лист, необходимо перейти на вкладку Вставка (Insert) и в группе Иллюстрации (Illustrations) нажать на выпадающую кнопку Фигуры (Shapes), что приведет к открытию галереи фигур, фрагмент которой показан на рис. 6.1. Рис. 6.1. Добавление фигур на лист из галереи Фигуры в галерее организованы при помощи секций для облегчения поиска и навигации. Найдя фигуру, которую вы хотите вставить на лист, щелкните по ней, а затем щелкните по месту на рабочем листе, куда вы хотите ее вставить. Место щелчка мышью обозначит точку расположения верхнего левого угла вставляемой фигуры, а размер фигуры будет установлен по умолчанию. Также вы можете вместо щелчка по листу для размещения верхнего левого угла фигуры щелкнуть мышью и протянуть ее для выбора размера фигуры. На рис. 6.2 слева показан прямоугольник, вставленный на лист с размером по умолчанию, а справа показан процесс растягивания фигуры прямо в момент ее вставки. При этом вы видите, что курсор приобретет вид большого креста, а вы можете настроить не только размер фигуры, но и ее пропорции. По умолчанию для прямоугольника выбираются равные пропорции высоты и длины, но вы можете в момент вставки фигуры на лист изменить это соотношение сторон. Совет При зажатой клавише Shift в момент растягивания вставляемой фигуры ее пропорции будут сохраняться на исходном уровне – таким образом, вы сможете регулировать только размер фигуры. Не беспокойтесь, если вам сразу не удалось задать нужное расположение или размер фигуры на листе. Все эти параметры можно легко и просто из- Глава 6 Использование фигур для создания инфографики 199 менять уже после вставки. Щелкните по фигуре, чтобы выделить ее. Курсор изменит вид на четырехстороннюю стрелку, а на фигуре появятся маркеры, предназначенные для изменения ее размеров, как показано на рис. 6.3. Рис. 6.2. Вставка фигуры на лист Рис. 6.3. Выделение фигуры приводит к появлению маркеров, позволяющих менять ее размер Для перемещения фигуры просто захватите ее мышью и перенесите в нужное вам место. Изменение размеров фигуры производится путем захвата соответствующих маркеров и их перемещения. К примеру, перетаскивание нижнего маркера фигуры приведет к изменению ее высоты при фиксированной левой верхней точке расположения фигуры. Удерживание в этот момент клавиши Ctrl позволит одновременно растягивать верхнюю и нижнюю границы фигуры, как показано на рис. 6.4. При этом темным цветом показывается исходный вид фигуры, а светлым – ее будущий размер после отпускания кнопки мыши. При создании фигур Excel автоматически присваивает им имена, исходя из названия фигуры и его порядкового номера на листе. При выделении фигуры вы можете видеть ее имя в текстовом поле слева от строки формул. На рис. 6.5 показано, что овальная фигура получила имя по умолчанию Oval 4, что говорит о том, что это уже четвертая фигура из этого семейства, которая была вставлена на лист, включая удаленные. Вам не обязательно менять имя фигуры, если вы не собираетесь программно манипулировать ей или не относитесь к тем, у кого непременно все должно быть разложено по полочкам. Рис. 6.4. Удерживайте клавишу Ctrl при изменении размера фигуры, чтобы зафиксировать ее центр Powered by TCPDF (www.tcpdf.org) Рис. 6.5. Excel автоматически именует все добавленные на лист фигуры 200 Часть II Основы визуализации данных Настройка фигур Помимо размера и позиции на листе, фигуры обладают и другими свойствами, которые вы можете менять. Вспомните, что для выделения фигуры достаточно один раз щелкнуть по ней мышью. Двойной щелчок приводит к переключению фигуры в режим редактирования (Edit mode). В этом режиме вы можете вводить текст, который будет располагаться внутри фигуры. Если вы просто выделите фигуру мышью и начнете вводить текст, Excel автоматически переключит фигуру в режим редактирования. Еще один способ перей­ ти в этот режим – щелкнуть по фигуре правой кнопкой мыши и выбрать из контекстного меню пункт Изменить текст (Edit Text). При выделении фигуры в меню появится новая вкладка Формат фигуры (Shape Format). В первой группе на этой вкладке расположена та же галерея, которой мы воспользовались при вставке фигуры на лист. Также здесь есть инструмент для создания надписи на фигуре, аналогичный режиму редактирования. Выпадающая кнопка Изменить фигуру (Edit Shape) позволяет поменять тип фигуры, лежащей в основе выбранного объекта, а также изменить ее внешний вид путем изменения опорных точек или узлов. Об этом мы подробнее поговорим позже в этой главе. В следующей группе на этой вкладке вам предлагается изменить стиль фигуры. Стиль по умолчанию для фигур выбирается на основании темы, которая установлена для вашей рабочей книги. Но вы можете легко изменить стиль фигуры, воспользовавшись галереей Стили темы (Theme Style) из группы Стили фигур (Shape Styles). Это позволит вам установить для фигуры тему, отличную от той, что выбрана по умолчанию для вашего рабочего листа. Переходите по строкам в галерее при помощи стрелок вверх и вниз или нажмите на выпадающую стрелку для открытия всей галереи, как показано на рис. 6.6. Если вы не хотите использовать предустановленные стили, то можете создать свой собственный, воспользовавшись другими выпадающими списками в группе Стили фигур (Shape Styles). С помощью инструмента Заливка фигуры (Shape Fill) вы можете окрасить внутреннюю часть фигуры в нужный вам цвет, выбрать в качестве заливки рисунок и даже добавить градиент. На рис. 6.7 показаны предустановленные варианты градиентной заливки фигуры. Если нажать на кнопку Другие градиентные заливки (More Gradients), откроется панель Формат фигуры (Format Shape), на которой вы можете настроить цветовые переходы по своему усмотрению. Выпадающий список Контур фигуры (Shape Outline) позволяет задать цвет границ фигуры. Здесь же вы можете изменить толщину линий границ, сделать их пунктирными и даже стилизовать под начертание от руки. Инструмент Эффекты фигуры (Shape Effects) содержит в себе все стандартные эффекты, такие как тень, сглаживание и 3D-эффект. В группе Стили WordArt (WordArt Styles) собраны элементы для работы с текстом внутри ваших фигур. Если вы находитесь в режиме редактирования, эффекты будут применены только к выделенному в данный момент тексту. При выделении фигуры без активации режима редактирования весь текст внутри фигуры будет стилизован. Но применяйте стили WordArt весьма консервативно. Многие из них делают текст практически нечитаемым. Глава 6 Использование фигур для создания инфографики 201 Рис. 6.6. Изменение стиля фигуры при помощи галереи тем Рис. 6.7. Предустановленные варианты градиентной заливки фигуры Для настройки текста, который будет показан людям со слабым зрением, нажмите на вкладке Формат фигуры (Shape Format) на кнопку Замещающий текст (Alt Text), что приведет к открытию одноименной панели. Здесь вы можете ввести текст, который будет считан программой для чтения экрана. Также вы можете при помощи соответствующего флажка пометить фигуру как декоративную, чтобы экранный диктор вовсе не обращал на нее внимания. Если ваша фигура снабжается собственным текстом, вводить еще и замещающий текст может быть не нужно. Группа Упорядочить (Arrange) включает инструменты, отвечающие за то, какая фигура будет видимой при их наложении друг на друга, а также кнопку Область выделения (Selection Pane), служащую для открытия панели Выделение (Selection). Эта панель может пригодиться при наличии большого количества фигур на листе или их маленьком размере, не позволяющем выделить их мышью. При выделении более чем одной фигуры вы можете воспользоваться инструментом Выровнять (Align Objects) для удобного их размещения на лис­те. К примеру, если у вас есть стрелка, указывающая на прямоугольник, вы можете воспользоваться инструментом Выровнять по середине (Align Middle), чтобы расположить фигуры точно по центральной линии. На рис. 6.8 показано применение этого инструмента к двум фигурам. 202 Часть II Основы визуализации данных Рис. 6.8. Используйте инструменты выравнивания для удобного позиционирования фигур на рабочем листе Excel не предлагает визуальных опорных линий при перемещении фигур, как мощные графические пакеты, так что инструмент выравнивания может оказаться весьма полезным для создания симметричных форм. Инструменты Привязать к сетке (Snap To Grid) и Привязать к фигуре (Snap To Shape) применяются ко всем фигурам в рабочей книге. При включенном режиме Привязать к сетке границы фигур будут выравниваться по краям ячеек при подведении к ним. Опция Привязать к фигуре позволяет легко выравнивать фигуры друг относительно друга. Последней группой на вкладке Формат фигуры (Shape Format) является группа Размер (Size). Вместо того чтобы изменять размер фигур при помощи мыши, вы можете ввести для них точные значения ширины и высоты. При нажатии на небольшую иконку в нижнем правом углу группы будет открыта панель Формат фигуры (Format Shape) с соответствующей вкладкой. Большинство действий с фигурами вы сможете выполнить, воспользовавшись описанными инструментами из меню, но если вам их покажется недостаточно, вы сможете найти недостающие опции на этой панели. Встраивание данных в фигуры Выводить цифры показателей или простые наборы данных в рамках презентации можно, но иногда они выглядят слишком уж незамысловато на фоне изысканного дашборда. На рис. 6.9 показан пример простого датчика из состава дашборда с финансовой информацией. Рис. 6.9. Простой датчик с показателем из финансового дашборда Примечание Примеры из этой главы содержатся в рабочей книге FramingDatawithShapes.xlsx и располагаются на сайте с сопроводительными файлами. Глава 6 Использование фигур для создания инфографики 203 Создание баннера Вместо использования заголовка диаграммы вы можете пойти на хитрость и определенным образом скомбинировать фигуры для образования подобия баннера-вывески в верхней части элемента. Это придаст визуализации глубину и дополнительную привлекательность без отвлечения внимания пользователя от важной информации. Для создания баннера следуйте инструкции. 1. Удалите заголовок диаграммы, выделив ее и нажав на клавишу Delete. 2.На вкладке Вставка (Insert) в группе Иллюстрации (Illustrations) нажмите на выпадающую кнопку Фигуры (Shapes) и выберите из галереи элемент Прямоугольник (Rectangle). После этого щелкните мышью по рабочему листу, чтобы вставить фигуру по умолчанию. 3.Измените размер прямоугольника таким образом, чтобы он оказался чуть шире диаграммы, как показано на рис. 6.10. Чтобы сделать одинаковые отступы от диаграммы в обе стороны, для начала сделайте прямоугольник по ширине таким же, как диаграмма, после чего расширьте его с зажатой клавишей Ctrl. Это позволит удерживать фигуру по центру диаграммы и симметрично отводить в стороны ее края. Рис. 6.10. Разместите прямоугольник в верхней части датчика 4.Измените заливку и контур фигуры таким образом, чтобы они соответствовали цветовой гамме визуального элемента. 5.На вкладке Вставка (Insert) в группе Иллюстрации (Illustrations) нажмите на выпадающую кнопку Фигуры (Shapes), выберите из галереи элемент Равнобедренный треугольник (Isosceles Triangle) и вставьте его на рабочий лист. 6.Сделайте заливку треугольника на один тон темнее прямоугольника, а в меню Контур фигуры (Shape outline) выберите опцию Нет контура (No Outline). 7.Щелкните правой кнопкой мыши по треугольнику и выберите пункт Формат фигуры (Format Shape) для отображения одноименной панели в правой части окна. 8.На вкладке панели Размер и свойства установите в поле Поворот (Rotation) значение 270°, чтобы направить стрелку влево. 9.На этой же вкладке измените значения в полях Высота (Height) и Ширина (Width) и разместите треугольник под прямоугольником с левой стороны так, как показано на рис. 6.11. 204 Часть II Основы визуализации данных Рис. 6.11. Расположите треугольник под прямоугольником Совет Чтобы было удобно работать с мелкими элементами на листе, можно временно увеличить масштаб. Для этого на вкладке Вид (View) выберите инструмент Масштаб (Zoom) и определите нужный вам множитель или введите его вручную в поле Произвольный (Custom). Вы также можете менять масштаб листа при помощи колесика мыши с зажатой клавишей Ctrl. 10.Выделите треугольник и последовательно нажмите сочетания клавиш Ctrl+C и Ctrl+V для создания его копии. Excel поместит новый тре­ угольник поверх старого, и он будет выделен. 11.Переместите созданный треугольник к другому краю прямоугольника и измените его свойство Поворот (Rotation) на 90°. На рис. 6.12 показано, как должна выглядеть ваша диаграмма в данный момент. Рис. 6.12. Разместите второй треугольник на другом конце прямоугольника 12.Выделите прямоугольник и на вкладке Формат фигуры (Shape Format) в группе Упорядочить (Arrange) дважды щелкните по кнопке Переместить вперед (Bring Forward), чтобы он вышел на передний план относительно треугольников. Excel поддерживает порядок следования Глава 6 Использование фигур для создания инфографики 205 всех фигур на рабочем листе, называемый z-порядком (z-order). Когда фигуры наслаиваются одна на другую, те из них, у которых z-порядок выше, будут перекрывать фигуры с меньшим порядком. Инструменты Переместить вперед (Bring Forward) и Переместить назад (Send Backward) на вкладке Формат фигуры (Shape Format) позволяют изменять z-порядок объектов. 13.Выделите прямоугольник и введите в строке формул формулу =$B$1, как показано на рис. 6.13. Рис. 6.13. Используйте формулу для отображения текста на фигуре 14.С выделенным прямоугольником перейдите на вкладку Главная (Home) и в группе Выравнивание (Alignment) нажмите последовательно на кнопки Выровнять по середине (Middle Align) и Выровнять по центру (Center), чтобы разместить текст в центральной части баннера. 15.Измените цвет текста заголовка, чтобы он подходил цветовой гамме элемента. На рис. 6.14 показан итоговый вид баннера-вывески. Рис. 6.14. Комбинирование фигур для обрамления диаграмм 206 Часть II Основы визуализации данных Создание закладки Аналогично использованию баннеров, применение своеобразных закладок (binder tab) способно добавить привлекательности визуальным элементам. На рис. 6.15 вверху показана столбчатая диаграмма из финансового дашборда в ее исходном виде, а внизу – с закладкой, заменившей заголовок диаграммы и легенду. Рис. 6.15. Замена заголовка диаграммы и легенды на закладку Здесь я использовал ту же технику, что и при создании баннера в предыдущем разделе. Фигуры комбинируются определенным образом, располагаясь слоями, для создания иллюзии объема. На рис. 6.16 показаны все составляю­ щие компоненты закладки отдельно друг от друга. Для создания такого эффекта снова начните с расположения прямоугольника в верхней части диаграммы. Затем поместите на лист трапецию (Trape­ zoid) и два равнобедренных треугольника из галереи форм. Переверните трапецию по вертикали, чтобы ее меньшая сторона находилась снизу. Установите заливку для прямоугольника и треугольников на один тон темнее, чем цвет столбиков на графике. Для трапеции примените тот же цвет, что и на графике, но с вертикальным градиентом, чтобы вверху цвет был темнее, а внизу светлее. Поскольку мы перевернули трапецию, на самом деле градиент будет обратным. Удалите легенду с диаграммы. Вместо заголовка введите пробел. Если заголовок диаграммы удалить, столбики попытаются занять все доступное Глава 6 Использование фигур для создания инфографики 207 мес­то по вертикали, что на некомфортное расстояние приблизит их к верхним фигурам. На рис. 6.17 показана диаграмма с выделенным заголовком. Рис. 6.16. Закладка в разобранном состоянии Рис. 6.17. Невидимый заголовок диаграммы позволяет остальным элементам не занять все доступное пространство Измените размеры фигур и расположите их так, как показано выше. Вставьте в трапецию текстовое поле с заголовком. Если ввести текст непосредственно в трапецию, то он окажется перевернутым по причине того, что мы ранее поставили эту фигуру с ног на голову. Вы можете немного наклонить текст при помощи изменения геометрии объемной фигуры, но обычно это ведет к его искажению и трудностям восприятия. Чтобы убедиться, что текст будет нормально размещен, измените его размер таким образом, чтобы высота совпадала с высотой прямоугольника, а ширина соответствовала самой широкой части трапеции. После этого разместите текст по центру как по горизонтали, так и по вертикали. На рис. 6.18 показан размер текстового поля относительно других элементов. 208 Часть II Основы визуализации данных Рис. 6.18. Сделайте текстовое поле шире, чем сам текст для его комфортного размещения Работа с несколькими фигурами В вашем распоряжении есть достаточно богатый арсенал для одновременной работы с большим количеством фигур. В показанном выше примере мы работали всего с пятью фигурами, и уследить за ними было не так сложно. А что, если на вашем дашборде будет множество диаграмм, к каждой из которых вы захотите применить подобное оформление из фигур? Управлять всем этим добром может быть непросто. Первое, что вы можете сделать, – это изменить имя фигур на рабочем лис­ те. Для этого достаточно выделить фигуру и ввести для нее имя в текстовом поле слева от строки формул. На рис. 6.19 показан процесс переименования трапеции, получившей имя trp Binder Tab. Рис. 6.19. Вы можете переименовывать фигуры по своему усмотрению Часто возникает необходимость переместить или скопировать сразу несколько фигур, которые вы долго и тщательно размещали. Выделять небольшие по размеру фигуры, перекрывающие друг друга, бывает довольно не­ прос­то. С целью облегчения этой задачи в Excel присутствует инструмент под названием Область выделения (Selection Pane). Чтобы им воспользоваться, Глава 6 Использование фигур для создания инфографики 209 необходимо сначала выделить фигуру, чтобы появилась вкладка Формат фигуры (Shape Format). После этого в группе Упорядочить (Arrange) нужно нажать на кнопку Область выделения (Selection Pane), что приведет к открытию в правой части окна панели Выделение (Selection), показанной на рис. 6.20. Рис. 6.20. Используйте эту панель для облегчения управления фигурами На панели Выделение отображаются все фигуры на листе, при этом выделенная на листе фигура также подсвечивается. Диаграммы тоже являются своего рода фигурами, так что и они присутствуют в этом списке. Как видите, мы дали всем фигурам короткие префиксы, чтобы было легче ориентироваться в том, какие формы они представляют. К примеру, наша закладка состоит из трапеции и двух треугольников, что хорошо заметно по списку элементов на панели. Значок в форме глаза справа от элементов предназначен для их показа или скрытия. Вы также можете отобразить или скрыть все фигуры на листе, воспользовавшись кнопками Показать все (Show All) и Скрыть все (Hide All) в верхней части панели. Бывает удобно прятать фигуры при работе над другими элементами формы, расположенными примерно в тех же местах. Выбирая фигуры как на рабочем листе, так и в списке, вы можете использовать клавишу Ctrl для выделения сразу нескольких объектов. На рис. 6.21 показан список со всеми фигурами, участвующими в создании закладки из предыдущего раздела. Без панели Выделение выбрать все эти объекты было бы крайне затруднительно. Последнее, что нам необходимо обсудить касательно работы с фигурами, – это группы (group). Вы имеете возможность объединять несколько фигур в одну группу и в дальнейшем работать с ними как с единым целым. Начните с выбора объектов, которые вы желаете сгруппировать. После этого на вкладке Формат фигуры (Shape Format) в группе Упорядочить (Arrange) нажмите на выпадающую кнопку Группировать (Group Objects) и выберите пункт Группировать (Group). На рис. 6.22 видно, как мы объединили фигуры, из которых строилась наша закладка. Имя группы Group 8 Excel выбрал сам, но вы всегда можете его изменить. 210 Часть II Основы визуализации данных Рис. 6.21. Удерживайте клавишу Ctrl для выделения более одного элемента на панели Рис. 6.22. Группируйте фигуры, чтобы работать с ними как с одним объектом Итак, теперь вы можете спокойно выбирать целую группу фигур, копировать ее, менять текст и перемещать как единый объект. Это помогает сэкономить массу времени при разработке дашбордов. Создание простых графиков с применением фигур Как я уже упоминал ранее в этой главе, все диаграммы являются своего рода фигурами, и они также живут в слое графики. Вы можете комбинировать фигуры и графики для привлечения внимания пользователей к конкретным данным или для добавления новой информации в условиях ограниченного пространства. В предыдущих разделах мы использовали фигуры вместо заголовков и легенд на диаграммах. Здесь же мы постараемся при помощи фигур снабдить Глава 6 Использование фигур для создания инфографики 211 графики новой ценной информацией. На рис. 6.23 показана столбчатая диаграмма, отражающая продажу недвижимости по месяцам. Цель агентства – продавать дома за 15 и менее дней, и процент сделок, отвечающий этой цели, мы выведем в верхней части диаграммы. Рис. 6.23. Продажи недвижимости в агентстве Для создания такого визуального наполнения сделайте следующее. 1.Добавьте на рабочий лист из галереи фигуры Овал (oval), Часть круга (Partial circle), прямоугольник, а также текст. 2.Введите в текстовый элемент следующий текст: 72% Sold in 15 Days or Fewer (72 % продаж уложились в 15 и менее дней). 3.Измените заливку для прямоугольника и овала, чтобы она подходила цветовой гамме диаграммы, но не совпадала точно с используемыми цветами. 4.Установите заливку для фигуры с частью круга на один тон темнее, чем цвет, который вы использовали на предыдущем шаге. 5.Измените размер прямоугольника таким образом, чтобы он по ширине был равен диаграмме, а по высоте составлял примерно половину от круга. На рис. 6.24 показаны фигуры, которые мы будем использовать. Рис. 6.24. Отформатируйте фигуры таким образом, чтобы они подходили для нашей диаграммы 212 Часть II Основы визуализации данных 6.Теперь расположите фигуры относительно друг друга так, как показано на рис. 6.25. Пока вам не обязательно размещать их непосредственно над диаграммой. 7.На вкладке Формат фигуры (Shape Format) в группе Упорядочить (Arrange) нажмите на кнопку Область выделения (Selection Pane), что приведет к открытию в правой части окна панели Выделение (Selection). Удерживая клавишу Ctrl, выделите в списке текстовый объект, часть круга, овал и прямоугольник. 8.На вкладке Формат фигуры (Shape Format) в группе Упорядочить (Arrange) нажмите на выпадающую кнопку Выровнять (Align Objects) и выберите пункт Выровнять по середине (Align Middle). Это позволит правильно расположить фигуры. 9.Пока все наши фигуры выделены, на вкладке Формат фигуры (Shape Format) в группе Упорядочить (Arrange) нажмите на выпадающую кнопку Группировать (Group Objects) и выберите пункт Группировать (Group) для объединения всех наших объектов. На рис. 6.25 показано, как должна выглядеть панель Выделение после этого действия. Рис. 6.25. Сгруппируйте фигуры, чтобы можно было работать с ними как с единым объектом Если вам не понравится, как расположилась круговая диаграмма во время присоединения нашей группы фигур к диаграмме, разгруппируйте объекты, подкорректируйте их расположение, повторите шаги по их выравниванию и снова объедините в группу. Создание пользовательской инфографики Ваши возможности в области настройки фигур не ограничиваются исключительно их размером и поворотом. У некоторых объектов есть дополнительные точки размерности, именуемые также управляющими маркерами (adjustment point), которые позволяют изменять характеристики фигур, не ограничиваясь лишь шириной и высотой. На рис. 6.26 показана фигура Выноска: стрелка вверх (Callout: Up Arrow) со стандартными восемью опорными точками, а также четырьмя дополнительными управляющими маркерами. Глава 6 Использование фигур для создания инфографики 213 В случае с фигурой Выноска: стрелка вверх верхний желтый управляющий маркер отвечает за ширину стрелки. Левый маркер позволяет изменить высоту прямоугольной выноски, не влияя при этом на общую высоту объекта. Правый маркер регулирует высоту стрелки, а оставшийся центральный – ширину соединительной линии между выноской и стрелкой. Управляя этими маркерами, вы можете до неузнаваемости менять фигуры из галереи. На рис. 6.27 показаны четыре измененные фигуры Выноска: стрелка вверх, которые сами могут использоваться вместо столбчатой диаграммы. Рис. 6.26. Некоторые фигуры отличаются дополнительными точками для регулировки их формы Рис. 6.27. Используйте управляющие маркеры для создания новых пользовательских фигур Также фигуры обладают так называемыми узлами (edit point). Чтобы увидеть их, необходимо выделить фигуру, щелкнуть по ней правой кнопкой мыши и выбрать пункт Начать изменение узлов (Edit Points). К примеру, фигура, показанная на рис. 6.28, обладает одиннадцатью узлами. При этом Рис. 6.28. Используйте узлы боковые узлы в основании стрелки были опущены фигур для еще более тонкой ниже, чтобы акцентировать острие стрелки. настройки их внешнего вида Линии, соединяющие узлы фигуры, именуются сегментами (segment), и они также могут быть изменены. На рис. 6.29 показано контекстное меню для сегмента между узлами. Используя это контекстное меню, вы можете добавлять узлы помимо существующих и изменять характеристики сегментов. Щелчок правой кнопкой мыши по узлу приведет к открытию немного другого контекстного меню, которое показано на рис. 6.30. Здесь вы можете менять тип узла, например с углового (corner point) на прямой (straight point). Тип узла определяет способы манипулирования им. Изменение фигур при помощи узлов – задача не из легких, здесь нужна твердая рука и креативный подход. Создав собственную фигуру, не забудьте скопировать ее в другую рабочую книгу для будущего использования. 214 Часть II Основы визуализации данных Рис. 6.29. Щелкните правой кнопкой мыши по сегменту, чтобы изменить его Рис. 6.30. Щелкните правой кнопкой мыши по узлу, чтобы настроить его по своему усмотрению Добавление других иллюстраций Excel предлагает на выбор тысячи бесплатных значков и изображений, которые вы можете добавить на свои рабочие листы. При этом значки представлены в виде масштабируемых векторных рисунков в формате SVG, а это означает, что вы можете менять их размер без потери качества. Изображения SVG содержат информацию о том, как отрисовывать картинку в целом, а не отдельные пиксели. Это позволяет корректно обрабатывать рисунки разных размеров. Перейдите на вкладку Вставка (Insert) и в группе Иллюстрации (Illustrations) нажмите на кнопку Значки (Icons), чтобы открыть диалоговое окно для добавления значков на рабочий лист, показанное на рис. 6.31. Это диалоговое окно используется в Excel для выбора изображений, значков и других иллюстраций. Выберите в верхней части окна, что именно вы собираетесь вставить. В разделе Значки (Icons) вы увидите строку поиска и список предопределенных тем, которые можно прокручивать вправо и влево в поиске нужной категории. Также вы можете вручную ввести название темы в поле для поиска. На рис. 6.32 показан список значков, оставшихся после выбора темы Финансы. В разделе Фигуры людей (Cutout People) собрано множество изображений людей в различных позах. Вы можете выбрать по имени конкретного человека, чтобы посмотреть все его позы. Кроме того, здесь, как и в разделе со значками, вы можете использовать ручной поиск. Если ввести в поиск слово знак (sign), как показано на рис. 6.33, в списке для выбора останутся только люди, держащие перед собой пустую табличку. Глава 6 Использование фигур для создания инфографики 215 Рис. 6.31. Диалоговое окно для вставки значков и других изображений Рис. 6.32. Ограниченный список значков 216 Часть II Основы визуализации данных Рис. 6.33. Поиск людей с табличками Чтобы вставить текст на эту табличку, сделайте следующее. 1.Перейдите на вкладку Вставка (Insert) и в группе Иллюстрации (Illustrations) нажмите на кнопку Значки (Icons). 2. Выберите раздел Фигуры людей (Cutout People). 3. Введите в строку поиска слово знак (sign). 4. Выберите одно из изображений и нажмите на кнопку Вставить (Insert). 5. Измените размер изображения при необходимости. 6.Перейдите на вкладку Вставка (Insert) и в группе Иллюстрации (Illustrations) нажмите на выпадающую кнопку Фигуры (Shapes). В открывшейся галерее выберите элемент Надпись (Text Box) и щелкните мышью по табличке в руках человека, чтобы вставить текст, как показано на рис. 6.34. 7.Измените размер и положение текстового поля в соответствии с положением таблички, как показано на рис. 6.35. 8.Введите текст в текстовое поле и отформатируйте его по желанию, настроив шрифт и цвет. 9.Выровняйте текст по центру по горизонтали и вертикали, используя инструменты из группы Упорядочить. Глава 6 Использование фигур для создания инфографики 217 Рис. 6.34. Добавление текста на табличку Рис. 6.35. Измените размер текста и поверните его, чтобы он соответствовал табличке 10.Щелкните правой кнопкой мыши по текстовому полю и выберите пункт Формат фигуры (Format Shape), чтобы открыть одноименную панель. 11.На вкладке Параметры текста (Text Options) на открывшейся панели установите флажок Переносить текст в фигуре по словам (Wrap Text In Shape), как показано на рис. 6.36. 12.На вкладке Параметры фигуры (Shape Options) установите переключатель заливки в положение Нет заливки (No fill), а переключатель линий – в положение Нет линий (No line). Это позволит сделать текст прозрачным и органично вписать его в фигуру. На рис. 6.37 показан итоговый вариант фигуры. 218 Часть II Основы визуализации данных Рис. 6.36. Впишите текст в табличку Рис. 6.37. Сделайте текстовое поле прозрачным Часть III Рассказываем историю с помощью визуализации Глава 7. Визуализация сравнения показателей эффективности Глава 8. Визуализация частей от целого Глава 9. Визуализация изменений с течением времени Powered by TCPDF (www.tcpdf.org) ГЛАВА 7 Визуализация сравнения показателей эффективности В этой главе: отдельные показатели; гистограмма; пулевая диаграмма; гистограмма с группировкой; воронка; точечная диаграмма; пузырьковая диаграмма; точечная гистограмма. Excel предлагает богатый выбор визуализаций, позволяющих отобразить различные показатели в наиболее подходящем для них виде. Какой тип визуа­ лизации выбрать – целиком и полностью зависит от природы ваших данных и истории, которую вы хотите рассказать. В этой главе мы поговорим о наиболее распространенных способах визуализации показателей эффективности и факторах, которые могут влиять на ваш выбор. Отдельные показатели Не все элементы на дашборде должны представлять собой график или диаграмму. Обычные таблицы и изображения также могут присутствовать в визуализации, если они помогают рассказать историю. Простейшим элементом, который вы можете отобразить на дашборде, является отдельный числовой показатель. При помощи изменения размера и цвета, а также добавления значков вы можете очень эффективно отобразить тот или иной срез данных. Процент достижения цели – один из классических примеров отображения отдельного показателя на дашборде. Все знают, что 100 % символизируют достижение цели, и пользователю не нужно будет дополнительно что-то объяснять, если он увидит показатель 87 %. На рис. 7.1 показан пример использования процента в качестве составляющей части дашборда. Глава 7 Визуализация сравнения показателей эффективности 221 Примечание Все примеры, обсуждаемые в данной главе, собраны в сопроводительных файлах. Указания на конкретные файлы будут даны в относящихся к ним примерах. На рис. 7.1 представлен простейший элемент в виде процента, введенного в ячейке. Размер шрифта был выставлен на отметке 72, а цвет настроен в соответствии с остальными элементами дашборда. В ячейке над показателем написан заголовок, и обе ячейки имеют общие обрамляющие границы, визуально отделяющие этот элемент от остальных. Вы также можете использовать вывод отдельных показателей для отобра­ жения изменений во времени. С этой целью часто применяют условное форматирование для вывода стрелок рядом с показателем. На рис. 7.2 показан такой же вывод показателя, как и на рис. 7.1, в отношении размера шрифта и цветовой гаммы, но с применением условного форматирования для отобра­жения динамики при помощи стрелки. Рис. 7.1. Процент достижения цели по показателю на дашборде Рис. 7.2. Процентный показатель с динамикой Чтобы настроить условное форматирование, выделите ячейку с процентом, нажмите на выпадающую кнопку Условное форматирование (Conditional Formatting) на вкладке Главная (Home), выберите пункт Наборы значков (Icon Sets) и укажите в группе Направления (Directional) набор с названием 3 цветные стрелки (3 Arrows (Colored)). Абсолютные показатели, выраженные не в процентах, также могут быть отображены с этими значками. Примеры таких показателей – сумма продаж в долларах, количество доставленных посылок или число дней без происшествий. Убедитесь, что ваши показатели имеют понятные подписи и округлены до нужного количества знаков после запятой. На рис. 7.3 показана накопительная сумма продаж за год в двух видах: как обычное число и с округлением до миллионов. Заметьте, что второй вариант читается гораздо легче. Рис. 7.3. Накопительные продажи в виде числа и c округлением до миллионов 222 Часть III Рассказываем историю с помощью визуализации В ячейке с округлением фактически содержится то же самое число, но она отформатирована с применением пользовательского формата. Чтобы это сделать, выделите ячейку на листе и нажмите сочетание клавиш Ctrl+1 или выберите соответствующий пункт в контекстном меню для открытия диалогового окна Формат ячеек (Format Cells). В списке Числовые форматы (Number) выберите тип Все форматы (Custom) и введите в поле Тип (Type) строку $ #,# " million" ($ #.#,," million"). Знак доллара является специальным символом в Excel, в связи с чем его не нужно заключать в кавычки. Следующая часть строки форматирования – #.#,, – указывает Excel на то, что необходимо вывести число с одним знаком после запятой и при этом отображать только цифры, стоящие слева от второй запятой (миллионы)1. Поскольку слово million не является зарезервированным в Excel, необходимо заключать его в кавычки при выводе. Оба приведенных примера вполне могут быть визуализированы при помощи диаграмм. Для вывода процента достижения цели идеально подойдет пулевая диаграмма, а динамику показателя относительно прошлого года можно отобразить при помощи столбчатой диаграммы. Несмотря на это, отдельный числовой показатель является наиболее простым и понятным способом донесения до пользователя нужной информации, и здесь он подходит гораздо лучше. Гистограмма Столбчатая диаграмма (column chart) является одним из наиболее популярных видов графиков в Excel. Она идеально подходит для сравнения категорий данных. В простейшем виде столбчатая диаграмма располагает горизонтальной осью категорий и вертикальной осью значений, а показатели отобра­жаются при помощи столбиков определенной высоты с указанием имен конкретных категорий. Линейчатая диаграмма (bar chart) представляет собой столбчатую диаграмму, положенную на бок. Таким образом, ось категорий оказывается расположена вертикально, а ось значений – горизонтально. К столбчатым и линейчатым диаграммам применимы одни и те же принципы, при этом последнюю можно выбрать, если ваши категории обладают достаточно длинными именами, – в горизонтальной плоскости им будет проще разместиться. Также вы можете отдать предпочтение линейчатой диаграмме, если хотите разбавить засилье столбчатых диаграмм на дашборде. На рис. 7.4 показан общий вид столбчатой и линейчатой диаграмм. Как и в случае с любой другой диаграммой, здесь желательно начинать ось значений с нуля. Старт с любого другого значения способен затруднить понимание общей картины происходящего и сбить зрителя с толку. На рис. 7.5 показана столбчатая диаграмма, на которой ось значений начинается не с нуля. 1 Если разряды отделяются пробелами, а десятичная часть – запятой, необходимо использовать в строке форматирования соответствующие символы. – Прим. перев. Глава 7 Визуализация сравнения показателей эффективности 223 Рис. 7.4. Линейчатая диаграмма – это столбчатая, положенная на бок Рис. 7.5. Начинайте ось значений с нуля 224 Часть III Рассказываем историю с помощью визуализации При беглом просмотре графика можно сделать вывод о том, что первая категория ровно вдвое превышает вторую, тогда как на самом деле превышение составляет всего 50 %. Рекомендуется ограничивать количество категорий на столбчатой диаграмме максимум десятью. Слишком большое количество категорий не позволит визуально сравнить их. Если вам необходимо включить в анализ больше элементов, подумайте над тем, как их можно сгруппировать, что, в свою очередь, зависит от того, какую историю вы пытаетесь донести до пользователя дашборда. К примеру, если вы хотите подчеркнуть, что три наиболее популярные категории товаров занимают львиную долю продаж, вы можете выделить эти три группы, а остальные товары объединить в единую категорию. На рис. 7.6 слева показана диаграмма с чересчур большим количеством категорий. На этом графике так много лишнего шума, что основная история о трех топовых категориях может ускользнуть от зрителя. На диаграмме справа все мелкие категории сгруппированы в одну, сумма продаж по которой едва дотягивает до половины значения любой из трех ведущих категорий. Так понять историю гораздо проще. Рис. 7.6. Группирование категорий позволяет избежать ненужного шума на диаграмме Порядок сортировки данных на диаграмме может иметь решающее значение в плане восприятия информации пользователем. Если у ваших категорий есть четкий порядок, лучше будет придерживаться его. К примеру, если речь идет о временных промежутках, таких как кварталы или годы, необходимо упорядочить их от более раннего к более позднему. В отсутствие строгого порядка в исходных данных, когда мы сравниваем различные товары или отделы, рекомендуется помещать точки данных с наибольшими значениями в левой части столбчатой диаграммы. Существует теория о том, что люди лучше воспринимают графики с восходящим трендом значений слева направо, подобно биржевым диаграммам. Но этим приемом часто пользуются специально с целью манипуляции данными и извлечения нужных выводов (если эта теория верна). Вы должны рассказывать пользователю историю, но при этом обязаны быть максимально честными по отношению к данным. Если история, которую вам так хочется рассказать, не подтверждается данными, что ж, придется рассказывать другую. Наконец, вы должны хорошо представлять себе конечного пользователя вашего дашборда. В компании может быть принят свой строгий порядок Глава 7 Визуализация сравнения показателей эффективности 225 следования категорий товаров. А в ежемесячных отчетах позиции должны располагаться привычным образом. Конечно, в порядок следования категорий могут вноситься определенные изменения, допустим если была введена новая категория, сразу вырвавшаяся в лидеры, но такие изменения должны быть крайне редки. Иными словами, не стоит менять порядок, если какойто товар в текущем квартале выстрелил по продажам, а в следующем снова вернулся на свои позиции. Практический пример: продажи по кварталам В вашем розничном магазине одежды товары сгруппированы в следующие пять категорий: мужская спортивная одежда (Men’s Activewear), мужская верхняя одежда (Men’s Outerwear), женская спортивная одежда (Women’s Activewear), женская верхняя одежда (Women’s Outerwear) и детская одежда (Children’s). Ваша цель – сравнить продажи по категориям за первый квартал. Примечание Рабочая книга с этим примером называется ColumnSalesbyQuarter.xlsx и располагается на сайте с сопроводительными файлами. Для начала нам необходимо подготовить данные. Выполните следующие шаги, чтобы привести исходные данные к виду, пригодному для анализа. 1.На рабочем листе заполните заголовки для таблицы с продажами по категориям, как показано на рис. 7.7. 2.На вкладке Вставка (Insert) в группе Таблицы (Tables) нажмите на кнопку Таблица (Table) и убедитесь, что флажок Таблица с заголовками (My Table Has Headers) установлен. 3.Введите названия категорий товаров в первый столбец, как показано на рис. 7.8. Рис. 7.7. Заголовки таблицы по продажам за первый квартал Рис. 7.8. Категории товаров за первый квартал 4. Введите следующую формулу в столбец Q1 Sales: =СУММЕСЛИ(tblSalesData[Category];[@[Product Category]];tblSalesData[Sales]) =SUMIF(tblSalesData[Category],[@[Product Category]],tblSalesData[Sales]) Ваша таблица должна приобрести вид, показанный на рис. 7.9. 226 Часть III Рассказываем историю с помощью визуализации Рис. 7.9. Заполненная таблица по продажам за первый квартал 5.Выделите любую ячейку в таблице, на вкладке Вставка (Insert) нажмите на кнопку Рекомендуемые диаграммы (Recommended Charts) и выберите вариант Гистограмма с группировкой (Clustered Column) для вставки. Нажмите на кнопку OK для добавления диаграммы на активный лист. На рис. 7.10 показано, как должна выглядеть ваша диаграмма. 6.По желанию вы можете отсортировать таблицу по продажам от большего значения к меньшему. График автоматически обновится в соответствии с примененной сортировкой. Рис. 7.10. Столбчатая диаграмма с продажами по первому кварталу Примечание Гистограмма с группировкой и гистограмма, по сути, представляют собой один и тот же график. Единственным отличием является то, что гистограмма с группировкой может показывать несколько рядов данных в виде групп. Если же у вас каждой категории соответствует только одно значение, нет разницы, какой тип диаграммы выбирать. Пулевая диаграмма Пулевая диаграмма (bullet chart) обычно используется для сравнения фактического значения показателя с запланированным. Два классических применения пулевой диаграммы – это сравнение факта с бизнес-планом и отсле- Глава 7 Визуализация сравнения показателей эффективности 227 живание достижения цели. Эксперт в области визуализации данных Стивен Фью (Stephen Few) создал концепцию пулевой диаграммы взамен диаграммам-датчикам. Линейный характер пулевой диаграммы предоставляет гораздо больше гибкости по сравнению с круговыми датчиками, поскольку позволяет разместить ее более компактно, причем как в горизонтальном, так и в вертикальном виде. При создании дашбордов со множеством графиков вы оцените эту гибкость по заслугам. Обычно линейные графики, такие как столбчатые или пулевые диаграммы, дают возможность более комфортно сравнивать точки данных между собой, чем угловые диаграммы, к которым относятся, например, круговая диаграмма и датчик. Все эксперты сходятся во мнении, что человеку визуально легче сравнивать длины предметов, чем углы. В основе пулевой диаграммы лежит более широкий столбец, характеризую­ щий эталонное значение показателя, и более узкий, помещенный внутрь широкого и представляющий актуальное значение. На рис. 7.11 показан типичный пример пулевой диаграммы. Вы не обязаны использовать цветовой градиент применительно к пулевым диаграммам, но если делаете это, то лучше идти от темных тонов к светлым. Рис. 7.11. Типичный пример пулевой диаграммы Практический пример: расходы в сравнении с планом Наша цель – показать актуальные расходы в сравнении с запланированными по четырем отделам. Наименования отделов: Production, Sales and Marketing, Administration и Research and Development. Примечание Рабочая книга с этим примером называется BulletExpenses.xlsx и располагается на сайте с сопроводительными файлами. Организуйте ваши данные так, как показано на рис. 7.12, чтобы актуальная информация о расходах находилась в одной строке, а запланированные показатели – в другой. Следуйте приведенным ниже шагам для создания пулевой диаграммы. 228 Часть III Рассказываем историю с помощью визуализации Рис. 7.12. Пулевая диаграмма 1.На вкладке Вставка (Insert) нажмите на кнопку Рекомендуемые диаграммы (Recommended Charts) и выберите вариант Линейчатая с группировкой (Clustered Bar). На рис. 7.13 показан исходный вид диаграммы. Рис. 7.13. Линейчатая диаграмма с группировкой 2.Щелкните правой кнопкой мыши по ряду Actual и выберите в контекстном меню пункт Изменить тип диаграммы для ряда (Change Series Chart Type). Установите для ряда данных Actual флажок Вспомогательная ось (Secondary axis). На рис. 7.14 показано диалоговое окно Изменение типа диаграммы (Change Chart Type). Совет Вы можете использовать гистограмму с группировкой вместо линейчатой диаграммы с группировкой. Если названия ваших категорий достаточно длинные, это может позволить разместить их более комфортно. 3.В выпадающем списке Элементы диаграммы (Chart Elements), расположенном слева на вкладке Формат (Format) выберите Ряд “Budget” (Series “Budget”) для его выделения на диаграмме. Можно выбрать ряд и непосредственно на диаграмме, но это бывает не всегда удобно, как, например, в этом случае. Нажмите на кнопку Формат выделенного (Format Selection), чтобы отобразить панель Формат ряда данных (Format Data Series), если она еще не видна. На вкладке Параметры ряда (Series Options) установите в поле Боковой зазор (Gap Width) значение 90 %. На рис. 7.15 показана панель Формат ряда данных. Глава 7 Визуализация сравнения показателей эффективности 229 Рис. 7.14. Изменение оси для одного ряда Рис. 7.15. Настройка боковых зазоров на панели Формат ряда данных 4.После этого так же точно выберите Ряд “Actual” (Series “Actual”) и измените Боковой зазор (Gap Width) на 400 %. Вы можете поэкспериментировать с этими значениями, чтобы прийти к виду, который вас полностью устроит. 230 Часть III Рассказываем историю с помощью визуализации 5.Для обоих рядов измените цвет заливки и границ на вкладке Заливка и границы (Fill & Line) на панели Формат ряда данных. Обычно прогнозный (более широкий) ряд выполняется в более светлых тонах, а актуальные данные заполняются темным цветом. На рис. 7.16 показан внешний вид диаграммы после этого шага. Рис. 7.16. Пулевая диаграмма после изменения цветов и боковых зазоров 6.Выделите вторичную ось на графике и на панели Формат оси (Format Axis) измените значения в полях Минимум (Minimum) и Максимум (Maximum), чтобы они соответствовали основной оси. Затем, пока еще ось выделена, нажмите на клавишу Delete, чтобы скрыть ее. Вы также можете воспользоваться всплывающим окном Элементы диаграммы (Chart Elements), чтобы скрыть вспомогательную ось, как показано на рис. 7.17. Рис. 7.17. Скрытие оси с использованием окна Элементы диаграммы 7.Наконец, измените заголовок диаграммы. На рис. 7.18 показан итоговый вид пулевой диаграммы. Глава 7 Визуализация сравнения показателей эффективности 231 Рис. 7.18. Окончательный вид пулевой диаграммы По представленному графику мы видим, что все отделы, кроме Administration, укладываются в смету расходов. Гистограмма с группировкой В Excel все гистограммы представляют собой диаграммы с группировкой. Если у вас всего одно измерение, визуальный элемент будет выглядеть как обычная гистограмма. При наличии нескольких измерений вы сможете при помощи группировки отдельно сравнить составляющие части измерений. Такой вид отображения не подойдет, если вам необходимо также сопоставлять общие итоги по категориям, поскольку каждая категория будет разбита на подгруппы. В этом случае лучше будет воспользоваться гистограммой с накоплением. Проблема с этим видом визуализации состоит в том, что каждая составляющая часть категории со второй и далее начинается не с нуля, что значительно затрудняет процесс сравнения. На рис. 7.19 показаны гис­ тограмма с накоплением (слева) и гистограмма с группировкой (справа). Рис. 7.19. Гистограмма с накоплением и гистограмма с группировкой Как видите, на левой диаграмме достаточно трудно понять, как сопоставляются друг с другом величины измерения Y в разных категориях, поскольку 232 Часть III Рассказываем историю с помощью визуализации они начинаются не с одного уровня. На гистограмме с группировкой этот вид анализа выполняется гораздо проще, но при этом мы вынуждены жертвовать возможностью сравнить итоговые значения. Какой тип гистограммы выбрать – зависит от истории, которую вы хотите рассказать пользователю. Практический пример: брак на производстве Вы посчитали объем брака за год на четырех своих производственных объектах. Ваша задача – сравнить брак по объектам в разрезе кварталов. На рис. 7.20 показаны данные, которые мы будем использовать для анализа. Рис. 7.20. Брак на производстве по кварталам Примечание Рабочая книга с этим примером называется ClusteredColumnDefects.xlsx и располагается на сайте с сопроводительными файлами. Поскольку гистограмма с группировкой входит в число стандартных визуальных элементов Excel, построить ее не составит труда. Для этого на вкладке Вставка (Insert) нажмите на кнопку Рекомендуемые диаграммы (Recommended Charts) и выберите вариант Гистограмма с группировкой (Clustered Column) для вставки соответствующего графика. В своем исходном виде диаграмма получается более чем приемлемой. Вам остается лишь изменить ее заголовок, и перед вами вполне понятная визуализация, показанная на рис. 7.21. Рис. 7.21. Гистограмма с группировкой по браку на производстве Вместо того чтобы полагаться на ось значений, можно вынести показатели на график в виде подписей. Для этого необходимо щелкнуть правой кнопкой Глава 7 Визуализация сравнения показателей эффективности 233 мыши по каждому ряду на диаграмме и в контекстном меню выбрать пункт Добавить подписи данных (Add Data Labels). После этого можно выделить вертикальную ось значений и нажать на клавишу Delete, чтобы избавиться от нее. То же самое можно сделать и с горизонтальными линиями сетки. На рис. 7.22 показана диаграмма с подписями данных вместо оси значений. Рис. 7.22. Гистограмма с группировкой и подписями данных Воронка При помощи воронки (funnel chart) обычно отображается прогресс продвижения по этапам при условии, что этапы зависят друг от друга. Первый этап располагается вверху и представляет собой горизонтальный столбик максимальной длины. Второй этап характеризуется столбиком меньшей длины, отражая количество значений, достигших этой фазы. Таким образом, каждый последующий этап будет ýже или той же длины, что и предыдущий. Пример воронки показан на рис. 7.23. Рис. 7.23. Диаграмма в виде воронки 234 Часть III Рассказываем историю с помощью визуализации При помощи классической воронки обычно изображается процесс продаж. Верхний слой представляет собой лиды (Lead), или всех потенциальных покупателей. Далее по нисходящей следуют перспективные покупатели (Qualified Lead), покупатели, ответившие на предложение (Quoted), клиенты, с которыми ведутся переговоры (Negotiated) и финальные сделки (Won). Уровень с потенциальными покупателями ожидаемо представлен самым широким столбиком. Далеко не каждый лид обретает реальную перспективу и переходит на вторую стадию. Третий этап – Quoted – включает в себя еще меньше контактов, в число которых входят только ответившие на наше коммерческое предложение. Некоторые из них сразу отказываются от общения, так и не достигая стадии Negotiated. Ну и, наконец, не все переговоры завершаются заключением сделки. Еще один распространенный пример использования принципов воронки – процесс приема на работу. Этапы в этом случае могут быть следующие: принято резюме, проведено собеседование по телефону, состоялось первое интервью, состоялось второе интервью, сотрудник принят на работу. Избегайте использования воронок для сравнения показателей по категориям вроде анализа расходов по отделам или продаж по товарам. Для этого куда лучше подойдут столбчатые или линейчатые диаграммы. Видя воронку, пользователь будет ожидать, что уровни тесно связаны между собой, и вы должны постараться удовлетворить его ожидания. Практический пример: конверсия продаж Стив – самый низкоэффективный продавец в компании, и ваша задача – узнать, почему. Вы создали воронку, чтобы визуализировать результаты работы Стива по этапам. В Excel есть встроенная диаграмма в виде воронки, так что построить ее не составило труда. Исходные данные по продажам Стива показаны на рис. 7.24. Рис. 7.24. Данные о продажах Стива Примечание Рабочая книга с этим примером называется FunnelSalesConversion.xlsx и располагается на сайте с сопроводительными файлами. Для создания воронки выделите любую ячейку в таблице, после чего на вкладке Вставка (Insert) нажмите на кнопку Рекомендуемые диаграммы (Recommended Charts) и выберите вариант Воронка (Clustered Column) для вставки нужной нам диаграммы. Измените заголовок диаграммы на более подходящий. Визуализация должна иметь вид, показанный на рис. 7.25. Глава 7 Визуализация сравнения показателей эффективности 235 Рис. 7.25. Исходный вид воронки В отличие от линейчатой диаграммы, в воронке используется один ряд данных, а значит, и цвет один. Чтобы как-то раскрасить диаграмму, щелкните мышью по верхнему столбцу, выделяя весь ряд данных. После этого еще раз щелкните по верхнему столбцу – в результате будет выделен только он. В контекстном меню вы можете выбрать пункт Формат точки данных (Format Data Point), после чего справа откроется одноименная панель, на которой вы можете менять цвета столбиков по отдельности. На рис. 7.26 видно, что остальные столбики при этом приобретают светлый тон. Выделите отдельно каждый столбец и поменяйте его цвет. Итоговый вид воронки представлен на рис. 7.27. Рис. 7.26. Неактивные столбики окрашиваются в светлый тон 236 Часть III Рассказываем историю с помощью визуализации Рис. 7.27. Добавление цветов на воронку Совет После открытия панель Формат точки данных останется видимой вплоть до ее закрытия вручную. При выборе других элементов она будет показывать параметры для них. По диаграмме видно, что у Стива нет проблем с закрытием сделок, а самый большой спад происходит на этапе перехода от стадии Qualified к стадии Quoted. Возможно, ему необходимо научиться лучше добиваться от потенциальных покупателей ответа на предложение. Для проверки своей гипотезы вы построили аналогичную диаграмму по всем продавцам за тот же период времени. На рис. 7.28 представлены обе воронки вместе. Рис. 7.28. Воронки для Стива и всех продавцов вместе Ваша догадка подтвердилась. В целом по компании между стадиями Qualified и Quoted такого сильного спада не наблюдается. Точечная диаграмма Точечные диаграммы (XY chart), иначе именуемые диаграммами рассеяния (scatter plot), используются для вывода на графике двух наборов данных с целью определения взаимосвязи между ними. При этом значения первого набора откладываются по горизонтальной оси, а второго – по вертикальной. Глава 7 Визуализация сравнения показателей эффективности 237 Если образовавшиеся в результате точки данных находятся вблизи от линии тренда (trend line), принято говорить, что наборы взаимосвязаны, то есть коррелируют между собой. На рис. 7.29 показана точечная диаграмма с линией тренда, построенная на основании случайных наборов данных. Поскольку значения распределены случайным образом, трудно было ожидать, что они будут находиться недалеко от этой линии. Рис. 7.29. Точечная диаграмма, построенная на основе случайных чисел Точечные диаграммы во многом напоминают обычные графики. Для обоих видов визуализации можно показывать линии, маркеры или и то, и другое. Ключевым отличием между этими типами диаграмм является характер оси категорий. Если на точечной диаграмме ось категорий является числовой и дистанция между точками по этой оси пропорциональна разнице соответствующих значений, то на графике ось категорий не представлена числами. Если у вас на оси представлены числовые категории, они будут распределены по оси равномерно, вне зависимости от значений. На рис. 7.30 показаны точечная диаграмма и график, построенные на основании одних и тех же данных. На обоих элементах визуализации выведены как линии, так и маркеры. Рис. 7.30. Точечная диаграмма (слева) в сравнении с графиком (справа) 238 Часть III Рассказываем историю с помощью визуализации На точечной диаграмме вторая и третья точки данных располагаются рядом, тогда как на графике значения на оси распределены равномерно. Для графика данные на оси категорий – это всего лишь метки. Тот факт, что точки данных представляют собой числа, в случае с графиком не имеет значения. Кроме того, точечная диаграмма использует горизонтальные и вертикальные линии сетки в качестве опорных, тогда как график привязывается только к горизонтальным линиям. Практический пример: температура и продажи Ваш магазин прохладительных напитков специализируется на продаже смузи на основе соков и десертов. Вы выдвинули предположение о том, что продажи напитков падают при понижении температуры воздуха, и для подтверждения своей теории решили построить график зависимости количества проданных единиц продукции от температуры окружающей среды. Для этого вы замеряли среднесуточную температуру воздуха на протяжении всего апреля и параллельно фиксировали дневную продажу напитков. Фрагмент собранных данных показан на рис. 7.31. Рис. 7.31. Среднесуточная температура и продажи прохладительных напитков Примечание Рабочая книга с этим примером называется XYTemperatureSales.xlsx и располагается на сайте с сопроводительными файлами. Для построения точечной диаграммы выполните следующие действия. 1.Выделите диапазон B1:C31 и на вкладке Вставка (Insert) нажмите на кнопку Рекомендуемые диаграммы (Recommended Charts). 2. Выберите тип диаграммы Точечная (Scatter). 3.Выделите горизонтальную ось, откройте из контекстного меню панель Формат оси (Format Axis) и в поле Минимум (Minimum) введите значение 20. 4.Для вертикальной оси сделайте то же самое. Это позволит избавиться от лишнего пустого пространства на диаграмме. Глава 7 Визуализация сравнения показателей эффективности 239 5.Щелкните правой кнопкой мыши на любой точке данных и выберите пункт Добавить линию тренда (Add Trendline). 6.На вкладке Конструктор диаграмм (Chart Design) нажмите на кнопку Добавить элемент диаграммы (Add Chart Elements) и в выпадающем меню Названия осей (Axis Titles) выберите пункт Основная горизонтальная (Primary Horizontal) для добавления заголовка оси. Измените текст этого заголовка на Temperature. Совет Точечная диаграмма является одной из немногих разновидностей диаграмм, где совсем не обязательно, чтобы оси начинались с нуля. На рис. 7.32 показан окончательный вид точечной диаграммы. Рис. 7.32. Точечная диаграмма по температуре и объемам продаж Сравните эту диаграмму с той, что была показана на рис. 7.29 (построенной на основе случайных значений). Точки данных на рис. 7.32 не так далеко отстоят от линии тренда. Это означает, что температура воздуха и объемы продаж действительно связаны между собой. Но это не обязательно должно означать, что более низкие температуры неизбежно приведут к снижению объемов продаж. Чтобы получить еще немного информации из исходных данных, вы решили проверить зависимость от температуры объемов продаж смузи на основе соков и на основе десертов отдельно. Для этого вы разбили столбец с продажами на два, как показано на рис. 7.33. Выполните следующие действия, чтобы построить точечную диаграмму на основе измененных данных. 1.Выделите диапазон B1:D31 и на вкладке Вставка (Insert) нажмите на кнопку Рекомендуемые диаграммы (Recommended Charts). 2. Выберите тип диаграммы Точечная (Scatter). 3.Выделите горизонтальную ось, откройте из контекстного меню панель Формат оси (Format Axis) и в поле Минимум (Minimum) введите значение 20. Для вертикальной оси в поле Минимум оставьте нулевое значение. Powered by TCPDF (www.tcpdf.org) 240 Часть III Рассказываем историю с помощью визуализации 4.Щелкните правой кнопкой мыши на точке данных из ряда Juice и выберите пункт Добавить линию тренда (Add Trendline). Сделайте то же самое для ряда Dessert. 5.На вкладке Конструктор диаграмм (Chart Design) нажмите на кнопку Добавить элемент диаграммы (Add Chart Elements) и в выпадающем меню Названия осей (Axis Titles) выберите пункт Основная горизонтальная (Primary Horizontal) для добавления заголовка оси. Измените текст этого заголовка на Temperature. 6.Измените заголовок оси. На рис. 7.34 показан внешний вид получившейся диаграммы. Рис. 7.33. Исходные данные с раздельными продажами Рис. 7.34. График зависимости продаж смузи двух типов от температуры воздуха Судя по линиям трендов, продажи смузи на основе соков практически не зависят от температуры окружающей среды, чего не скажешь о смузи на основе десертов. В результате вы пришли к выводу о том, чтобы на последние необходимо делать скидку в прохладную погоду. Глава 7 Визуализация сравнения показателей эффективности 241 Пузырьковая диаграмма Пузырьковая диаграмма (bubble chart) представляет собой разновидность точечной диаграммы с дополнительным измерением. Для отражения значений этого измерения мы будем менять размер точек данных на точечной диаграмме, что сделает их похожими на пузыри. На рис. 7.35 показан пример пузырьковой диаграммы. Первые два измерения X и Y отложены по горизонтальной и вертикальной осям точно так же, как в случае с точечной диаграммой. В то же время третье измерение Z отображается при помощи размера каждой точки данных пропорционально значениям. Рис. 7.35. Пузырьковая диаграмма Лучше всего значения измерения Z на пузырьковой диаграмме соотносить не с диаметром точек, а с занимаемой ими площадью. Пользователям будет легче визуально определить двукратную разницу в показателях, если площадь одного пузыря будет вдвое больше площади другого. Площадь круга пропорциональна квадрату радиуса. Таким образом, если манипулировать не площадью пузырей, а их диаметром, двукратное увеличение значения приведет к четырехкратному увеличению площади соответствующей точки данных. Для отрицательных значений в третьем измерении Excel отображает пузыри пропорционального размера значениям по модулю, но закрашивает их другим цветом, обычно белым. Также вы можете вовсе не показывать отрицательные значения на пузырьковой диаграмме. Практический пример: ипотека Ваш банк занимается ипотечным кредитованием. В прошлом вы построили для себя точечную диаграмму, на которой выводились количество выданных кредитов и средняя стоимость по филиалам. Теперь руководство банка решило узнать, как идут дела с выплатой кредитов. Вы добавили третье 242 Часть III Рассказываем историю с помощью визуализации измерение, отражающее количество ипотечных кредитов, с выплатами по которым нет никаких проблем. В результате вы получили исходные данные для диаграммы, показанные на рис. 7.36. Рис. 7.36. Данные по ипотечным кредитам Примечание Рабочая книга с этим примером называется BubbleHomeMortgages.xlsx и располагается на сайте с сопроводительными файлами. Для создания пузырьковой диаграммы выполните следующие действия. 1.Выделите диапазон для создания диаграммы. Сначала выделите диапазон B2:C5, после чего с зажатой клавишей Ctrl добавьте к выделению диапазон E2:E5. 2.На вкладке Вставка (Insert) нажмите на кнопку Рекомендуемые диаграммы (Recommended Charts). В разделе Все диаграммы (All Charts) выберите вариант Точечная (XY (Scatter)) и в правой части окна укажите вид диаграммы Пузырьковая (Bubble). Выберите пример с четырьмя пузырьками. Нажмите на кнопку OK, чтобы вставить диаграмму на рабочий лист. 3.Щелкните правой кнопкой мыши на одном из пузырьков и выберите пункт Добавить подписи данных (Add Data Labels). Excel сделает предположение о том, что вы хотите отобразить значение, расположенное на оси Y. 4.Щелкните правой кнопкой мыши на одной из подписей данных и выберите пункт Формат подписей данных (Format Data Labels), что приведет к открытию одноименной панели справа. 5.На вкладке Параметры подписи (Label Options) откройте раздел с таким же названием и установите флажок Значения из ячеек (Value From Cells). На рис. 7.37 показано диалоговое окно Диапазон меток данных (Data Label Range), которое будет отображено. Выделите диапазон, содержащий названия филиалов, и нажмите на кнопку OK. 6.Снимите флажок Значения Y (Y Value) на панели Формат подписей данных. 7.Установите переключатель Положение подписи (Label Position) в позицию В центре (Center). 8.На вкладке Параметры текста (Text Options) панели Формат подписей данных выберите более темный оттенок для подписей, чтобы они выделялись на фоне пузырей. Глава 7 Визуализация сравнения показателей эффективности 243 Рис. 7.37. Добавление названий филиалов на подписи данных 9. Измените заголовок диаграммы на более подходящий. 10.На вкладке Конструктор диаграмм (Chart Design) нажмите на кнопку Добавить элемент диаграммы (Add Chart Element) и установите названия для горизонтальной и вертикальной осей. 11.Выделите обе оси и введите более подходящие для них заголовки. На рис. 7.38 показан итоговый вид диаграммы. Несмотря на лидерство филиала Southeast по количеству выданных кредитов, относительно небольшой диаметр их пузыря на диаграмме может говорить о том, что они зачастую выбирают не самых платежеспособных клиентов. Рис. 7.38. Ипотечные кредиты по филиалам 244 Часть III Рассказываем историю с помощью визуализации Точечная гистограмма Точечные гистограммы (dot plot) используются для подсчета количества элементов или вхождений в разрезе категорий. В своей простейшей форме такие виды диаграмм содержат по одной точке для каждого исследуемого элемента. На рис. 7.39 показан пример точечной гистограммы, отображающей количество наблюдений за птицами разных видов. Каждое новое наблюдение за конкретным видом приведет к добавлению точки в определенный столбик. Рис. 7.39. Точечная гистограмма, отражающая наблюдение за птицами Очень важно стараться держать под контролем количество отображаемых точек на диаграмме, чтобы не перегружать визуализацию и точки не наезжали друг на друга. Если у вас слишком много наблюдений для вывода на графике, лучше дополнительно сгруппировать их, чтобы каждая точка представляла больше одного элемента. Простые точечные гистограммы сами по себе не предоставляют новой информации по сравнению с традиционными гистограммами. Но вы можете комбинировать точечные гистограммы для демонстрации того, как меняются исследования по одной из переменных, например по времени, и сравнения изменений с другими категориями. Это позволит увидеть, как именно распределяются данные по этой переменной. Практический пример: объемы производства Вы сгруппировали сотрудников производственного отдела завода по стажу работы. В результате получилось четыре группы: со стажем менее года, от одного года до трех лет, от трех до пяти и свыше пяти лет. И вам необходимо узнать, сколько продукции в час в среднем производят сотрудники этих групп. Примечание Рабочая книга с этим примером называется DotPlotProductionOutput.xlsx и располагается на сайте с сопроводительными файлами. Глава 7 Визуализация сравнения показателей эффективности 245 В галерее диаграмм Excel не присутствует готовый шаблон для точечной гистограммы, и нам придется создавать эту визуализацию самостоятельно. Нам понадобится пройти три этапа подготовки исходных данных, чтобы привести их к виду, пригодному для вывода на графике. В этом примере мы создадим четыре разные диаграммы. Фрагмент сырых данных показан на рис. 7.40. Здесь мы видим столбец Tenure, в котором хранится стаж, столбец Units с количеством произведенных единиц продукции и колонку Count, в которой указано, сколько раз такой объем продукции выпустил сотрудник, принадлежащий этой группе. Рис. 7.40. Исходные данные по объемам производства Первым делом при планировании точечной гистограммы необходимо искусственно создать ряд данных для оси категорий. Поскольку максимально в час производится не более восьми единиц продукции, давайте создадим диапазон со значениями от одного до восьми и нулевыми ячейками под ними, как показано на рис. 7.41. Рис. 7.41. Ряд данных для оси категорий Для всех четырех графиков нам нужно создать массивы значений по осям X и Y. Под созданным на предыдущем шаге диапазоном заполните еще один диапазон с таким же количеством столбцов и достаточным количеством строк. В нашем примере наибольшее количество наблюдений составило десять, так что вы можете добавить пару строк на будущее и остановиться на 246 Часть III Рассказываем историю с помощью визуализации 12 строках. В левой верхней ячейке диапазона введите формулу =G$1 и протяните ее до последней строки. Аналогично заполните остальные столбцы в диапазоне. На рис. 7.42 показан наш диапазон для оси категорий, а ниже диапазон значений для оси X. Рис. 7.42. Подготовка значений для оси X Эти значения мы будем использовать для всех четырех графиков. Значения для оси Y будут отличаться для каждого графика. Создайте диапазон значений оси Y для первой диаграммы непосредственно под диапазоном для оси X, оставив между ними как минимум одну строку. В левую верхнюю ячейку диапазона введите следующую формулу: =G17+МИН(СМЕЩ($C$2;СТОЛБЕЦ()-7;0)-G17;1) =G17+MIN(OFFSET($C$2,COLUMN()-7,0)-G17,1) Протяните ее вниз и на все восемь столбцов. Формула начинается с ячейки, располагающейся выше, и добавляет единицу до тех пор, пока не будет достигнуто общее количество по этому столбцу. Дальше просто идут повторы этого значения. Excel отобразит все дублирующиеся значения в виде точек, но они будут перекрывать друг друга, а значит, будут выглядеть как одна точка. На рис. 7.43 показаны значения оси Y для первой диаграммы. Перед созданием значений оси Y для остальных диаграмм давайте построим первый график, чтобы убедиться, что все выводится так, как мы хотим. При создании множества диаграмм вам достаточно настроить формат одной из них, а затем отформатировать остальные по аналогии. Для создания графика выделите диапазон оси категорий (G1:N2) и на вкладке Вставка (Insert) нажмите на кнопку Рекомендуемые диаграммы (Recommended Charts) и выберите вариант Гистограмма с группировкой (Clustered Column). Должна появиться диаграмма, показанная на рис. 7.44. Теперь добавим ряд данных на диаграмму. Для этого щелкните правой кнопкой мыши по диаграмме и выберите пункт Выбрать данные (Select Глава 7 Визуализация сравнения показателей эффективности 247 Data). В данный момент диаграмма содержит один ряд, и нам нужно добавить еще восемь. Нажмите на кнопку Добавить (Add) для открытия диалогового окна Изменение ряда (Edit Series). В поле Имя ряда (Series name) выберите левую верхнюю ячейку диапазона оси категорий (в нашем примере это ячейка G1), а в поле Значения (Series value) оставьте ={1}. Нажмите на кнопку OK для закрытия диалогового окна Изменение ряда, а затем закройте окно Выбор источника данных (Select Data Source). На этом этапе ваша диаграмма должна приобрести вид, показанный на рис. 7.45. Рис. 7.43. Значения для оси Y Рис. 7.44. Заготовка гистограммы 248 Часть III Рассказываем историю с помощью визуализации Рис. 7.45. Добавление рядов данных Добавленный вами ряд имеет столбчатый вид, а нам нужно, чтобы он был точечным (XY Scatter). Щелкните правой кнопкой мыши по столбику на диаграмме и выберите пункт Изменить тип диаграммы для ряда (Change Series Chart Type). В выпадающем списке для ряда с именем 1 выберите тип диаграммы Точечная (Scatter) без линий, как показано на рис. 7.46. Рис. 7.46. Изменение типа диаграммы для ряда данных Теперь, после изменения типа ряда, в диалоговом окне Изменение ряда (Edit Series) вам будет предоставлено больше возможностей для настройки. Глава 7 Визуализация сравнения показателей эффективности 249 Щелкните правой кнопкой мыши по диаграмме и выберите пункт Выбрать данные (Select Data). Выберите ряд по имени 1 и нажмите на кнопку Изменить (Edit). Заполните поля в диалоговом окне Изменение ряда (Edit Series) так, как показано на рис. 7.47. В поле Значения X (Series X values) укажите диапазон значений для оси X, а в поле Значения Y (Series Y values) – для оси Y. Закройте диалоговое окно, нажав на кнопку OK. На диаграмме появится новый ряд данных в виде точки на нулевой отметке. Фактически это не одна точка, а 12, расположенных поверх друг друга. Для добавления следующего ряда щелкните правой кнопкой мыши по диаграмме и снова выберите пункт Выбрать данные (Select Data). Excel догадается о том, что на этот раз вы хотите добавить ряд точечного типа, так что менять тип графика вам больше не придется. Заполните поля в диалоговом окне Изменение ряда (Edit Series) для второго ряда, как показано на рис. 7.48. Рис. 7.47. Установка значений для осей X и Y Рис. 7.48. Установка значений осей X и Y для очередного ряда Повторите эти шаги для добавления оставшихся шести рядов данных – каждого в своем столбце. Вам не нужно каждый раз закрывать диалоговое окно Выбрать данные. Просто нажимайте на кнопку Добавить (Add) для 250 Часть III Рассказываем историю с помощью визуализации вставки нового ряда. После добавления всех восьми рядов точечного типа ваша диаграмма должна выглядеть так, как показано на рис. 7.49. Рис. 7.49. Все ряды данных добавлены на диаграмму Выполните следующие шаги для завершения форматирования диаграммы. После этого вам останется скопировать диаграммы несколько раз, чтобы все форматирование сохранилось. 1.Выделите заголовок диаграммы и нажмите на клавишу Delete, чтобы удалить его. 2.Щелкните правой кнопкой мыши по первому ряду и выберите пункт Формат ряда данных (Format Data Series), после чего откроется одноименная панель в правой части окна. Измените цвет заливки и границ на черный. 3. Измените цвет заливки и границ для оставшихся рядов данных. 4.Выделите вертикальную ось и на вкладке Параметры оси (Axis Options) установите значение поля Минимум (Minimum) в 1.0, чтобы скрыть нулевые значения. 5.Нажмите на кнопку Элементы диаграммы (Chart Elements), откройте выпадающее меню Названия осей (Axes Titles) и установите флажок Основные вертикальные (Primary Vertical), как показано на рис. 7.50. 6.Выделите название оси, которое вы только что добавили, в строке формул Excel введите знак равенства и в исходных данных выделите ячейку, в которой содержится указание стажа <1 yr, у нас это ячейка A2. 7. Уменьшите высоту диаграммы до желаемой. После завершения форматирования ваша диаграмма будет выглядеть так, как показано на рис. 7.51. Глава 7 Визуализация сравнения показателей эффективности 251 Рис. 7.50. Добавление подписи на ось Рис. 7.51. Диаграмма с форматированием Теперь, когда график для первой категории готов, вы можете создать три его копии. Выделите график и нажмите сочетание клавиш Ctrl+C, чтобы скопировать его. Теперь встаньте в любую ячейку на рабочем листе и нажмите сочетание клавиш Ctrl+V, чтобы вставить диаграмму. Сделайте это еще дважды, чтобы в результате у вас получилось четыре одинаковые диаграммы, как показано на рис. 7.52. Совет При копировании диаграмм не нажимайте сочетание клавиш Ctrl+V, пока диаграмма выделена. В этом случае Excel будет добавлять ряды на существующий график, а не вставлять новый. 252 Часть III Рассказываем историю с помощью визуализации Рис. 7.52. Четыре диаграммы, расположенные вертикально Создайте три диапазона значений для трех новых диаграмм. С этой целью под диапазоном со значениями оси Y для первой диаграммы введите следующую формулу: =G30+МИН(СМЕЩ($C$10;СТОЛБЕЦ()-7;0)-G30;1) =G30+MIN(OFFSET($C$10,COLUMN()-7,0)-G30,1) Растяните эту формулу на 12 строк вниз и на восемь столбцов вправо. Таким образом создайте четыре диапазона для осей Y. Формулы будут немного отличаться, поскольку значения в исходных данных начинаются в разных ячейках. Вид рабочего листа с уменьшенным масштабом показан на рис. 7.53. Здесь вы видите диапазон для оси категорий в ячейках G1:N2, диапазон значений для оси X для всех четырех графиков, а также четыре раздельных диапазона значений для оси Y для каждой диаграммы. Глава 7 Визуализация сравнения показателей эффективности 253 Рис. 7.53. Вид рабочего листа с уменьшенным масштабом Измените ряды данных в созданных с помощью копирования диаграммах. Для этого щелкните правой кнопкой мыши по второй диаграмме на листе и выберите пункт Выбрать данные (Select Data). Для каждого ряда данных, за исключением категорий, нажмите на кнопку Изменить (Edit) и поменяйте диапазон в поле Значения Y, чтобы график обращался к корректным данным. Закройте диалоговое окно Выбрать данные при помощи кнопки OK пос­ ле изменения всех рядов данных. Выделите заголовки вертикальных осей на диаграммах и в строке формул укажите правильные ячейки. Наконец, добавьте заголовок только на первую диаграмму. Для этого нажмите на кнопку Элементы диаграммы (Chart Elements) и установите флажок Название диаграммы (Chart Title). Измените размер первой диаграммы таким образом, чтобы область построения была одного размера с остальными диаграммами. Итоговый вид всех четырех графиков показан на рис. 7.54. 254 Часть III Рассказываем историю с помощью визуализации Рис. 7.54. Четыре точечные гистограммы По представленной визуализации можно сделать вывод, что производительность труда сотрудников растет первые три года работы на заводе, после чего наблюдается фаза стагнации. ГЛАВА 8 Визуализация частей от целого В этой главе: круговая диаграмма; кольцевая диаграмма; вафельная диаграмма; диаграмма солнечные лучи; гистограммы; диаграмма дерево; каскадная диаграмма. Типы диаграмм, описываемые в данной главе, используются для демонстрации того, как целое разбивается на части, какие между частями целого прослеживаются закономерности и какое совокупное воздействие части оказывают на целое. Выбор конкретного типа диаграммы, как и всегда, за вами, и зависит он от вашей задачи, истории, которую вы хотите рассказать, и имеющегося на вашем дашборде свободного пространства. Круговая диаграмма Классической диаграммой, показывающей разделение целого на части, является круговая диаграмма (pie chart). В наше время круговая диаграмма подвержена серьезным гонениям, в частности за то, что зачастую разработчики размещают на ней слишком большое количество элементов или делают ее трехмерной. Однако при правильном использовании круговая диаграмма остается довольно мощным инструментом визуализации. На рис. 8.1 показан пример круговой диаграммы. Примечание Все примеры, обсуждаемые в данной главе, собраны в сопроводительных файлах. Указания на конкретные файлы будут даны в относящихся к ним примерах. Если вам нужно донести до пользователя мысль о том, что категория, представленная синим цветом, занимает половину всего объема на графике, круговая диаграмма, показанная на рис. 8.1, подойдет как нельзя лучше. Чтобы круговая диаграмма демонстрировала свою эффективность, необходимо раз- 256 Часть III Рассказываем историю с помощью визуализации мещать на ней строго ограниченное количество элементов. Шесть частей – это предел того, на что лично я мог бы пойти применительно к этому виду визуализации. К тому же желательно, чтобы наиболее важные категории на диаграмме располагались на 3, 6 и 9 часов, если проводить аналогию с циферблатом. Рис. 8.1. Круговая диаграмма Вполне оправданным аргументом против использования круговых диаграмм является то, что на них бывает проблематично расположить подписи данных. Если у вас на диаграмме много секторов или некоторые из них довольно малы, вам действительно может быть трудно разместить метки неподалеку от соответствующих данных. Вы могли бы прибегнуть к помощи линий выноски или разместить подписи в области легенды, что затруднит пользователю задачу ассоциирования меток с соответствующими им секторами. Если вам необходимо проанализировать достаточно много точек данных, круговая диаграмма по-прежнему может быть одним из вариантов визуализации. Распространенной практикой является объединение элементов с низкими долями в единую категорию с названием «Другие» с целью уменьшения общего количества секторов на диаграмме. На рис. 8.2 показаны две круговые диаграммы. Слева выведены все элементы на диаграмме, а справа мелкие составляющие объединены вместе. Рис. 8.2. Группирование мелких частей воедино Глава 8 Визуализация частей от целого 257 Остальные типы диаграмм из этой главы можно применять с целью устранения недостатков, присущих круговой диаграмме. Кольцевая диаграмма Кольцевая диаграмма (doughnut chart) представляет собой круговую диаграмму с удаленной сердцевиной. Если вы считаете, что человеку действительно с трудом дается визуальная оценка площадей и углов на графиках, кольцевая диаграмма придет вам на помощь, поскольку за счет удаленной внутренней части сектора, по сути, превращаются в искривленные столбики. Лично я не вижу особых преимуществ кольцевой диаграммы над круговой и применяю для обоих типов визуализации одинаковые правила в виде ограничения на количество выводимых значений и избегания мелких сегментов. В то же время свободное пространство в центре кольцевой диаграммы вполне можно использовать для дополнительных нужд. К примеру, вы можете вписать название диаграммы в центр окружности для экономии места или разместить какие-то подписи данных на внутренней части диаграммы, а какие-то – на внешней. На рис. 8.3 показана кольцевая диаграмма с заголовком и частью подписей, расположенными внутри кольца. Рис. 8.3. Размещение текста внутри кольцевой диаграммы При выборе используемого типа диаграммы отталкивайтесь от истории, которую вы стремитесь рассказать при помощи данных. Если ваша цель – продемонстрировать, как точки данных соотносятся друг с другом, лучшим выбором будет столбчатая или линейчатая диаграмма. А если вы хотите акцентировать внимание на том, какую долю одна категория занимает относительно всего объема данных, кольцевая диаграмма сработает лучше. 258 Часть III Рассказываем историю с помощью визуализации Практический пример: продажи по регионам Ваша компания продает товары в четырех регионах Соединенных Штатов. Вы хотите узнать, как доли от общих продаж распределяются по регионам. На рис. 8.4 показаны исходные данные по продажам. Рис. 8.4. Суммы продаж в долларах по регионам США Примечание Рабочая книга с этим примером называется DoughnutSalesbyRegion.xlsx и располагается на сайте с сопроводительными файлами. Для создания кольцевой диаграммы следуйте приведенному ниже алгоритму. 1.Выделите данные и на вкладке Вставка (Insert) нажмите на кнопку Рекомендуемые диаграммы (Recommended Charts). 2.Переключитесь в открывшемся диалоговом окне Вставка диаграммы (Insert Chart) на вкладку Все диаграммы (All Charts). 3. Выберите в списке слева тип диаграммы Круговая (Pie). 4.Справа выберите вид Кольцевая (Doughnut) и нажмите на кнопку OK. На рис. 8.5 показано диалоговое окно Вставка диаграммы. 5.Нажмите на кнопку Стили диаграмм (Chart Styles) и выберите понравившийся вам стиль. Мы выбрали Стиль 5 (Style 5), именно в таком виде диаграмма показана на рис. 8.6. 6. Измените заголовок диаграммы на Sales by Region. 7.Щелкните правой кнопкой мыши по диаграмме и выберите пункт Добавить подписи данных (Add Data Labels). 8.Щелкните правой кнопкой мыши по любой подписи данных и выберите пункт Формат подписей данных (Format Data Labels), после чего справа появится одноименная панель. 9.На вкладке панели Параметры подписи (Label Options) установите флажки Имя категории (Category Name) и Доли (Percentage) и снимите флажок Значение (Value). 10.На вкладке Параметры текста (Text Options) установите для подписей один из светлых тонов, чтобы они выделялись на фоне диаграммы. 11.Не снимая выделения с подписей данных, нажмите на кнопку Полужирный (Bold) на вкладке Главная (Home). 12. Выделите легенду и нажмите на клавишу Delete. Глава 8 Визуализация частей от целого 259 Рис. 8.5. Диалоговое окно Вставка диаграммы Рис. 8.6. Встроенная в диаграмму кнопка Стили диаграмм 13.Щелкните правой кнопкой мыши по диаграмме, выберите пункт Формат ряда данных (Format Data Series) и на открывшейся справа панели уменьшите значение поля Диаметр отверстия (Doughnut Hole Size), чтобы подписи данных комфортно располагались внутри точек данных. Powered by TCPDF (www.tcpdf.org) 260 Часть III Рассказываем историю с помощью визуализации На рис. 8.7 показан итоговый вид кольцевой диаграммы, по которой можно легко определить доли продаж по регионам в сравнении с общими продажами. Рис. 8.7. Кольцевая диаграмма по продажам в регионах Вафельная диаграмма Вафельная диаграмма (waffle chart) состоит из прямоугольных блоков, объединенных в сетку. При этом точки данных представлены путем закрашивания цветом определенного количества блоков – либо в процентном, либо в абсолютном выражении. Некоторые предпочитают вафельные диаграммы радиальным, поскольку прямоугольные блоки сравнивать друг с другом легче, чем сектора. Пример вафельной диаграммы приведен на рис. 8.8. Обычно вафельные диаграммы используют для демонстрации одной точки данных в отношении к целому. Такие диаграммы, пример которой приведен на рис. 8.8, составляются из 100 равных по размеру блоков. При этом точка данных переводится в проценты, и именно такой процент блоков закрашивается цветом. Также можно применять вафельные диаграммы для представления абсолютных значений, а не относительных. На диаграмме, показанной на рис. 8.9, представлены 632 розничных магазина при автозаправочных станциях. Точками данных отмечены виды топлива, которые предлагаются на соответствующих АЗС. Вафельная диаграмма обладает одним недостатком, характерным и для гистограммы с накоплением. Точки данных на ней бывает затруднительно сравнить между собой из-за того, что они могут начинаться не с одного места. В то же время для сравнения одной точки данных с целым этот тип диаграммы подходит отлично. Глава 8 Визуализация частей от целого 261 Рис. 8.9. Розничные магазины на АЗС по типам топлива Рис. 8.8. Вафельная диаграмма Практический пример: привилегии для сотрудников В отделе кадров заинтересовались вопросом о том, какими льготами и привилегиями пользуются сотрудники компании. Они предоставили вам сводные данные, показанные на рис. 8.10, с количеством сотрудников, пользующихся каждым видом привилегии, и общей численностью персонала. Вы решили визуализировать данные при помощи вафельной диаграммы по каждой из предоставляемых льгот и разместить их рядом. Примечание Рабочая книга с этим примером называется WaffleEmployeeBenefits.xlsx и располагается на сайте с сопроводительными файлами. Рис. 8.10. Исходные данные о льготах для сотрудников1 Для создания вафельной диаграммы выполните следующие действия. 1.Добавьте в таблицу колонку для расчета процента сотрудников, пользующихся определенной привилегией. Формула для этого столбца: =ОКРУГЛВВЕРХ([@Count]/$B$6;2) =ROUNDUP([@Count]/$B$6,2) 1 Health – медицинские услуги, Dental – услуги стоматолога, 401k – накопительный пенсионный счет, Gym Membership – спортзал, Total – итого. – Прим. перев. 262 Часть III Рассказываем историю с помощью визуализации 2.Выделите колонки в диапазоне E:AU и установите их ширину равной 20 пикселям. 3. В ячейке E10 введите следующую формулу: =ОКРУГЛ(N11+0.01;2) =ROUND(N11+0.01,2) 4. В ячейке F10 введите следующую формулу: =ОКРУГЛ(E10+0.01;2) =ROUND(E10+0.01,2) Протяните эту формулу вправо на девять колонок – до столбца N. 5.Протяните формулы в ячейках E10:N10 вниз для создания квадрата размерностью 10×10, показанного на рис. 8.11. Рис. 8.11. Квадрат 10×10 с формулами 6.Измените цвет шрифта в ячейках E10:N10, нажав на кнопку Цвет шрифта (Font Color) в группе Шрифт (Font) на вкладке Главная (Home). 7.Установите темно-синий цвет для границ ячеек. Для этого выделите их и в той же группе Шрифт (Font) на вкладке Главная (Home) в выпадающей кнопке Границы (Borders) выберите пункт Другие границы (More Borders). В выпадающем списке Цвет (Color) выберите темно-синий и нажмите на кнопки Внешние (Outline) и Внутренние (Inside). На рис. 8.12 показана вкладка Граница (Border) диалогового окна Формат ячеек (Format Cells). Глава 8 Визуализация частей от целого 263 Рис. 8.12. Установка темно-синих границ ячеек 8.На вкладке Главная (Home) нажмите на выпадающую кнопку Условное форматирование (Conditional Formatting) и выберите пункт Создать правило (New Formatting Rule). 9.В списке Выберите тип правила (Select A Rule Type) отметьте пункт Форматировать только ячейки, которые содержат (Format Only Cells That Contain). 10.Выберите в выпадающих списках в секции Измените описание правила (Edit The Rule Description) варианты Значение ячейки (Cell Va­ lue), Меньше или равно (Less Than Or Equal To) и введите в правое поле формулу =$C$2. 11.Нажмите на кнопку Формат (Format) и установите заливку темносинего цвета, такого же цвета шрифт, а левую и нижнюю границу покрасьте в белый цвет. Нажмите на кнопку OK. Диалоговое окно Создание правила форматирования (New Formatting Rule) показано на рис. 8.13, а сама диаграмма – на рис. 8.14. 12.Скопируйте таблицу размерностью 10×10 и вставьте в ячейку P10 для создания второй диаграммы. 13.С выделенным диапазоном ячеек P10:Y10 на вкладке Главная (Home) нажмите на выпадающую кнопку Условное форматирование (Conditional Formatting) и выберите пункт Управление правилами (Manage Rules). Настройте правило таким образом, чтобы оно указывало на ячейку =$C$3. На рис. 8.15 показаны две диаграммы. 264 Часть III Рассказываем историю с помощью визуализации Рис. 8.13. Создание правила условного форматирования Рис. 8.14. Условно отформатированный диапазон 14.Снова скопируйте диапазон 10×10 и вставьте в ячейки AA10 и AL10, попутно меняя правила условного форматирования, чтобы они указывали на нужные ячейки в исходной таблице. 15.Скройте линии сетки, переключившись на вкладку Вид (View) и сняв флажок Сетка (Gridlines). 16.Озаглавьте диаграммы. Для этого в ячейке E21 введите формулу =A2. Затем выделите ячейки E21:N21 и откройте диалоговое окно Формат ячеек (Format Cells), нажав сочетание клавиш Ctrl+1. Измените стиль шрифта на полужирный, размер сделайте 16, цвет темно-синий, а выравнивание по горизонтали установите По центру выделения (Center Across Selection). Глава 8 Визуализация частей от целого 265 Рис. 8.15. Первые две вафельные диаграммы 17.Повторите это действие для трех других диаграмм. На рис. 8.16 показаны все четыре диаграммы вместе. Рис. 8.16. Вафельные диаграммы по привилегиям сотрудников Исходя из этой визуализации, можно сделать вывод о том, что привилегией в виде абонемента в спортзал пользуются совсем немногие сотрудники. В отделе кадров могут задуматься о том, чтобы отказаться от предоставления этой льготы или постараться лучше донести до сотрудников ее ценность. Диаграмма солнечные лучи Диаграмма солнечные лучи (sunburst chart) состоит из двух и более концентрических кольцевых диаграмм. Внутренний слой представляет собой стандартную кольцевую диаграмму. Каждый новый внешний слой добавляет уровень детализации определенной точке данных на внутреннем слое. Используйте диаграмму солнечные лучи при наличии иерархических данных и необходимости показать, как дочерние элементы соотносятся с родительскими. На рис. 8.17 показан типичный пример диаграммы солнечные лучи. Поскольку в основе этого типа визуализации лежит кольцевая диаграмма, на него налагаются все те же ограничения в виде небольшого количества отображаемых элементов и избегания чрезмерно узких сегментов. При этом 266 Часть III Рассказываем историю с помощью визуализации на диаграмме солнечные лучи не все сектора внутреннего слоя обязательно должны иметь точки данных на внешнем слое. На рис. 8.18 показана диаграмма, на которой только одна внутренняя точка данных обладает вложенной иерархией. Это бывает полезно, когда вы хотите привлечь внимание пользователя к конкретной ветке иерархии. Рис. 8.17. Диаграмма солнечные лучи Рис. 8.18. Диаграмма солнечные лучи с неполной иерархией На рис. 8.19 показаны исходные данные, лежащие в основе диаграммы, представленной на рис. 8.18. Данные содержат лишь одну колонку со значениями (у нас это столбец C). Категории «a» соответствует значение 283. Категория «b» в свою очередь разбивается на несколько подкатегорий – от «bba» до «bbd» – со своими значениями. При этом вы можете прописать во всех пустых ячейках в первом столбце категорию «b», а можете не делать этого, как показано на рис. 8.19. Единственное условие состоит в том, что все указания на одну категорию должны следовать подряд. Это значит, что вы не Глава 8 Визуализация частей от целого 267 можете продолжить расписывать категорию «b» ниже категории «c» – в этом случае Excel примет ее за новую точку данных. Рис. 8.19. Исходные данные для диаграммы солнечные лучи Практический пример: анализ времени производственного процесса Производственный отдел провел исследование внутренних процессов на производстве с учетом временных интервалов. Вас попросили построить дашборд, показывающий отношения между процессами в виде иерархии. Результаты исследования были сведены в таблицу, показанную на рис. 8.20. Рис. 8.20. Результаты исследования производственного процесса Примечание Рабочая книга с этим примером называется SunburstProcessTimeStudy.xlsx и располагается на сайте с сопроводительными файлами. Диаграмма солнечные лучи входит в список элементов визуализации в стандартной поставке Excel, так что с ее построением не должно быть никаких проблем. Для создания этой диаграммы на вкладке Вставка (Insert) нажмите на кнопку Рекомендуемые диаграммы (Recommended Charts) и в разделе Все диаграммы (All Charts) выберите вариант Солнечные лучи (Sunburst). Если подписи к вашим данным достаточно длинные, читать диаграмму может быть затруднительно. Для каких-то точек данных Excel по умолчанию будет сокращать подпись, а некоторые точки может оставить без подписей вовсе. Чтобы все метки поместились на диаграмме, вы можете увеличить ее размер, как показано на рис. 8.21. 268 Часть III Рассказываем историю с помощью визуализации Рис. 8.21. Базовая диаграмма солнечные лучи в Excel К сожалению, Excel не позволяет производить тонкую настройку формата отображения подписей на диаграмме солнечные лучи. Вы можете определить, что именно показывать в подписях и как нужно отформатировать текст, но переместить метки данных и добавить линии выноски вы, увы, не сможете. Если вы поймете, что для комфортного размещения подписей вам придется значительно увеличить размер диаграммы, лучшим выбором будет просто сменить тип используемой визуализации. Гистограммы Гистограммы (histogram) визуально схожи со столбчатыми диаграммами. Разница состоит в том, что на столбчатой диаграмме вы отображаете две переменные – на оси категорий и на оси значений, – тогда как с помощью гистограммы мы анализируем одну непрерывную переменную (continuous variable). На рис. 8.22 показан пример гистограммы. Гистограмма строится на основе набора данных с одной непрерывной переменной, которая разбивается на интервалы (bin). В результате диаграмма демонстрирует, сколько точек данных из набора попадают в тот или иной интервал, представленный столбиком. На гистограмме, показанной Глава 8 Визуализация частей от целого 269 на рис. 8.22, Excel автоматически разбил наши данные на три отрезка. И мы видим, что из 20 исходных точек данных 12 попадают в интервал значений от 60 до 75, еще пять точек оказались в интервале от 75 до 90 и оставшиеся три – от 90 до 105. Рис. 8.22. Гистограмма На оси значений всегда откладывается количество точек данных, попавших в каждый столбик. Вы можете настроить ось категорий в отношении количества и длины интервалов. На рис. 8.23 показано содержимое вкладки Параметры оси (Axis Options) на панели Формат оси (Format Axis). Рис. 8.23. Панель Формат оси 270 Часть III Рассказываем историю с помощью визуализации Ниже приведено описание опций настройки на панели Формат оси (Format Axis): по категориям (By Category): по умолчанию Excel группирует числовые данные по интервалам и выводит суммарное значение для каждого интервала. Если ваши данные изначально разбиты по категориям, вы можете выбрать эту опцию, включив в выборку колонку с наименования­ ми интервалов. В этом случае Excel будет подсчитывать не количество вхождений точек данных в интервал, а сумму значений. На рис. 8.24 показан пример гистограммы, отформатированной по категориям; Рис. 8.24. Гистограмма, отформатированная по категориям авто (Automatic): в этом варианте Excel автоматически разобьет ваши данные на интервалы в соответствии с формулой, определяемой так называемым правилом Скотта. В числителе этой формулы находятся 3,5 стандартных отклонения выборки, а в знаменателе – кубический корень от количества элементов. К счастью для людей, незнакомых с математической статистикой, это значение вычисляется автоматически; длина интервала (Bin width): здесь вы можете самостоятельно задать длину диапазона каждого интервала. Количество столбиков будет определено на основе имеющихся данных и указанной длины интервала; количество интервалов (Number of bins): позволяет вручную задать количество интервалов. В этом случае расчетной величиной будет уже длина интервала; выход за верхнюю границу интервала (Overflow bin): позволяет включить в самый правый столбик все значения, превышающие заданное число. По умолчанию это значение составляет три стандартных отклонения; Глава 8 Визуализация частей от целого 271 выход за нижнюю границу интервала (Underflow bin): позволяет включить в самый левый столбик все значения меньше заданного. По умолчанию это значение также составляет три стандартных отклонения. Практический пример: средний чек в ресторане Менеджер ресторана захотела узнать, сколько в среднем посетители тратят денег в ее заведении и как распределяются чеки по суммам. Она любезно предоставила нам все чеки за месяц, фрагмент данных по которым показан на рис. 8.25. Вы выбрали гистограмму в качестве средства визуализации данных. Примечание Рабочая книга с этим примером называется HistogramRestaurant.xlsx и располагается на сайте с сопроводительными файлами. Для создания гистограммы выделите исходные данные и на вкладке Вставка (Insert) нажмите на кнопку Рекомендуемые диаграммы (Recommended Charts). В разделе Все диаграммы (All Charts) выберите вариант Гистограмма (Histogram). При этом вам необходимо выбрать данные только из столбца B. Мы собираемся анализировать лишь одну непрерывную переменную по суммам чеков, так что нам не нужны данные из столбца A. На рис. 8.26 показана исходная гистограмма с добавленным заголовком. Рис. 8.26. Гистограмма по чекам Рис. 8.25. Фрагмент списка чеков за месяц Как видно по графику, в большинстве случаев сумма чека посетителей укладывается в диапазон от 28,85 до 47,45 доллара. Но такие неровные числа достаточно сложно воспринимать, поэтому вы решили немного изменить 272 Часть III Рассказываем историю с помощью визуализации распределение столбиков. Щелкните правой кнопкой мыши по оси категорий и выберите пункт Формат оси (Format Axis) для открытия соответствую­ щей панели. На панели Формат оси (Format Axis) установите параметр Длина интервала (Bin width) равным 10, чтобы анализировать чеки с шагом в 10 долларов. Также установите флажки Выход за верхнюю границу интервала (Overflow bin) и Выход за нижнюю границу интервала (Underflow bin) и введите в соответствующие поля значения 80 и 30. Откройте секцию Число (Number) и обнулите число десятичных знаков. Итоговая гистограмма показана на рис. 8.27. Рис. 8.27. Гистограмма с пользовательскими интервалами Проанализировав предоставленную информацию, менеджер ресторана определила целевую сумму чека на уровне $42. И хотя сумма среднего чека превышает эту отметку, большая часть чеков содержит меньшую сумму. В качестве меры можно увеличить цены в ресторане или заменить некоторые дешевые блюда в меню более дорогими. Диаграмма дерево Диаграмма дерево (treemap) по логике очень похожа на солнечные лучи. Она также служит для отображения иерархических данных. Но если на диаграмме солнечные лучи иерархическая структура направлена от центра к внешним слоям элемента, то в дереве она показана при помощи вложенных друг в друга прямоугольных блоков. При этом большие блоки разбиваются на более мелкие. На рис. 8.28 показан пример диаграммы дерево. Древовидная диаграмма отлично подходит для определения соотношений между родительскими и дочерними точками данных в иерархической структуре. Она вряд ли может быть использована для сравнения элементов, находящихся на одном уровне, поскольку для этого лучше подойдет столбчатая Глава 8 Визуализация частей от целого 273 или линейчатая диаграмма, где категории расположены рядом и начинаются из одной точки. Рис. 8.28. Диаграмма дерево Формат исходных данных для диаграммы дерево идентичен варианту с солнечными лучами. Фактически для диаграммы, показанной на рис. 8.28, использовались те же данные, что и для визуализации с рис. 8.17. Некоторые верят в то, что человеку гораздо проще интерпретировать прямоугольные блоки, чем сектора. Вы можете посмотреть на указанные выше рисунки и сделать для себя вывод самостоятельно. Также эти виды диаграмм объединяет то, что иерархия в исходных данных может быть неполной. Это означает, что не все элементы на одном уровне обязательно должны иметь дочерние элементы. На рис. 8.29 показано дерево, в котором только у одного элемента первого уровня («b») есть потомки. Рис. 8.29. Диаграмма дерево с неполной иерархией У диаграммы дерево есть одна дополнительная опция отображения подпи­ сей по сравнению с солнечными лучами. Варианты этой опции, представлен- 274 Часть III Рассказываем историю с помощью визуализации ные ниже, можно найти на вкладке Параметры ряда (Series Options) панели Формат ряда данных (Format Data Series): нет (None): при наличии у элемента дочерних узлов его подпись данных не будет отображаться. Таким образом, на диаграмме будут показаны подписи только для концевых элементов; перекрытие (Overlapping): подпись родительского элемента будет выводиться в одном из дочерних. На диаграмме, показанной на рис. 8.29, в элементе «bbb» присутствует подпись для родительского узла «b»; баннер (Banner): подпись данных для родительских элементов будет отображаться в отдельной вывеске-баннере над всеми дочерними узлами. На рис. 8.30 видно, что подпись к элементу «b» вынесена в отдельный блок над дочерними точками данных. Рис. 8.30. Отображение подписей данных на баннерах Практический пример: виды страхования Ваша страховая компания хочет проанализировать все страховые полисы, выданные за последний год, разделив их по видам страхования. Вы собрали все исходные данные по договорам и свели их в таблицу, показанную на рис. 8.31. Рис. 8.31. Данные о страховании по классам и типам Глава 8 Визуализация частей от целого 275 Диаграмма дерево входит в галерею встроенных в Excel визуализаций, так что создать ее не составит труда. Выделите данные и на вкладке Вставка (Insert) нажмите на кнопку Рекомендуемые диаграммы (Recommended Charts). Если дерево не будет присутствовать в списке рекомендуемых диаграмм, переключитесь на вкладку Все диаграммы (All Charts). Примечание Рабочая книга с этим примером называется TreemapInsurancePolicies.xlsx и располагается на сайте с сопроводительными файлами. Для создания визуализации, показанной на рис. 8.32, измените заголовок диаграммы и удалите легенду, появляющуюся в Excel автоматически. Для изменения заголовка достаточно выделить его и начать вводить текст. Чтобы избавиться от легенды, на вкладке Конструктор диаграмм (Chart Tools Design) нажмите на выпадающую кнопку Добавить элемент диаграммы (Add Chart Element) и в меню Легенда (Legend) выберите пункт Нет (None). Рис. 8.32. Диаграмма дерево по видам страхования Диаграмма дерево позволяет отобразить достаточно много информации в условиях ограниченного пространства. На приведенной диаграмме, в частности, видно, что в сумме страхование жизни составляет примерно половину всех полисов, и большая часть этих сделок относится к полному страхованию жизни. Каскадная диаграмма Каскадная диаграмма (waterfall chart) также отлично подходит для демонстрации частей целого. На практике этот вид визуализации часто используется, чтобы показать совокупный эффект приростов и спадов. В других диаграммах, которые мы обсуждали в этой главе, применяются разные ухищрения для отображения отрицательных значений, но с методом, используемым 276 Часть III Рассказываем историю с помощью визуализации в каскадной диаграмме, ни одна из них не сравнится. На рис. 8.33 показана типичная каскадная диаграмма. Рис. 8.33. Каскадная диаграмма Первая точка данных на диаграмме начинается с нуля и поднимается или опускается в зависимости от значения. Определенные точки данных вы можете устанавливать в качестве итога, и они также будут начинаться с нулевой отметки. Даже если в соответствующих ячейках используются формулы суммирования, Excel по умолчанию не будет классифицировать их как итоги. Каждая очередная точка данных на диаграмме начинается на той отметке, где заканчивается предыдущая, стоящая непосредственно слева. На большинстве каскадных диаграмм отображаются соединительные линии (connecting lines) между столбиками, совмещающие конечную точку левого элемента и начальную – правого. Вполне вероятно, что вам эти линии не понадобятся, особенно если вы будете выводить на диаграмме подписи данных. Каскадная диаграмма идеально подходит для демонстрации того, как приросты и спады показателя влияют на его итоговое значение. Но также этот вид визуализации способен наглядно показывать характер происходящего, если большинство или все точки данных направлены исключительно вверх или вниз. На рис. 8.34 показана каскадная диаграмма, демонстрирующая изменение показателя продаж по кварталам от предыдущего года к нынешнему. Диаграмма, представленная на рис. 8.35, показывает, как платежи по ипотечной ссуде распределяются по периодам. Каскадная диаграмма вошла в стандартную галерею визуализаций в Excel 2016. До этого построение таких графиков отнимало уйму сил. Приходилось обходиться гистограммами с накоплением и скрывать части столбиков для создания эффекта плавающих переходов. Хотя при помощи встроенных средств создавать каскадные диаграммы стало намного проще, в них появились какие-то ограничения. Наиболее серьезным из них является то, что каскадная диаграмма, построенная при помощи базовых средств, может быть только вертикальной. Глава 8 Визуализация частей от целого 277 Таким образом, вы не сможете создать аналог линейчатой диаграммы кас­ кадного типа. Кроме того, вам не удастся вывести подписи данных в виде процентов. Если вы предпочитаете такой тип отображения, вам придется менять исходные данные. Рис. 8.34. Каскадная диаграмма изменения показателя продаж Рис. 8.35. Каскадная диаграмма выплат по ипотеке Практический пример: чистая прибыль Руководство компании дало указание в удобном виде визуализировать годовой отчет о прибылях и убытках. Исходные данные для диаграммы представлены на рис. 8.36. Примечание Рабочая книга с этим примером называется WaterfallNetIncome.xlsx и располагается на сайте с сопроводительными файлами. 278 Часть III Рассказываем историю с помощью визуализации Рис. 8.36. Отчет о прибылях и убытках Для создания каскадной диаграммы на основе этих данных выполните следующие действия. 1.Выделите данные и на вкладке Вставка (Insert) нажмите на кнопку Рекомендуемые диаграммы (Recommended Charts). 2.На вкладке Все диаграммы (All Charts) выберите тип диаграммы Кас­ кадная (Waterfall) и нажмите на кнопку OK. 3.Выделите точку данных Gross Margin. Чтобы сделать это, щелкните мышью­по диаграмме, выбирая все ряды данных, после чего щелкните на конкретном столбике, чтобы выделить только его. 4.Щелкните правой кнопкой мыши по точке данных Gross Margin и выберите пункт Формат точки данных (Format Data Point) для отображения одноименной панели справа. 5. Отметьте флажок Установить в качестве итога (Set As Total). 6.Сделайте то же самое для точек данных Operating Profit и Net Profit. При выделенной точке данных вы можете щелкнуть по другой точке без необходимости выделять всю диаграмму. На рис. 8.37 показано, как должен выглядеть график на этом этапе. Рис. 8.37. Каскадная диаграмма с итогами Глава 8 Визуализация частей от целого 279 7.Выделите любую подпись данных, чтобы отобразить панель Формат подписей данных (Format Data Labels). В разделе Параметры подпи­ си (Label Options) измените код числового формата на следующий: * #,###,;* (#,###,).. 8.Удалите вертикальную ось на диаграмме, выделив ее и нажав на клавишу Delete. 9. Избавьтесь от легенды, выделив ее и также нажав на клавишу Delete. 10.Измените заголовок диаграммы на Income Statement (in thousands). 11.Добавьте перенос строки в подпись Selling, General, and Admin. Для этого поместите курсор в ячейке A4 перед словом and и нажмите сочетание клавиш Alt+Enter. 12.Измените размер диаграммы таким образом, чтобы подписи стали разборчивыми. Итоговая визуализация показана на рис. 8.38. Рис. 8.38. Окончательная каскадная диаграмма по отчету о прибылях и убытках Также вы можете представить руководству вариант диаграммы с подписями в виде процентов. Введите в ячейку C1 формулу =B1/$B$1 и протяните ее до ячейки C8. Отформатируйте диапазон C1:C8 в виде процентов с двумя знаками после запятой. Для создания второй диаграммы выделите диапазон A1:A8, после чего, удерживая клавишу Ctrl, выделите диапазон C1:C8, оставив столбец B невыделенным. Далее создайте каскадную диаграмму по той же схеме, что и раньше. Отформатируйте диаграмму по примеру первого графика, включая установку итогов для точек данных Gross Margin, Operating Profit и Net Profit, удаление вертикальной оси и легенды, а также изменение заголовка диаграммы и ее размера. На рис. 8.39 представлена каскадная диаграмма с подписями в виде процентов, а не долларов. 280 Часть III Рассказываем историю с помощью визуализации Рис. 8.39. Каскадная диаграмма по отчету о прибылях и убытках в процентах ГЛАВА 9 Визуализация изменений с течением времени В этой главе: линейный график; столбчатая диаграмма с отклонениями; комбинированная диаграмма; линейный график с отклонениями; смежные ящики с усами; анимированная диаграмма; автоматизация диаграмм. Визуализация изменений, произошедших с течением времени, – одна из самых распространенных задач в аналитике. Практически любой показатель становится интереснее, когда вы отслеживаете его динамику во времени. Вывод значений на временной шкале может помочь отразить сезонность продаж, рост, спад и тенденции, что облегчает задачу прогнозирования. В дополнение к использованию временной шкалы в виде оси категорий вы можете применять различные техники анимации для динамической визуализации изменений во времени. Линейный график Линейные графики (line chart) представляют собой наиболее распространенный вид визуализации для отображения динамики показателя во времени. Графики настолько прочно ассоциируются у читателей с временными изменениями, что они и без подсказок могут предположить, что ось категорий на такой диаграмме, скорее всего, представляет время. На рис. 9.1 показан типичный линейный график. Как мы уже говорили в главе 7, у линейных графиков очень много общего с точечной диаграммой. Они обе могут выводить линии, маркеры или и то, и другое. Ось категорий для графиков на основе времени всегда упорядочена и поделена на стандартные равные интервалы. Это означает, что временные отметки располагаются слева направо согласно течению времени, а каждая точка представляет собой равные промежутки времени (недели, месяцы, годы). 282 Часть III Рассказываем историю с помощью визуализации Рис. 9.1. Линейный график Примечание Все примеры, обсуждаемые в данной главе, собраны в сопроводительных файлах. Указания на конкретные файлы будут даны в относящихся к ним примерах. В отличие от некоторых новых диаграмм в Excel, линейный график обладает огромным количеством настроек. На рис. 9.2 показаны различные параметры для регулировки на панели Формат ряда данных (Format Data Series). Рис. 9.2. Панель Формат ряда данных (Format Data Series) для линейного графика Глава 9 Визуализация изменений с течением времени 283 Большинство настроек здесь говорят сами за себя. Вы можете установить переключатель Линия (Line) в положение Нет линий (No Line), а для маркеров установить сплошную заливку, чтобы на графике показывались только сами точки данных. Если у вас на диаграмме выведено несколько рядов данных и вы хотите выделить один из них, то можете увеличить значение прозрачности для остальных. На линейном графике, представленном на рис. 9.3, один ряд данных выведен с нулевой прозрачностью, а остальные два – с 50-процентной. Рис. 9.3. Использование прозрачности для выделения линий По умолчанию линии на графике выводятся со скругленными (Round) завершениями (end). Вы можете изменить тип завершения на прямоугольное (Square) или плоское (Flat), но с использованием стандартной ширины линии разницу увидеть будет непросто. На рис. 9.4 показан график с толстой линией, шарообразной стрелкой (Oval Arrow) в начале и стрелкой (Arrow) в конце. Комбинировать варианты внешнего вида линий можно до бесконечности, главное – не отклониться при этом от истории, которую вы хотите рассказать. Рис. 9.4. Линейный график со стрелкой 284 Часть III Рассказываем историю с помощью визуализации При форматировании линейных графиков стоит всегда избегать одной опции, а именно сглаживания линий. По умолчанию Excel соединяет маркеры при помощи прямых линий. Если установить флажок Сглаженная линия (Smoothed Line), Excel будет менять направление линий более плавно. Это может сделать график более привлекательным, но привести к искажению ваших данных. Практический пример: продажи товаров по категориям Ваша компания торгует электроникой в пяти категориях: игровые приставки (Game Consoles), аудио- и видеоаппаратура (Audio Visual Equipment), телефоны (Phones), планшеты (Tablets) и персональные компьютеры (Personal Computers). Ваша задача – визуализировать продажи товаров по категориям за первые десять месяцев года. Бухгалтерия предоставила вам исходные данные, показанные на рис. 9.5. Примечание Рабочая книга с этим примером называется LineProductCategorySales.xlsx и располагается на сайте с сопроводительными файлами. Рис. 9.5. Данные о продажах по категориям Вы понимаете, что для этой визуализации лучше всего подойдет обычный линейный график, так что, минуя кнопку Рекомендуемые диаграммы (Recommended Charts), раскрываете на вкладке Вставка (Insert) выпадающую кнопку Вставить график или диаграмму с областями (Insert Line Or Area Chart) и выбираете первый график, как показано на рис. 9.6. Рис. 9.6. Выбор линейного графика Глава 9 Визуализация изменений с течением времени 285 Исходный вид диаграммы показан на рис. 9.7. Как видите, на графике присутствует типичный рост продаж в конце лета, при подготовке к школе, и еще один пик продаж – ближе к новогодним праздникам. Чтобы отформатировать диаграмму, выполните следующие действия. 1. Измените заголовок диаграммы на Sales by Product Category. 2.Откройте инструмент Элементы диаграммы (Chart Elements) справа от графика и в выпадающем меню Легенда (Legend) выберите пункт Справа (Right), чтобы вместить выноску, как показано на рис. 9.8. Рис. 9.7. Изначальный вид графика Рис. 9.8. Выбор расположения легенды 286 Часть III Рассказываем историю с помощью визуализации 3.Растяните диаграмму по ширине, чтобы перенесенная вправо легенда не мешала анализировать графики. 4.Откройте инструмент Элементы диаграммы (Chart Elements) и добавьте подписи осей. Для оси значений измените заголовок на Sales Dollars, а для оси категорий – на Month. На рис. 9.9 показан измененный график. Рис. 9.9. Итоговый линейный график Менеджеру по продажам понравился график, но он пожелал видеть прог­ нозные показатели на ноябрь и декабрь. Вы решили взять за основу два последних месяца минувшего года и запросили в бухгалтерии информацию о прошлогодних продажах. Для добавления прогнозных данных выполните следующие действия. 1.Создайте область данных для прогноза под таблицей с текущим годом – начиная с ячейки A9. Заполните строку 9 номерами месяцев, а столбец A – названиями категорий товаров по примеру первой таб­ лицы. 2.Вставьте данные за предыдущий год под область с прогнозом. В результате должны получиться три таблицы, как показано на рис. 9.10. 3.Скопируйте данные о продажах за октябрь в прогнозную таблицу. В ячейку K10 введите формулу =K2 и протяните ее по всем категориям. 4. В ячейку L10 введите следующую формулу: =ОКРУГЛ(ТЕНДЕНЦИЯ($B2:$K2;$B19:$K19;L19);-3) =ROUND(TREND($B2:$K2,$B19:$K19,L19),-3) 5.Протяните формулу вниз и вправо, чтобы заполнить прогнозные значения по обоим месяцам по всем категориям товаров. Глава 9 Визуализация изменений с течением времени 287 Рис. 9.10. Подготовительные данные для прогноза 6.Выделите прогнозные данные в диапазоне A9:M14 и нажмите сочетание клавиш Ctrl+C, чтобы сделать копию. 7.Выделите диаграмму и на вкладке Главная (Home) нажмите на выпадающую кнопку Вставить (Paste) и выберите пункт Специальная вставка (Paste Special), чтобы отобразить одноименное диалоговое окно, показанное на рис. 9.11. Рис. 9.11. Диалоговое окно Специальная вставка 8.Установите переключатель Добавить значения как (Add Cells As) в положение Новые ряды (New Series), переключатель Значения (Y) (Values (Y) In) – в положение В строках (Rows) и установите флажки Имена рядов в первом столбце (Series Names In First Column) и Категории (подписи оси X) в первой строке (Categories (X Labels) In First Row). Нажмите на кнопку OK для вставки новых рядов. На рис. 9.12 показан результирующий график, на котором исходные ряды расширены за счет новых. 9.Для всех новых рядов данных измените цвет таким образом, чтобы он совпадал с исходными рядами, и поменяйте стиль на пунктирную линию. Для этого сначала выделите первый добавленный ряд, щелкните на нем правой кнопкой мыши и выберите пункт Формат ряда данных 288 Часть III Рассказываем историю с помощью визуализации (Format Series). Цвет и тип линии можно задать на вкладке Заливка и границы (Fill & Line). В окне выбора цвета существующие цвета на графике располагаются в первом ряду. 10.Удалите в легенде отдельные элементы для новых рядов. Для этого сначала выделите легенду мышью, а затем щелкните еще раз по нужному вам элементу и нажмите на клавишу Delete. Продолжайте, пока в легенде не останутся только исходные ряды. 11.Щелкните правой кнопкой мыши на графике и выберите пункт Выбрать данные (Select Data). Отредактируйте список Подписи горизонтальной оси (Horizontal Axis Labels) таким образом, чтобы добавились два новых месяца. 12.Измените заголовок диаграммы, пояснив в нем, что означают пунктирные линии. Итоговая диаграмма показана на рис. 9.13. Рис. 9.12. Вставленные ряды на график Рис. 9.13. Линейный график с прогнозом Глава 9 Визуализация изменений с течением времени 289 Столбчатая диаграмма с отклонениями Столбчатые диаграммы идеально подходят для отображения значений конкретного показателя по разным категориям. Пользователю не составляет труда сравнивать высоты столбиков с соседями. Но если вы хотите особо отметить разницу между значениями показателя по разным категориям, то можете использовать для этого вспомогательные ряды данных. На рис. 9.14 показан пример столбчатой диаграммы с отклонениями. Рис. 9.14. Столбчатая диаграмма с отклонениями Два дополнительных ряда данных – один для приростов, второй для спадов – позволяют визуализировать изменения показателя без необходимости производить качественное сравнение. При этом вы можете использовать стрелки, цвета или подписи для улучшения восприятия информации. При помощи подписей данных можно показывать изменения в абсолютном или относительном выражении. Практический пример: продажи домов по месяцам Агент по продажи недвижимости хочет видеть, сколько сделок по продаже домов было закрыто в прошлом году, с детализацией по месяцам. При этом ему важен как общий тренд, так и изменения от месяца к месяцу. Исходные данные для визуализации представлены на рис. 9.15. Примечание Рабочая книга с этим примером называется ColumnHousesSoldbyMonth.xlsx и располагается на сайте с сопроводительными файлами. Powered by TCPDF (www.tcpdf.org) 290 Часть III Рассказываем историю с помощью визуализации Рис. 9.15. Сделки по продаже домов по месяцам Вы решили остановить свой выбор на столбчатой диаграмме с отклонения­ ми. Но начать нужно с подготовки данных для вспомогательных рядов. Для этого выполните следующие действия. 1. В ячейку C2 впишите формулу =B3-B2 и протяните ее до ячейки C12. 2.В ячейку E2 вставьте следующую формулу и протяните ее до ячейки E12: =МЕСЯЦ(A2)+0,5 =MONTH(A2)+0.5 Прибавление 0,5 к номеру месяца позволит разместить ряд с изменениями точно между двумя точками данных. 3. В ячейку F2 вставьте следующую формулу: =ЕСЛИ(C2>0;B3;НД()) =IF(C2>0,B3,NA()) Эта формула позволяет вычислить значение по оси Y для ряда данных, характеризующего рост. Функция НД() (NA()) возвращает значение #Н/Д (#N/A), которое не будет отображено на графике. 4. В ячейку G2 вставьте следующую формулу: =ЕСЛИ(C2<0;B3;НД()) =IF(C2<0,B3,NA()) Эта формула позволяет вычислить значение по оси Y для ряда данных, характеризующего спад. Разнесение прироста и спада по разным рядам данных позволяет выполнять их форматирование отдельно друг от друга. 5.Протяните формулы в диапазоне F2:G2 до строки 12. Отформатируйте значения таким образом, чтобы они выводились с округлением до тысяч. Для этого выделите диапазон F2:G12 и нажмите сочетание клавиш Ctrl+1, чтобы отобразить диалоговое окно Формат ячеек (Format Cells). В списке Числовые форматы (Number) выберите тип Все форматы (Custom) и введите в поле Тип (Type) строку #,###,. Первая Глава 9 Визуализация изменений с течением времени 291 запятая разделяет миллионы от тысяч, а вторая инструктирует Excel не выводить часть числа меньше тысячи. 6.Озаглавьте новые столбцы, вписав в ячейки F1 и G1 слова Increase и Decrease соответственно. Полученные в результате данные показаны на рис. 9.16. Рис. 9.16. Подготовленные исходные данные для столбчатой диаграммы с отклонениями Если данные подготовлены правильно, можно приступать к созданию диаграммы. Выделите диапазон A1:B12, на вкладке Вставка (Insert) нажмите на кнопку Рекомендуемые диаграммы (Recommended Charts) и выберите вариант Гистограмма с группировкой (Clustered Column) для вставки. Перед добавлением рядов с отклонениями необходимо отформатировать данные о продажах. Для столбца Month примените пользовательский формат МММ (mmm) для отображения первых трех букв месяца. Для колонки House Sales и соседнего справа столбца с разницей используйте тот же формат, что и для Increase и Decrease. Измените заголовок диаграммы таким образом, чтобы пользователь понимал, что числа на ней отображаются в тысячах. На рис. 9.17 показан внешний вид диаграммы на данный момент времени. Рис. 9.17. Гистограмма с группировкой по продажам домов 292 Часть III Рассказываем историю с помощью визуализации Для добавления рядов данных с отклонениями выполните следующие действия. 1. Скопируйте диапазон E1:G12 при помощи сочетания клавиш Ctrl+C. 2.На вкладке Главная (Home) выберите в выпадающей кнопке Вставка (Paste) пункт Специальная вставка (Paste Special). Откроется одно­ имен­ное диалоговое окно. Произведите настройки по примеру рис. 9.18 и нажмите на кнопку OK. Рис. 9.18. Диалоговое окно Специальная вставка 3.По умолчанию тип добавляемого ряда данных устанавливается таким же, как у существующего, то есть гистограмма. Щелкните правой кнопкой мыши по любому ряду данных и выберите в контекстном меню пункт Изменить тип диаграммы для ряда (Change Series Chart Type). Установите для рядов данных Increase и Decrease тип диаграммы Точечная (Scatter) и оставьте их на первичной оси, как показано на рис. 9.19. Получившийся в результате график показан на рис. 9.20. Новые ряды добавлены непосредственно между существующими точками данных, при этом цвет точек ряда Increase отличается от цвета точек ряда Decrease. По оси Y значения новых рядов соответствуют существующему ряду данных с продажами. Теперь мы будем использовать пределы погрешностей (Error Bar), стрелки, цвета и подписи данных для форматирования добавленных рядов с отклонениями. Выполните следующие действия. 1.Выделите ряд данных с приростами, нажмите на кнопку Элементы диаграммы (Chart Elements) и установите флажок Пределы погрешностей (Error Bars). Excel добавит горизонтальные и вертикальные пределы погрешностей на диаграмму, как показано на рис. 9.21. 2.Выделите горизонтальный предел и нажмите на кнопку Delete, чтобы остались только вертикальные пределы. Совет Если вам трудно выделять мелкие элементы непосредственно на диаграмме, вы можете воспользоваться выпадающим списком Элементы диаграммы (Chart Elements) на вкладке Формат (Format). Глава 9 Визуализация изменений с течением времени 293 Рис. 9.19. Диалоговое окно Изменение типа диаграммы Рис. 9.20. Добавленные ряды данных с отклонениями 294 Часть III Рассказываем историю с помощью визуализации Рис. 9.21. Пределы погрешностей ряда данных 3.Щелкните правой кнопкой мыши по линии вертикального предела и выберите пункт Формат предела погрешностей (Format Error Bars) для отображения одноименной панели. 4.Установите переключатель Стиль завершения (End Style) в значение Без точки (No Cap). 5.Установите переключатель Величина погрешности (Error Amount) в значение Пользовательская (Custom) и нажмите на кнопку Укажите значение (Specify Value), чтобы отобразилось диалоговое окно Настраиваемый предел погрешностей (Custom Error Bars). Введите в поле Положительное значение ошибки (Positive Error Value) формулу ={0}, а в поле Отрицательное значение ошибки (Negative Error Value) – диапазон C2:C12. На рис. 9.22 показан окончательный вид диалогового окна Настраиваемый предел погрешностей. Нажмите на кнопку OK, чтобы применить настройки. Совет Диалоговое окно Настраиваемый предел погрешностей требует особого подхода к вводу значений. Для ввода фиксированного значения вроде нуля необходимо заключить его в фигурные скобки. А для выбора диапазона нужно удалить все содержимое поля, поставить знак равенства и при помощи курсора выбрать требуемый диапазон. Рис. 9.22. Диалоговое окно Настраиваемый предел погрешностей 6.На панели Формат предела погрешностей (Format Error Bars) измените цвет пределов на зеленый, а ширину линии установите в значе- Глава 9 Визуализация изменений с течением времени 295 ние 1.25 пт. Но вы можете установить эти характеристики по своему усмотрению. 7.В выпадающем списке Тип начальной стрелки (Begin Arrow) выберите значение Стрелка (Arrow). 8.Выделите ряд данных Increase и в разделе Параметры маркера (Mar­ ker Options) на панели Формат ряда данных выберите вариант Нет (None), чтобы скрыть маркеры. На рис. 9.23 показана диаграмма после завершения форматирования ряда данных Increase. Рис. 9.23. Отформатированный ряд данных Increase Повторите все те же операции для ряда данных Decrease, но с выбором другого цвета. Установки в диалоговом окне Настраиваемый предел погрешностей (Custom Error Bars) будут такими же. В обоих случаях мы используем только поле Отрицательное значение ошибки (Negative Error Value) и знак значения в колонке С для определения направления стрелки. Именно поэтому мы для обоих рядов настраиваем один и тот же параметр Тип начальной стрелки (Begin Arrow). На рис. 9.24 показан график после настройки вспомогательных рядов данных. Осталось только снабдить ряды подписями. Выполните следующие действия, чтобы добавить и отформатировать подписи данных. 1.Выделите ряд данных Increase и установите флажок Метки данных (Data Labels) на панели Элементы диаграммы (Chart Elements). 2.Щелкните правой кнопкой мыши по метке и выберите пункт Формат подписей данных (Format Data Labels), что приведет к открытию одноименной панели справа. 3.На вкладке Параметры подписи (Label Options) откройте раздел с таким же названием, установите флажок Значения из ячеек (Value From Cells) и введите диапазон C2:C12. Снимите все остальные флажки. 4.Установите переключатель Положение подписи (Label position) в значение Сверху (Above). 296 Часть III Рассказываем историю с помощью визуализации Рис. 9.24. Добавленные ряды данных с отклонениями 5.Измените цвет подписи, чтобы он соответствовал цвету стрелки. Для этого выделите подпись и используйте инструмент Цвет шрифта (Font Color) в группе Шрифт (Font) на вкладке Главная (Home). Повторите эти действия для ряда данных Decrease, но опцию Положение подписи (Label position) установите в значение Снизу (Below). Измените размер диаграммы таким образом, чтобы подписи не перекрывали столбики. Итоговая визуализация показана на рис. 9.25. Рис. 9.25. Столбчатая диаграмма с отклонениями Глава 9 Визуализация изменений с течением времени 297 Комбинированная диаграмма Комбинированная диаграмма (combination chart), как вы могли догадаться из названия, представляет собой сочетание из двух и более типов диаграмм в рамках одного элемента визуализации. В большинстве случаев используется комбинация из линейного графика и столбчатой диаграммы, но ваш выбор не ограничивается исключительно этим сочетанием. На рис. 9.26 показан типичный пример комбинированной диаграммы. Рис. 9.26. Комбинированная диаграмма из линейного графика и столбчатой диаграммы Комбинированную диаграмму можно использовать, когда у вас есть два и более ряда данных, связанных между собой, но обладающих разными шкалами, и вы хотите показать взаимосвязь между ними по одной непрерывной переменной, например во времени. На рис. 9.27 показана диаграмма с теми же данными, что и на рис. 9.26, но с использованием отдельных рядов данных, а не их комбинации. Значения второго ряда данных настолько малы по сравнению с первым, что график этого ряда больше напоминает горизонтальную линию в нижней части диаграммы. На комбинированной диаграмме почти всегда используется вспомогательная ось, чтобы взаимосвязь между данными была более очевидной. Вы не обязаны использовать разные типы визуализации на комбинированной диаграмме. К примеру, вы можете вывести два линейных графика на отдельных осях. Смысл применения разных типов диаграмм состоит в том, что пользователю так легче понять, что данные на графике представлены в разных масштабах. Допустим, если вы расположите на диаграмме две линии, зрителю будет непросто понять, какая из них к какой оси относится. 298 Часть III Рассказываем историю с помощью визуализации Рис. 9.27. Связанные данные, отображенные на одной оси Практический пример: выручка от грузовых перевозок и мили Руководство компании грузовых перевозок заинтересовалось тем, почему выручка от деятельности в сентябре оказалась ниже ожидаемой. Они попросили вас разобраться. Компания взимает плату с клиентов за пройденные мили, так что вы решили начать анализ со сведения данных о выручке и пройденных милях по месяцам воедино. Результирующий набор данных показан на рис. 9.28. Примечание Рабочая книга с этим примером называется CombinationFreight.xlsx и располагается на сайте с сопроводительными файлами. Рис. 9.28. Данные о перевозках по месяцам Для создания комбинированной диаграммы выделите данные и на вкладке Вставка (Insert) нажмите на кнопку Рекомендуемые диаграммы (Recommended Charts). На вкладке Все диаграммы (All Charts) выберите вариант Глава 9 Визуализация изменений с течением времени 299 Комбинированная (Combo) и установите для ряда данных Miles флажок Вспомогательная ось (Secondary axis), как показано на рис. 9.29. Рис. 9.29. Вставка комбинированной диаграммы На диаграмме видно, что, хотя количество миль и снизилось в сентябре, этот спад не мог так критически повлиять на выручку в данном месяце. Вы знаете, что отдел логистики старается не допускать порожних обратных рейсов машин, но это не всегда удается сделать. Вы решили узнать, как за анализируемый период времени обстояло дело с «пустыми» перевозками. Для этого вы добавили на диаграмму ряд данных Deadhead Miles, как показано на рис. 9.30. Для добавления новых данных на диаграмму выполните следующие действия. 1.Выделите диапазон D1:D13 и скопируйте его при помощи комбинации клавиш Ctrl+C. 2.Выделите график и выберите в выпадающей кнопке Вставка (Paste) на вкладке Главная (Home) пункт Специальная вставка (Paste Special). 3.В открывшемся диалоговом окне, показанном на рис. 9.31, установите переключатель Добавить значения как (Add cells as) в положение Новые ряды (New Series) и нажмите на кнопку OK. 300 Часть III Рассказываем историю с помощью визуализации Рис. 9.31. Диалоговое окно Специальная вставка Рис. 9.30. Порожние рейсы добавлены к набору данных Как видите, в сентябре был отмечен резкий скачок числа порожних рейсов, и именно этим в совокупности с уменьшением пройденных миль можно объяснить падение выручки. Завершите диаграмму для руководства, снабдив ее подписями к осям и отформатировав числовые значения на оси выручки. Финальная визуализация показана на рис. 9.32. Рис. 9.32. Комбинированная диаграмма с тремя рядами данных Линейный график с отклонениями Использование линейного графика с двумя рядами (line chart with two series) – отличный способ показать, как два показателя изменяются с течением времени. Если вы хотите продемонстрировать различия между точками данных в этих рядах, то можете добавить на график пределы погрешностей. На рис. 9.33 показан типичный линейный график с отклонениями. Глава 9 Визуализация изменений с течением времени 301 Рис. 9.33. Линейный график с отклонениями Показывать различия между точками данных бывает очень полезно, когда линии на графике часто пересекаются. Так пользователю легче отслеживать изменения и идентифицировать тренды. А добавление стрелок к пределам погрешностей и использование цветов на диаграммах позволит еще больше облегчить чтение визуализации. Кроме того, это одна из немногих диаграмм, вертикальная ось на которых не должна обязательно начинаться с нуля, поскольку главная цель в данном случае – показать изменения, а не сами величины. Практический пример: отслеживание выручки по кварталам Обычно руководство компании отслеживает динамику выручки на еженедельной основе. Однако в связи с непостоянством в отрасли было решено узнать, как недельная выручка в текущем квартале изменилась по сравнению с предыдущим кварталом. Вы собрали исходные данные по неделям за два квартала, показанные на рис. 9.34. Рис. 9.34. Выручка по неделям за два квартала 302 Часть III Рассказываем историю с помощью визуализации Примечание Рабочая книга с этим примером называется WeeklyRevenueComparison.xlsx и располагается на сайте с сопроводительными файлами. Для начала выделите данные и на вкладке Вставка (Insert) нажмите на кнопку Рекомендуемые диаграммы (Recommended Charts). В диалоговом окне Вставка диаграммы (Insert Chart) выберите пункт График (Line) и нажмите на кнопку OK. На рис. 9.35 показан исходный вид диаграммы. Рис. 9.35. Базовый линейный график Добавьте к исходным данным два столбца, которые будут основой для построения пределов погрешностей. В ячейке D2 введите следующую формулу: =ЕСЛИ(B2-C2>0;B2-C2;НД()) =IF(B2-C2>0,B2-C2,NA()) Протяните формулу до последней строки с данными. В ячейку E2 вставьте представленную ниже формулу и также протяните ее до конца: =ЕСЛИ(B2-C2<0;B2-C2;НД()) =IF(B2-C2<0,B2-C2,NA()) Хранение положительных и отрицательных отклонений в двух столбцах позволит вам применить разное форматирование к соответствующим рядам данных на диаграмме. Чтобы добавить различия на график, выполните следующие действия. 1.Выделите ряд Current и добавьте к нему пределы погрешностей, воспользовавшись инструментом Элементы диаграммы (Chart Elements). В подменю Пределы погрешностей (Error Bars) выберите пункт Дополнительные параметры (More Options), чтобы отобразить панель Формат предела погрешностей (Format Error Bars). На рис. 9.36 показан инструмент Элементы диаграммы. Глава 9 Визуализация изменений с течением времени 303 Рис. 9.36. Инструмент Элементы диаграммы 2.На открывшейся панели установите переключатель Стиль завершения (End Style) в значение Без точки (No Cap). 3.Установите переключатель Величина погрешности (Error Amount) в значение Пользовательская (Custom) и нажмите на кнопку Укажите значение (Specify Value), чтобы отобразилось диалоговое окно Настраиваемый предел погрешностей (Custom Error Bars). 4.Введите в поле Положительное значение ошибки (Positive Error Va­ lue) формулу ={0}. 5.Очистите содержимое поля Отрицательное значение ошибки (Negative Error Value) и укажите на диапазон ячеек D2:D14. Если предварительно не удалить содержимое поля, Excel попытается добавить диапазон к текущему выбору. 6.На вкладке Заливка и границы (Fill & Line) введите в поле Ширина (Width) значение 1,25 пт, измените Тип начальной стрелки (Begin Arrow Type) на Стрелка (Arrow) и установите Цвет (Color) в темно-синий. На рис. 9.37 показан график на этой стадии. 7.Выделите ряд Prior и добавьте к нему пределы погрешностей, как вы это сделали в случае с рядом Current. 8.Укажите в поле Положительное значение ошибки (Positive Error Va­ lue) диапазон из столбца E, а в поле Отрицательное значение ошибки (Negative Error Value) введите значение ={0}. На рис. 9.38 показано диалоговое окно Настраиваемый предел погрешностей (Custom Error Bars) для ряда данных Prior. 9.На вкладке Заливка и границы (Fill & Line) установите переключатель Стиль завершения (End Style) в значение Без точки (No Cap), введите в поле Ширина (Width) значение 1,25 пт, измените Тип конечной стрелки (End Arrow Type) на Стрелка (Arrow) и установите Цвет (Color) в оранжевый. 304 Часть III Рассказываем историю с помощью визуализации Рис. 9.37. Диаграмма с положительными отклонениями Рис. 9.38. Диалоговое окно Настраиваемый предел погрешностей 10.Установите параметр Прозрачность (Transparency) для обоих рядов в значение 50 %. Так вы сможете сделать акцент на линиях отклонений, а не на самих значениях. 11.Выделите ось значений и в поле Минимум (Minimum) на панели Формат оси (Format Axis) введите значение 55000. Обычно лучше начинать ось значений с нуля, но в данном случае это только отдалит линии друг от друга и затруднит задачу подсветки отклонений. 12.Измените заголовок диаграммы. Итоговая визуализация показана на рис. 9.39. Рис. 9.39. Линейный график с отклонениями Глава 9 Визуализация изменений с течением времени 305 Смежные ящики с усами Диаграмма ящик с усами (Box & Whisker) представляет собой очень полезный визуальный инструмент для сравнения мер центральной тенденции и распределений двух и более наборов данных. Теоретически можно разместить на диаграмме и единственный ящик с усами, но гораздо чаще они используются в группе, что облегчает задачу сравнения выборок. Данные для построения ящика с усами состоят из пяти мер: медианы (median), верхнего и нижнего квартилей (quartile), а также минимального и максимального значений в наборе данных. На рис. 9.40 показаны типичные смежные ящики с усами. Рис. 9.40. Смежные ящики с усами по двум выборкам Медианы выборок обозначены на диаграмме горизонтальными линиями внутри ящиков. Как видно по рисунку, медиана у первого набора данных выше, чем у второго. Сама площадь внутри ящика характеризует собой интервал от первого до третьего квартиля выборки, именуемый также межквартильным размахом (interquartile range). Ящик второго набора данных больше по размерам, чем первого, из-за особенностей распределения. Так называемые усы расходятся от ящика в обе стороны до максимального и минимального значений без учета выбросов. На обоих ящиках вы можете заметить маркер в виде креста, обозначающий среднее значение в выборке. В первом наборе также имеется выброс, показанный в виде точки в районе значения 100. Выбросом (outlier) называется любая точка данных, лежащая более чем в полутора межкартильных размахах выше или ниже ящика. Как и в случае с большинством диаграмм, появившихся в Excel относительно недавно, при настройке ящиков с усами в вашем распоряжении будет не так много возможностей. На рис. 9.41 показан раздел Параметры ряда (Series Options) на панели Формат ряда данных (Format Data Series) для ящиков с усами. Здесь вам будут доступны следующие опции: 306 Часть III Рассказываем историю с помощью визуализации боковой зазор (Gap Width): значение между 0 % и 500 %, определяющее ширину ящиков; показывать внутренние точки (Show Inner Points): установка этого флажка позволит отобразить небольшими кружками точки данных, за исключением выбросов, если они показываются отдельно; показывать точки выбросов (Show Outlier Points): этот флажок отвечает за отображение на диаграмме выбросов, рассчитанных по алгоритму, описанному ранее. Также он позволяет исключить выбросы из расчета максимального и минимального значений. Снятие этого флажка приведет ко включению всех точек данных в расчет максимума и минимума; показывать маркеры среднего (Show Mean Markers): эта опция позволяет отобразить отметку в виде креста в месте расположения арифметического среднего в выборке. Если снять этот флажок, маркер будет скрыт; показывать линию среднего (Show Mean Line): Microsoft заявляет, что эта опция позволит соединить линией маркеры средних значений рядов данных, но похоже, что этот флажок не выполняет никаких действий; инклюзивная медиана (Inclusive Median): включает значение медианы при расчете квартилей; эксклюзивная медиана (Exclusive Median): исключает значение медиа­ ны при расчете квартилей. Рис. 9.41. Панель Формат ряда данных для ящика с усами Примечание Существует несколько способов расчета квартилей. Описание преимуществ и недостатков каждого из них выходит за рамки данной книги. Excel предлагает два способа расчета: со включением или исключением медианы. Какой из них вы бы ни выбрали, желательно сделать это для всех графиков на диаграмме. Глава 9 Визуализация изменений с течением времени 307 Практический пример: зарплаты по отделам Руководство компании решило проанализировать фонд оплаты труда на предмет распределения зарплат по отделам. Вместо того чтобы предоставить данные о суммарных показателях по каждому отделу, вы решили провести более углубленный анализ при помощи ящиков с усами. Фрагмент исходных данных для визуализации показан на рис. 9.42. Примечание Рабочая книга с этим примером называется BoxPlotSalaries.xlsx и располагается на сайте с сопроводительными файлами. Рис. 9.42. Данные о зарплатах Для создания ящиков с усами выделите данные и на вкладке Вставка (Insert) нажмите на кнопку Рекомендуемые диаграммы (Recommended Charts). Не беспокойтесь по поводу того, что в вашем диапазоне будут присутствовать пустые ячейки, – Excel их проигнорирует. На вкладке Все диаграммы (All Charts) выберите вариант Ящик с усами (Box & Whisker). Базовая диаграмма показана на рис. 9.43. Если бы вы оперировали суммарными значениями по зарплатам, то отдел Administration занял бы лидирующее место в сравнении. Но ящики с усами говорят нам о том, что здесь не так все просто. В отделе Administration присутствуют два огромных выброса, и если их исключить, в среднем зарплаты по департаменту оказываются не такими высокими. Для завершения форматирования диаграммы выполните следующие действия. 1.Щелкните правой кнопкой мыши по диаграмме и в контекстном меню выберите пункт Выбрать данные (Select Data). 2.Для каждого ряда данных нажмите на кнопку Изменить (Edit) и укажите ячейку в первой строке соответствующего столбца, чтобы переименовать ряд, как показано на рис. 9.44. 308 Часть III Рассказываем историю с помощью визуализации Рис. 9.43. Исходный вид ящиков с усами Рис. 9.44. Переименование рядов данных 3. Измените заголовок диаграммы на Salaries by Department. 4.Выделите горизонтальную ось и нажмите на клавишу Delete, чтобы избавиться от нее. 5. Добавьте легенду в нижней части диаграммы. 6.По желанию можете удалить и вертикальную ось. Окончательная диаграмма показана на рис. 9.45. Рис. 9.45. Окончательная диаграмма с ящиками с усами Глава 9 Визуализация изменений с течением времени 309 Анимированная диаграмма Существует три причины для добавления анимации на диаграммы: чтобы уместить больше данных на ограниченном пространстве, чтобы диаграмма подходила для презентации и чтобы дать пользователю возможность управления отображением данных. Аргументов против использования анимированных визуализаций тоже достаточно, так что применять их следует дозированно и только там, где это действительно оправдано. Чтобы уместить больше информации в условиях недостатка свободного пространства, вы можете изменить сами исходные данные, которые выводите на графике. К примеру, у вас есть столбчатая диаграмма с доходами по отделам. Если вы захотите отобразить аналогичные данные за последние три года, то обнаружите, что точек данных для вывода окажется слишком много, что значительно затруднит чтение диаграммы. А если у вас будет инструмент для перелистывания годов на графике, визуализация обретет более приятный вид. Еще одна техника анимации на графиках состоит в добавлении рядов данных в процессе презентации. Допустим, вы можете начать с показа единственного линейного графика на диаграмме, например с продажами по конкретной категории товаров. В процессе презентации, когда разговор зайдет о другой категории, вы можете добавить на диаграмму соответствующий ряд данных. И так с каждой последующей категорией, о которой вы будете говорить. Иногда вы не знаете, что именно пользователь захочет увидеть на диаграмме. В таких ситуациях вы можете снабдить график анимацией, что позволит пользователю самому выбирать, что смотреть. Например, вы можете добавить на диаграмму полосу прокрутки для управления временными диапазонами. Сводные диаграммы Диаграмма, связанная со сводной таблицей, называется сводной диаграммой (PivotChart). Создание сводной диаграммы – простейший способ дать пользователю контроль над визуализацией. В более ранних версиях Excel сводные диа­граммы имели гораздо больше ограничений по сравнению с традиционными. Но позже компания Microsoft постепенно избавила нас от этих ограничений. На данный момент самым большим неудобством, связанным со сводными диаграммами, является то, что на них можно размещать только определенный вид графиков. Если вам, к примеру, необходимо использовать точечную диаграмму, вы не сможете сделать это при помощи сводных диаграмм. Для создания сводной диаграммы начните с данных по примеру тех, что представлены на рис. 9.46. Выделите нужный вам диапазон и на вкладке Вставка (Insert) нажмите на кнопку Сводная диаграмма (PivotChart). Excel отобразит диалоговое окно Создать сводную диаграмму (Create PivotChart), очень похожее на окно создания сводной таблицы. Здесь вы можете подтвердить или изменить исходный диапазон данных и выбрать место для размещения диаграммы. После нажатия на кнопку OK Excel разместит 310 Часть III Рассказываем историю с помощью визуализации на выбранном рабочем листе одновременно заготовки для сводной таблицы и сводной диаграммы, а также отобразит справа панель Поля сводной диаграммы (PivotChart Fields), как показано на рис. 9.47. Рис. 9.46. Фрагмент исходных данных для сводной диаграммы Рис. 9.47. Сводная диаграмма без данных Глава 9 Визуализация изменений с течением времени 311 Для построения сводной диаграммы перенесите поле Date на Ось (Категории), Units – в область значений, а Region – в область условных обозначений. Excel автоматически сгруппирует данные по месяцам. На рис. 9.48 показана сводная диаграмма, построенная на основании имеющихся данных. Рис. 9.48. Базовая сводная диаграмма Первое, что бросится вам в глаза, – это наличие на диаграмме кнопок полей, которые пользователь может использовать для выполнения сортировки и фильтрации данных. На рис. 9.49 показан выбор, который будет вам предоставлен при нажатии на кнопку поля Region. Совет Для отображения и скрытия кнопок полей на сводной диаграмме воспользуйтесь инструментом Кнопки полей (Field Buttons) на вкладке Анализ сводной диаграммы (PivotChart Tools Analyze). Если вы предпочитаете другой способ группировки дат, вы можете задать его в связанной сводной таблице. К примеру, щелкните правой кнопкой мыши по полю с датами в сводной таблице и выберите пункт Группировать (Group), в результате чего откроется диалоговое окно Группирование (Grouping). Выберите группировку Кварталы (Quarters) и нажмите на кнопку OK. Сводная диаграмма перестроится, как показано на рис. 9.50. Совет Вы можете добавить срезы (slicer) в сводную таблицу, чтобы пользователь мог самостоятельно фильтровать данные для отображения. Срез – это очень внешне привлекательный и удобный элемент визуализации. К примеру, если скрыть кнопки полей, а вместо них добавить срезы, пользователи будут только довольны. 312 Часть III Рассказываем историю с помощью визуализации Рис. 9.49. Кнопка поля Region Рис. 9.50. Изменение группировки дат на сводной диаграмме Глава 9 Визуализация изменений с течением времени 313 Промежуточные данные с формулами Еще один способ анимировать диаграммы заключается в подготовке определенной области данных при помощи формул, которая меняет свое содержимое в зависимости от выбранного положения элемента управления, такого как полоса прокрутки или выпадающий список. Эта техника может быть использована, чтобы позволить пользователю менять содержимое диаграммы при помощи элементов управления или дать возможность ведущему презентации манипулировать внешним видом визуализации. Полоса прокрутки (slider) для выбора временного периода отчета – это один из классических примеров использования анимации с применением промежуточных данных. Фрагмент исходных данных по годовой выручке приведен на рис. 9.51. В этом примере мы создадим график с выручкой за пять лет, а какие именно годы будут присутствовать в анализе, пользователь сможет определить при помощи полосы прокрутки. Для начала создадим блок с промежуточными данными с помощью формул. Следуйте приведенным ниже инструкциям. 1. Повторите заголовки из ячеек A1 и B1 в соседних ячейках D1 и E1. 2.В ячейке D2 будет содержаться первый год, участвующий в данный момент в анализе. Пока введите в эту ячейку значение 1993. 3.Введите формулу =D2+1 в ячейку D3 и протяните ее до ячейки D6. Теперь в диапазоне D2:D6 будут содержаться последовательные пять лет, которые и будут выводиться на диаграмме. 4. В ячейке E2 введите следующую формулу: =ВПР(D2;$A$2:$B$31;2;ЛОЖЬ) =VLOOKUP(D2,$A$2:$B$31,2,FALSE) Протяните формулу до ячейки E6. Завершенные промежуточные данные показаны на рис. 9.52. Рис. 9.52. Подготовленные данные за пять лет Рис. 9.51. Выручка по годам 314 Часть III Рассказываем историю с помощью визуализации По завершении этапа подготовки промежуточных данных выберите их и вставьте на рабочий лист линейный график. Меняя год в ячейке D2, вы сможете управлять тем, какие данные будут отображаться на графике. На рис. 9.53 показан внешний вид диаграммы после ввода в ячейку D2 значения 2001. Рис. 9.53. График меняется динамически при изменении начального года При добавлении анимации на график бывает очень полезно зафиксировать ось значений. Щелкните по ней правой кнопкой мыши и выберите пункт Формат оси (Format Axis) для открытия одноименной панели справа. Введите в поле Минимум (Minimum) значение 0, а в поле Максимум (Maximum) – 1800000. При этом заголовки кнопок справа от этих полей сменятся с Автоматически (Auto) на Сброс (Reset). При автоматических значениях на оси график может плавать в зависимости от выбранного года, и положительный эффект от анимации будет утрачен. Следующим шагом мы должны создать элемент управления, с помощью которого будем менять промежуточные данные. Можно править год в ячейке D2 вручную, и график будет менять свой внешний вид, но гораздо проще будет делать это при помощи полосы прокрутки. Кроме того, так вы гарантируете, что пользователь не выберет год, находящийся за пределами допустимых границ. Для создания полосы прокрутки выполните следующие действия. 1.Перейдите на вкладку Разработчик (Developer), нажмите на выпадающую кнопку Вставить (Insert) и в разделе Элементы управления формы (Form Controls) выберите вариант Полоса прокрутки (Scroll Bar), после чего щелкните в любом месте рабочего листа для вставки элемента. Совет Если у вас не отображается вкладка Разработчик, щелкните правой кнопкой мыши по ленте и выберите пункт Настройка ленты (Customize The Ribbon). В открывшемся диалоговом окне Параметры Excel (Excel Options) установите флажок Разработчик, после чего вкладка должна появиться. Глава 9 Визуализация изменений с течением времени 315 2.Щелкните правой кнопкой мыши по появившемуся элементу управления и выберите пункт Формат объекта (Format Control), что приведет к открытию диалогового окна Формат элемента управления (Format Control). 3.На вкладке Размер (Size) введите в поля Высота (Height) и Ширина (Width) значения 0,2 и 5 соответственно. 4.На вкладке Элемент управления (Control) измените значение поля Минимальное значение (Minimum Value) на 1993, Максимальное значение (Maximum Value) – на 2017, Шаг изменения по страницам (Page Change) – на 1, а в поле Связь с ячейкой (Cell Link) введите D2. На рис. 9.54 показано настроенное диалоговое окно Формат элемента управления. Рис. 9.54. Диалоговое окно настройки полосы прокрутки 5. Разместите полосу прокрутки под графиком. Совет Если у вертикальной полосы прокрутки ширину сделать больше, чем высоту, она автоматически преобразуется в горизонтальную полосу прокрутки. При щелчке мышью по полосе прокрутки в ячейке D2 будет устанавливаться новое значение, что приведет к обновлению промежуточных данных и динамической перестройке графика. Установив на шаге 4 значения в поля Минимальное значение и Максимальное значение, вы тем самым гарантировали, что введенный в ячейку D2 год никогда не выйдет за пределы заданного диапазона. На рис. 9.55 показан график в комбинации с полосой прокрутки. 316 Часть III Рассказываем историю с помощью визуализации Рис. 9.55. Полоса прокрутки, управляющая содержимым диаграммы При создании промежуточных данных и элементов управления вы вольны использовать самые разные их сочетания и функционал. Если вам необходимо выводить данные на графике за десять лет, просто расширьте диапазон промежуточных данных. При наличии большого количества данных вам может потребоваться выполнять прокрутку более быстро. Это можно реализовать, установив в поле Шаг изменения по страницам (Page Change) значение больше единицы. Анимация диаграммы при помощи макроса Вы можете использовать встроенный в Excel язык программирования Visual Basic for Applications (VBA) для анимации диаграмм без участия пользователя. Фрагменты кода на языке VBA часто называют макросами (macro). Примечание Рабочая книга с этим примером называется LineChartAutomation.xlsm и располагается на сайте с сопроводительными файлами. В примере из предыдущего раздела пользователь должен был перемещать полосу прокрутки для изменения начального года в анализируемом диапазоне. При помощи макроса можно инициировать смену значения в ячейке D2 без участия человека. Написание макроса для подготовки промежуточных данных, используемых на диаграмме, – это отличный первый шаг на пути полноценной автоматизации графиков. С макросами разобраться не так сложно, поскольку основную часть работы будут выполнять формулы. Чтобы добавить макрос на диаграмму, выводящую выручку за пять лет, выполните следующие действия. Глава 9 Визуализация изменений с течением времени 317 1.Перейдите на вкладку Разработчик (Developer) и нажмите на кнопку Visual Basic. 2.Нажмите сочетание клавиш Ctrl+R для отображения панели Project Explorer. 3.Найдите нужную рабочую книгу на панели Project Explorer. Новая несохраненная книга будет называться как-то вроде VBAProject (Book1). 4.Щелкните правой кнопкой мыши в любом месте проекта и в выпадающем меню Insert выберите пункт Module. Откроется новое окно для ввода кода, как показано на рис. 9.56. Рис. 9.56. Новое окно для ввода кода в редакторе Visual Basic 5. Введите в открывшемся окне следующий код: Option Explicit Sub AnimateChart() Dim counter As Long For counter = 1993 To 2017 Sheet1.Range("D2").Value = counter Sheet1.ChartObjects(1).Chart.Refresh DoEvents: DoEvents Application.Wait Now + TimeSerial(0, 0, 1) DoEvents: DoEvents Next counter End Sub 318 Часть III Рассказываем историю с помощью визуализации Чтобы запустить макрос, для начала в меню File выберите пункт Close And Return To Microsoft Excel. Вернувшись в Excel, нажмите на кнопку Макросы (Macros) на вкладке Разработчик (Developer). В открывшемся диалоговом окне Макрос (Macro) выберите пункт AnimateChart и нажмите на кнопку Выполнить (Run). Значение в ячейке D2 начнет меняться через каждую секунду, а вместе с ним будет обновляться график. Макрос AnimateChart является частью рабочей книги. Если вы сохраните файл как книгу Excel с поддержкой макросов (macro-enabled workbook), код сохранится вместе с ним и будет доступен при его открытии. Язык VBA – довольно обширная тема для изучения, и в этой главе мы поговорим лишь об аспектах его взаимодействия с графиками. Давайте посмотрим, что на самом деле происходит в коде макроса AnimateChart. Инструкция Option Explicit говорит VBA о том, что при использовании переменных, например counter, необходимо будет объявлять их заранее при помощи ключевого слова Dim. Требование явно объявлять переменные в коде позволяет избежать ошибок, связанных с опечатками в их названиях. В строке Sub AnimateChart() объявляется начало макроса. Макросы также можно называть подпрограммами (subprocedure) – именно отсюда появилось ключевое слово Sub. Каждому слову Sub в модуле VBA должна соответствовать закрывающая конструкция End Sub. В первой строке макроса Dim counter As Long вы говорите VBA, что намереваетесь объявить переменную с именем counter и типом данных Long Integer. Именно при помощи ключевого слова Dim выполняется объявление переменных. Основная работа в макросе выполняется в цикле For Loop. Цикл начинается ключевым словом For и заканчивается словом Next. Инструкции, заключенные между этими словами, будут выполняться на каждой итерации цикла. В данном случае они будут выполнены 25 раз. Сначала объявленной переменной присваивается значение 1993, и инструкции внутри цикла выполняются в первый раз. Когда выполнение макроса доходит до ключевого слова Next, значение переменной counter увеличивается на единицу, после чего инструкции в цикле выполняются снова. Так происходит до тех пор, пока переменной counter не будет присвоено значение 2018, на единицу превышающее верхнюю границу, определенную в инструкции For. В этот момент цикл прекращает свое действие, и программа продолжает выполнение, начиная с первой строки после ключевого слова Next. В нашем случае после слова Next следует инструкция End Sub, завершающая выполнение макроса. Таким образом, внутри нашего цикла прописаны пять строк, которые в общей сложности выполняются 25 раз. В первой строке цикла в ячейку D2 вставляется значение 1993 на первой итерации, 1994 – на второй и т. д. Пос­ ле этого обновляется график. Excel не всегда хорошо справляется с задачей обновления экрана при запущенном макросе, в связи с чем в макросе стоят две инструкции DoEvents, передающие управление операционной системе и позволяющие Excel не отставать. Далее выполняется метод Application. Wait, чтобы пользователь успел увидеть изменения, произошедшие на графике. И наконец, еще одна инструкция DoEvents позволяет Excel обновить вывод. Глава 9 Визуализация изменений с течением времени 319 Автоматизация диаграмм Вы можете использовать язык VBA как для построения диаграмм, так и для их анимации. В случае с анимацией код VBA чаще всего манипулирует данными на листе, а движок Excel отвечает посредством построения графиков. Автоматизация (automation) предусматривает непосредственное управление диаграммами из кода VBA. Обычно автоматизация задействуется при разработке и создании диаграмм, а не при их презентации. Манипулирование объектами диаграмм Ранее в этой главе мы построили линейный график по продажам в разрезе категорий товаров, попутно добавив новые ряды для прогнозирования продаж на последние два месяца года. Частично задача сводилась к тому, чтобы вставить новые ряды данных и за счет них продлить линии фактических продаж в области прогноза. Примечание Рабочая книга с этим примером называется FormatDataSeries.xlsm и располагается на сайте с сопроводительными файлами. Каждый раз, когда вам необходимо выполнять кропотливую работу, стоит задуматься о том, чтобы автоматизировать этот процесс. Зачастую написание кода на языке VBA занимает столько же времени, сколько и выполнение задачи вручную, но если вам придется однажды повторить это действие, вы очень обрадуетесь тому, что заранее позаботились об автоматизации. На рис. 9.57 показана диаграмма на момент вставки новых рядов. Рис. 9.57. Диаграмма после вставки новых рядов Powered by TCPDF (www.tcpdf.org) 320 Часть III Рассказываем историю с помощью визуализации Первое, что необходимо сделать при автоматизации диаграмм, – это понять, с какими объектами вам придется взаимодействовать. Язык VBA для Excel использует объектную модель, являющую собой иерархию объектов, представляющих элементы на экране. Объектная модель Excel очень и очень объемная, но за диаграммы в ней отвечает не так много объектов. Также стоит отметить, что по большей части объектная модель Excel, к счастью, хорошо организована и использует понятные имена объектов. Если вы абсолютный новичок в VBA или модели объектов Excel, начинайте с записи макросов. Автоматически сгенерированный код далеко не всегда будет подходить вам на все 100 %, но из него вы сможете почерпнуть все имена объектов, с которыми вам придется работать. Для записи макроса, производящего изменения с рядом данных, выполните следующие действия. 1.На вкладке Разработчик (Developer) нажмите на кнопку Запись мак­ роса (Record Macro). 2.В открывшемся диалоговом окне примите все настройки по умолчанию и нажмите на кнопку OK. 3.Щелкните правой кнопкой мыши по одному из вставленных рядов данных и выберите пункт Формат ряда данных (Format Data Series), после чего откроется одноименная панель в правой части окна. 4.Измените характеристики ряда данных, как вы делали это ранее, обновив его цвет и поменяв сплошной стиль линии на пунктирный. 5.Выделите легенду для этого ряда и нажмите на клавишу Delete, чтобы удалить ее. 6.На вкладке Разработчик (Developer) нажмите на кнопку Остановить запись (Stop Recording). Чтобы посмотреть записанный макрос, перейдите на вкладку Разработчик (Developer) и нажмите на кнопку Visual Basic. Нажмите сочетание клавиш Ctrl+R для отображения панели Project Explorer, если она еще не открыта. Найдите свой проект на панели и откройте в нем папку Modules. Дважды щелкните мышью по модулю с именем Module1, чтобы просмотреть его содержимое: Sub Macro1() ' ' Macro1 Macro ' ' ActiveSheet.ChartObjects("Chart 1").Activate ActiveChart.FullSeriesCollection(13).Select With Selection.Format.Line .Visible = msoTrue .ForeColor.ObjectThemeColor = msoThemeColorAccent3 .ForeColor.TintAndShade = 0 .ForeColor.Brightness = 0 .Transparency = 0 End With Глава 9 Визуализация изменений с течением времени 321 ActiveChart.Legend.Select With Selection.Format.Line .Visible = msoTrue .DashStyle = msoLineDash End With ActiveChart.Legend.LegendEntries(8).Select Selection.Delete End Sub Не беспокойтесь, если в вашем случае макрос будет выглядеть несколько иначе. Инструмент записи макросов фиксирует практически все действия, которые вы выполняете. Иногда при записи вы можете выделить не ту ячейку или выбрать не тот цвет, а затем подкорректировать свой выбор. И инструмент послушно запишет всю эту последовательность действий. В целом код, полученный в результате записи макроса, лучше использовать как основу для своих собственных разработок, а не как готовый продукт. Объекты, которые нам здесь интересны в первую очередь, – это FullSeriesCollection и LegendEntries. В коде после обоих из них стоят скобки с числом внутри. Фактически здесь происходит обращение к 13-му по счету ряду на диаграмме и восьмому элементу легенды. Такие объекты называются коллекциями (collection), поскольку содержат совокупность похожих объектов. В то же время вы знаете, что на нашей диаграмме нет 13 рядов, их только десять: пять исходных и пять добавленных в качестве прогноза. Но объект FullSeriesCollection может содержать и ряды, которые были исключены при помощи фильтра. Все используемые нами ряды на графике являются видимыми, так что нам нет необходимости использовать здесь объект FullSeriesCollection. Вместо этого можно прибегнуть к помощи более простого объекта SeriesCollection. Создайте новый макрос вручную следом за автоматически записанным, то есть после инструкции End Sub. На новой строке напишите инструкцию Sub FormatProjections и нажмите на клавишу Enter. Редактор Visual Basic автоматически вставит скобки после названия подпрограммы и дополнит макрос завершающей инструкцией End Sub. Ваш код должен располагаться между этими двумя инструкциями. Начнем с простейшего кода, который мы можем написать, и постепенно будем его усложнять. Вы можете сделать несколько копий своей диаграммы, на которых можно тренироваться, пока код не будет готов окончательно. Приведенный ниже код делает то же самое, что и автоматически записанный, а именно форматирует один ряд и удаляет один элемент из легенды: Sub FormatProjections() With ActiveChart .SeriesCollection(6).Format.Line.ForeColor.RGB = _ .SeriesCollection(1).Format.Line.ForeColor.RGB .SeriesCollection(6).Format.Line.DashStyle = msoLineDash .Legend.LegendEntries(6).Delete End With End Sub 322 Часть III Рассказываем историю с помощью визуализации Все инструкции, расположенные между ключевыми словами With и End With, будут применяться к объекту ActiveChart. Блоки With помогают сделать код более легким для чтения, исключая необходимость многократного повторения имени объекта ActiveChart. Также стоит обратить внимание на символ продолжения строки (line continuation character). Комбинация из пробела и символа подчеркивания говорит редактору о том, что следующая строка будет являться продолжением предыдущей. В первой строке блока With происходит установка свойства RGB для шестого ряда данных по аналогии с этим свойством для первого ряда. На нашей диаграмме ряды с первого по пятый являются исходными, а с шестого по десятый – добавленными в качестве прогнозных значений. С учетом того, как Excel нумерует ряды (более или менее в порядке их добавления), шестой ряд будет соответствовать первому, седьмой – второму и т. д. Совет Оператор точка (dot) является очень важным в концепции языка программирования VBA. При манипулировании объектом вы начинаете инструкцию с его имени, после чего ставите точку (.), после которой может следовать свойство (property) или метод (method) этого объекта. Например, в выражении ActiveChart.Name мы обращаемся к свойству Name объекта ActiveChart. Часто бывает, что свойство объекта возвращает другой объект, который может обладать своим набором свойств и методов. Таким образом, в одном выражении вы можете использовать оператор точка несколько раз, – это будет означать, что свойства объектов, к которым вы обращаетесь, в свою очередь также возвращают объекты. К примеру, в выражении ActiveChart.Legend.LegendEntries(6). Delete оператор точка встречается трижды. Здесь мы вызываем метод Delete объекта LegendEntry. Свойство LegendEntries(6) объекта Legend возвращает объект LegendEntry. А свойство Legend объекта ActiveChart в свою очередь возвращает объект Legend. Во второй строке блока With мы делаем линию пунктирной. При этом мы воспользовались константой msoLineDash, подсмотренной в автоматически записанном макросе. В последней строке блока мы удаляем шестой элемент в легенде диаграммы. Как вы, наверное, догадались, легенды в Excel нумеруются так же, как и соответствующие им ряды. На рис. 9.58 показан график с двумя отформатированными рядами. При этом один из них был отформатирован вручную во время записи макроса, а второй – путем запуска макроса FormatProjections. Теперь, когда у нас есть код для форматирования одной линии на графике, мы можем поместить его внутрь цикла, чтобы он запускался для каждой линии отдельно. Здесь важно отметить один момент. Дело в том, что в коллекциях происходит перенумерация объектов при удалении одного из них. К примеру, если удалить первый из десяти элементов в легенде, то бывший вторым элементом станет первым, а десятый будет отсутствовать. Таким образом, после перенумерации элементы получат индексы от единицы до девяти. Вследствие этого, когда вы имеете дело с удалением объектов в коллекциях, лучше проходить по ним в обратном порядке, чтобы не попасть в ловушку обновления нумерации. В следующем макросе мы будем в обратном порядке проходить по прог­ нозным рядам данных, форматировать их и удалять соответствующие элементы из легенды: Глава 9 Визуализация изменений с течением времени 323 Sub FormatProjections() Dim lCount As Long Dim Actual As LineFormat Dim Projection As LineFormat For lCount = 10 To 6 Step -1 With ActiveChart Set Actual = .SeriesCollection(lCount - 5).Format.Line Set Projection = .SeriesCollection(lCount).Format.Line Projection.ForeColor.RGB = Actual.ForeColor.RGB Projection.DashStyle = msoLineDash .Legend.LegendEntries(lCount).Delete End With Next lCount End Sub Рис. 9.58. Диаграмма с двумя отформатированными линиями Макрос начинается с объявления трех переменных при помощи ключевого слова Dim. Первая переменная – lCount – представляет собой счетчик, который мы будем использовать в цикле. Две оставшиеся переменные имеют объектный тип LineFormat. Если вы будете хранить все объекты, с которыми работаете, в переменных с понятными именами, ваш код будет гораздо легче читать и поддерживать. Основной блок кода заключен в цикл For Loop, перебирающий числа от 10 до 6 с шагом –1. Именно ключевое слово Step говорит циклу о том, что на каждой итерации значение переменной lCount должно не увеличиваться на единицу, а уменьшаться. Внутри цикла мы использовали блок With, как и в первой версии подпрограммы. В первых двух строках блока With мы сохраняем объекты в объявленные ранее переменные. На первой итерации цикла, когда значение переменной lCount равно 10, в переменной Actual сохраняется объект формата линии 324 Часть III Рассказываем историю с помощью визуализации пятого ряда данных, а в переменной Projection – десятого. Эта предварительная работа значительно облегчает понимание следующего далее кода. Цвет линии прогноза устанавливается таким же, как у исходной линии, а ее стиль меняется на пунктирный. В заключительной строке блока происходит удаление соответствующего элемента из легенды диаграммы. Создание панельных диаграмм Панельные диаграммы (panel chart) идеально подходят для раздельного отобра­жения сразу нескольких рядов данных. На рис. 9.59 слева показан линейный график, явно перегруженный линиями, а справа – его аналог в виде панельной диаграммы, на которой ряды данных располагаются отдельно. Примечание Рабочая книга с этим примером называется PanelChartAutomation.xlsm и располагается на сайте с сопроводительными файлами. Рис. 9.59. Линейный график и панельная диаграмма Размещение каждого графика на панельной диаграмме вручную – задача не из легких. На написание макроса, который это сделает, у вас уйдет примерно столько же времени, но этот вариант имеет свои явные преимущества. Во-первых, с использованием макроса вы можете быть уверены, что все графики будут размещены на панели идеально четко и ни один из них не сместится ни на пиксель. Второе преимущество связано с возможными изменениями, которые могут произойти в будущем. К примеру, если вы что-то поменяете на графиках, вам придется заново вручную расставлять их, на что потребуется столько же времени, сколько и в первый раз. Что касается макроса, то вам необходимо будет лишь изменить пару цифр и запустить его. Как и в предыдущем примере, давайте начнем с записи макроса, чтобы подсмотреть имена объектов, с которыми мы будем работать. Для этого выполните следующие действия. Глава 9 Визуализация изменений с течением времени 325 1.На вкладке Разработчик (Developer) нажмите на кнопку Запись мак­ роса (Record Macro) и в открывшемся диалоговом окне нажмите на кнопку OK. 2. Выделите диапазон A1:B14 на рабочем листе. 3.На вкладке Вставка (Insert) нажмите на кнопку Рекомендуемые диаграммы (Recommended Charts) и выберите вариант График (Line). 4. Выделите заголовок диаграммы и нажмите на клавишу Delete. 5. Выделите вертикальную ось и нажмите на клавишу Delete. 6. Измените размер диаграммы по своему усмотрению. 7.Перенесите диаграмму в подходящее место на рабочем листе. При этом не важно, куда именно вы поместите диаграмму, – нам просто нужно посмотреть код, который будет сгенерирован в результате перемещения элемента. 8.На вкладке Разработчик (Developer) нажмите на кнопку Остановить запись (Stop Recording). В результате мы получим код макроса, показанный ниже. Чтобы посмот­ реть его, перейдите на вкладку Разработчик (Developer) и нажмите на кнопку Visual Basic: Sub Macro2() ' ' Macro2 Macro ' ' Range("A1:B14").Select ActiveSheet.Shapes.AddChart2(227, xlLineMarkers).Select ActiveChart.SetSourceData Source:=Range("Sheet4!$A$1:$B$14") ActiveChart.ChartTitle.Select Selection.Delete ActiveChart.Axes(xlValue).Select Selection.Delete ActiveSheet.ChartObjects("Chart 3").Activate ActiveSheet.Shapes("Chart 3").ScaleWidth 0.7229166667, msoFalse, _ msoScaleFromTopLeft ActiveSheet.Shapes("Chart 3").ScaleHeight 0.6736111111, msoFalse, _ msoScaleFromTopLeft ActiveSheet.ChartObjects("Chart 3").Activate ActiveSheet.Shapes("Chart 3").IncrementLeft 15 ActiveSheet.Shapes("Chart 3").IncrementTop -84.75 End Sub При записи макроса Excel генерирует строки кода для всех ваших действий. Так, первая строка была создана в ответ на выделение вами диапазона ячеек, вторая – на создание диаграммы и т. д. Запись макросов полезно использовать для изучения объектов модели Excel и синтаксиса выражений. В данном случае вы видите, что нам придется поработать с объектами и методами AddChart2, SetSourceData, ActiveChart и ChartObjects. Не беспокойтесь, 326 Часть III Рассказываем историю с помощью визуализации если досконально не понимаете сгенерированный код, мы будем использовать его лишь как образец. Вы, наверное, уже обратили внимание, что во время ваших действий Excel выбирает или активирует те или иные объекты, а затем выполняет какие-то действия с ними. В макросе делается только так, поскольку Excel не знает заранее, будете ли вы выполнять какие-то действия с объектом при его выборе. Но в своем коде вам не стоит предварительно выбирать объекты для работы. В этом разделе мы покажем, как лучше реализовывать код на языке VBA. Для начала напишите Sub MakeSinglePane под подпрограммой, созданной автоматически, и нажмите на клавишу Enter. Как и в прошлый раз, VBA автоматически добавит скобки к названию подпрограммы и завершит ее инструкцией End Sub. Ключевые слова Sub и End Sub являются границами начала и окончания вашего макроса. Теперь давайте создадим переменную, в которой будем хранить диаграмму. Вместо использования объекта ActiveChart мы присвоим созданный график переменной и будем манипулировать с ней. Введите следующий код между ключевыми словами Sub и End Sub: Sub MakeSinglePanel() Dim cht As Chart Set cht = ActiveSheet.Shapes.AddChart2(227, xlLine).Chart End Sub При помощи ключевого слова Dim мы создаем переменную, а выражение Set позволяет присвоить ей график. Записанный макрос создает диаграмму при помощи константы xlLineMarkers, но маркеры на ней не отображаются. Можно применить константу xlLine, чтобы гарантировать скрытие маркеров на графике. Первый параметр 227, представляющий собой стиль диаграммы, не очень хорошо документирован, так что оставим это значение из автоматически сгенерированного кода. Если вы запустите этот макрос, то получите пустую диаграмму на рабочем листе. Нам же необходимо манипулировать переменной cht для добавления элементов на график. Начнем с установки диапазона данных для диаграммы. Для этого используем уже знакомую нам связку With и End With для экономии чернил и лучшей организации кода. Расширьте ваш макрос до такого состояния: Sub MakeSinglePanel() Dim cht As Chart Set cht = ActiveSheet.Shapes.AddChart2(227, xlLine).Chart With cht .SetSourceData ActiveSheet.Range("A1:B14") End With End Sub Если запустить этот код, мы получим график с какими-то данными, как показано на рис. 9.60. Он уже приблизительно похож на то, что мы хотим видеть в итоге. Осталось просто почистить диаграмму, изменить ее размер Глава 9 Визуализация изменений с течением времени 327 и расположить так, как нам надо. Начнем с удаления заголовка диаграммы и оси значений. В результате код должен выглядеть так, как показано ниже: Sub MakeSinglePanel() Dim cht As Chart Set cht = ActiveSheet.Shapes.AddChart2(227, xlLine).Chart With cht .SetSourceData ActiveSheet.Range("A1:B14") .ChartTitle.Delete .Axes(xlSecondary).Delete End With End Sub Рис. 9.60. Диаграмма с исходными данными Осталось изменить размер графика и переместить его в нужное нам место. Автоматически записанный макрос оперирует для этого объектом Shape с использованием свойств и методов для изменения масштаба объекта и перемещения относительно текущей позиции. Я не знаю, почему Excel делает именно так, но для этого есть более простой способ. До этого мы манипулировали объектом Chart, у которого есть родительский объект ChartObject. И у этого родительского объекта присутствуют свойства вроде Top и Height, позволяющие устанавливать координаты элемента напрямую. В следующем фрагменте кода мы добавим еще один блок With и используем свойство Pa­r ent нашего графика, чтобы изменить размеры и положение нашего объекта: Sub MakeSinglePanel() Dim cht As Chart Set cht = ActiveSheet.Shapes.AddChart2(227, xlLine).Chart With cht .SetSourceData ActiveSheet.Range("A1:B14") 328 Часть III Рассказываем историю с помощью визуализации .ChartTitle.Delete .Axes(xlSecondary).Delete With .Parent .Top = 107 .Left = 580 .Height = 145 .Width = 260 End With End With End Sub Теперь наш код в точности повторяет действия записанного макроса. Вы можете запускать его многократно, и создаваемые графики будут размещаться один поверх другого. В наши же планы входит создание восьми графиков, а не одного. Вы можете использовать для этого наш макрос MakeSinglePanel, но для каждого графика вам придется вручную менять его координаты. Лучше создать макрос MakeSinglePanel2, который будет принимать на вход аргументы и использовать их в коде, как показано ниже: Sub MakeSinglePanel2(rSource As Range, _ dTop As Double, dLeft As Double, _ dHeight As Double, dWidth As Double) Dim cht As Chart Set cht = ActiveSheet.Shapes.AddChart2(227, xlLine).Chart With cht .SetSourceData rSource .ChartTitle.Delete .Axes(xlSecondary).Delete With .Parent .Top = dTop .Left = dLeft .Height = dHeight .Width = dWidth End With End With End Sub При создании первого макроса вручную VBA автоматически добавлял скобки после названия подпрограммы. Внутри этих скобок вы можете задавать аргументы, которые будут поступать на вход макроса. Аргументы внутри макроса работают как обычные переменные, за исключением того, что их значения не задаются в макросе, а поступают извне при вызове подпрограммы. В данном случае мы добавили аргумент типа Range, с помощью которого будем задавать исходный диапазон для графика, а также четыре аргумента типа Double, которые помогут нам позиционировать диаграмму. Вы можете вызвать подпрограмму MakeSinglePanel2 из другого макроса, передав ей на вход необходимые аргументы, как показано ниже: MakeSinglePanel2 ActiveSheet.Range("A1:B14"), 107, 580, 145, 260 Глава 9 Визуализация изменений с течением времени 329 Таким образом, наши переменные не инициализируются внутри макроса, а их значения поступают извне. Вы можете передать в макрос разные аргументы, что позволит построить разные диаграммы. Давайте вызовем наш макрос восемь раз с четко выверенными значениями аргументов для создания восьми графиков в рамках единой панели. На рис. 9.61 показан вывод обновленного макроса: Sub MakeAllPanels() With ActiveSheet MakeSinglePanel2 MakeSinglePanel2 MakeSinglePanel2 MakeSinglePanel2 MakeSinglePanel2 MakeSinglePanel2 MakeSinglePanel2 MakeSinglePanel2 End With End Sub .Range("A1:B14"), 255, 746, 100, 200 .Range("A1:A14, C1:C14"), 255, 946, 100, .Range("A1:A14, D1:D14"), 355, 746, 100, .Range("A1:A14, E1:E14"), 355, 946, 100, .Range("A1:A14, F1:F14"), 455, 746, 100, .Range("A1:A14, G1:G14"), 455, 946, 100, .Range("A1:A14, H1:H14"), 555, 746, 100, .Range("A1:A14, I1:I14"), 555, 946, 100, Рис. 9.61. Панель из восьми графиков 200 200 200 200 200 200 200 330 Часть III Рассказываем историю с помощью визуализации Возможно, вы заметили какие-то шаблоны в переданных нашему макросу аргументах. Значение, определяющее верхнюю координату графика, увеличивается через один вызов. Значение, отвечающее за расположение левой границы элемента, чередуется между 746 и 946, а аргументы высоты и ширины графиков зафиксированы на отметке 100 и 200. Всегда, когда вы замечаете определенные шаблоны в своем коде, у вас должно возникать желание реализовать выполнение операции в цикле, чтобы добавить макросу гибкости. Давайте создадим новую подпрограмму MakeSinglePanel2, в которой создание и размещение наших диаграмм на панели будет выполняться в цикле. Это позволит в будущем легко менять размеры элементов и их расположение. Например, вы можете разместить их по четыре в ряд, изменив несколько параметров в цикле: Sub MakeAllPanels2() Dim rAxis As Range Dim i As Long, j As Long Dim lCnt As Long Dim dWidth As Double, dHeight As Double Set rAxis = ActiveSheet.Range("A1:A14") dWidth = 200 dHeight = 100 For i = 1 To 4 For j = 1 To 2 lCnt = lCnt + 1 MakeSinglePanel2 _ rSource:=Union(rAxis, rAxis.Offset(0, lCnt)), _ dTop:=255 + ((i - 1) * dHeight), _ dLeft:=746 + ((j - 1) * dWidth), _ dHeight:=dHeight, _ dWidth:=dWidth Next j Next i End Sub Вся основная работа в этом макросе выполняется внутри двух вложенных циклов For. В первом определяется высота панели, а во втором – ширина. Поскольку мы используем один диапазон A1:A14 для всех вызовов, мы заранее сохранили его в переменной. Затем мы использовали выражение Union для объединения этого диапазона с нужной нам колонкой со значениями. Верхнюю левую координату графиков мы отсчитываем от значений 255 и 746. Каждый раз при запуске итерации внешнего цикла мы добавляем к предыдущей координате по вертикали высоту элемента, чтобы новый график разместился точно под предыдущим. То же самое происходит с горизонтальным смещением во внутреннем цикле. На выходе макрос MakeAllPanels2 создает такие же графики, как и MakeAllPanels. Но если вы захотите разместить диаграммы в формате 4×2, то можете просто объявить внешний цикл как For i = 1 to 2, а внутренний – как For j = 1 to 4. Финальная подготовка панели включает в себя вывод горизонтальных осей только на двух нижних графиках, поскольку на остальных они лишь Глава 9 Визуализация изменений с течением времени 331 занимают место. Проблема с удалением оси только на некоторых графиках состоит в том, что размер диаграмм с удаленной осью автоматически увеличится, что нарушит наши пропорции. Чтобы это обойти, мы можем зафиксировать значение свойства PlotArea.InsideHeight для всех графиков. Если устанавливать свойство PlotArea.InsideHeight напрямую, все ваши графики будут масштабированы одинаково, но значение свойства ChartArea. Height не изменится, и в местах, где были оси, останется пустое пространство. Напишем новый макрос с именем MakeSinglePanel3. На этот раз это будет не подпрограмма, а функция (function). Функция отличается от подпрограммы тем, что может возвращать значение или объект в вызывающий блок кода. Наша функция будет возвращать созданный график, в котором свойство PlotArea.InsideHeight можно будет установить позже. Функция также содержит два новых аргумента: dInsideHeight и bHideAxis: Function MakeSinglePanel3(rSource As Range, _ dTop As Double, dLeft As Double, _ dHeight As Double, dWidth As Double, _ dInsideHeight As Double, bHideAxis As Boolean) As Chart Dim i As Long Dim cht As Chart Set cht = ActiveSheet.Shapes.AddChart2(227, xlLine).Chart With cht .SetSourceData rSource .ChartTitle.Delete With .Axes(xlSecondary) .Delete .HasMajorGridlines = False End With If bHideAxis Then With .Axes(xlPrimary) .Delete .HasMajorGridlines = False End With .Parent.Height = dHeight Else .Parent.Height = dHeight Do Until .PlotArea.InsideHeight > dInsideHeight .Parent.Height = .Parent.Height + 1 Loop End If With .Parent .Top = dTop .Left = dLeft .Width = dWidth End With End With Set MakeSinglePanel3 = cht End Function 332 Часть III Рассказываем историю с помощью визуализации Как и раньше, здесь мы создаем график, дальше удаляем заголовок и вспомогательную ось. Также мы удаляем линии сетки, но это по желанию. Нам необходимо скрыть ось для всех графиков, кроме нижних. Аргумент bHideAxis отвечает за то, будет ли скрыта ось на графике. Если он равен True, основная ось будет скрыта. В противном случае мы имеем дело с диаграммой в нижнем ряду панели, и высота будет увеличиваться, пока область построения не сравняется по размерам с другими графиками. В заключительной строке созданный график возвращается в вызывающий код путем присваивания его имени функции. Вызывающую подпрограмму также потребуется изменить. Нам придется определять, находится ли график на нижнем ряду панели, чтобы правильно устанавливать значение аргумента bHideAxis. Обновленная подпрограмма MakeAllPanels3 приведена ниже: Sub MakeAllPanels3() Dim rAxis As Range Dim i As Long, j As Long Dim lCnt As Long Dim dWidth As Double, dHeight As Double Dim dInsideHeight As Double Dim cht As Chart Const lHigh As Long = 4 Const lWide As Long = 2 Set rAxis = ActiveSheet.Range("A1:A14") dWidth = 200 dHeight = 100 For i = 1 To lHigh For j = 1 To lWide lCnt = lCnt + 1 Set cht = MakeSinglePanel3( _ rSource:=Union(rAxis, rAxis.Offset(0, lCnt)), _ dTop:=255 + ((i - 1) * dHeight), _ dLeft:=746 + ((j - 1) * dWidth), _ dHeight:=dHeight, _ dWidth:=dWidth, _ dInsideHeight:=dInsideHeight, _ bHideAxis:=i < lHigh) If i = 1 And j = 1 Then dInsideHeight = cht.PlotArea.InsideHeight End If Next j Next i End Sub Эта подпрограмма содержит две новые переменные для хранения высоты области построения и объекта с графиком, возвращаемого функцией. Также мы объявили две константы с высотой и шириной панели. Вместо того чтобы Глава 9 Визуализация изменений с течением времени 333 вставлять значения непосредственно в циклы For Next, вы можете объявить константы в самом начале процедуры и использовать их при необходимости. Таким образом, если вы захотите изменить ориентацию панели, вам необходимо будет обновить значения констант и все. Здесь мы вызываем не подпрограмму для создания графиков, а функцию, возвращающую объект диаграммы, который мы присваиваем переменной cht. При таком вызове функции все аргументы должны быть заключены в круглые скобки. После вызова функции мы сохраняем значение свойства PlotArea.InsideHeight первого созданного графика, чтобы при достижении нижнего ряда функция знала, какой высоты создавать диаграммы. Итоговая панельная диаграмма показана на рис. 9.62. Рис. 9.62. Панельная диаграмма Предметный указатель Символы msoLineDash, 322 @, 40 N A Next, 318 Application.Wait, 318 O C Option Explicit, 318 Cырые данные, 20 ChartArea.Height, 331 ChartObject, 327 P D Dim, 318 DoEvents, 318 Double, 328 E End Sub, 318 End With, 322 ETL, 109 F For, 318 For Loop, 318 FullSeriesCollection, 321 H Height, 88, 327 L Parent, 327 PlotArea.InsideHeight, 331 Power Pivot, 110, 119 Power Query, 109 R Range, 328 RGB, 322 S SeriesCollection, 321 Set, 326 Shape, 88 SQL Server Express, 129 Sub, 318 T Top, 88, 327 U Union, 330 Left, 88 LegendEntries, 321 let, 134 V M Width, 88 With, 322 Microsoft SQL Server, 129 Visual Basic for Applications, 86, 316 W Предметный указатель X З xlLineMarkers, 326 Завершение линии, 283 плоское, 283 прямоугольное, 283 скругленное, 283 Загрузка данных из SQL Server, 130 Заказчик дашборда, 22 Закладка, 206 Замена значений, 140 Заместители, 172 Запятая, 172 Звездочка, 174 Значки, 197 Z Z-порядок, 205 А Автоматизация, 319 Агрегированные данные, 20 Адресация данных в сводных таблицах, 29 Активация Power Pivot, 119 Анализ данных, 20 Анимация, 309 Б И Вафельная диаграмма, 260 Внешний ключ, 128 Вопросительный знак, 177 Воронка, 233 ВПР, 30 Выброс, 305 Изменение размера фигуры, 199 Изображения SVG, 214 Именованный диапазон, 116 Импорт данных, 109 данных из Access, 124 текстового файла с полями фиксированной ширины, 111 файла с разделителями, 112 файлов Excel, 115 ИНДЕКС, 32 Инклюзивная медиана, 306 Интервалы, 268 Источник данных, 22 Г К База данных Access, 123 AdventureWorks, 130 Баннер-вывеска, 203 Биржевая диаграмма, 154 В Галерея стилей, 194 Гистограмма, 75, 184, 268 с группировкой, 77 Градиентная заливка, 184 Градиенты, 52 Границы, 53 Группы спарклайнов, 191 фигур, 209 Д Датчик в виде шкалы, 95 Диаграмма Ганта, 67 дерево, 166, 272 рассеяния, 236 солнечные лучи, 265 Документация, 23 Е ЕСЛИ, 37 335 Каркас дашборда, 58 Каскадная диаграмма, 92, 166, 275 Ключевой показатель эффективности, 21, 73 Кнопки полей, 311 Коллекция, 321 Кольцевая диаграмма, 80, 257 Комбинированная диаграмма, 297 Конечный пользователь, 23 менеджер по производству, 23 наблюдатель, 23 планировщик, 23 презентатор, 23 решитель, 23 Контраст, 155 Круговая диаграмма, 166, 255 Л Легенда, 161 Линейный график, 281 с двумя рядами, 300 336 Предметный указатель Линейный тренд, 49 Линейчатая диаграмма, 84, 222 с накоплением, 67, 68, 166 Линии сетки, 53 Линия тренда, 48, 237 #Заголовки, 41 #Итоги, 41 Отдельный числовой показатель, 220 Отчет, 21 М Панельная диаграмма, 324 Первичный ключ, 128 Перемещение фигуры, 199 Подписи данных, 53, 163 Подпрограмма, 318 ПОИСКПОЗ, 32 Полоса прокрутки, 313 ПОЛУЧИТЬ.ДАННЫЕ.СВОДНОЙ. ТАБЛИЦЫ, 28 Пользовательская шкала, 180 Пользовательские форматы данных, 170 Поля сводной таблицы, 25 Правило пяти секунд, 148 Пределы погрешностей, 292 Представление данных, 20 Промежуточные итоги, 27 ПРОСМОТРХ, 31 Пузырьковая диаграмма, 169, 241 Пулевая диаграмма, 60, 226 Макет дашборда, 58, 74 Макрос, 316 МАКС, 36 Манипулирование отдельными столбцами, 138 Маркер, 193 Масштабирование, 72 рабочего листа, 147 Межквартильный размах, 305 Метод, 322 Метрика, 90 МИН, 37 Модель данных, 118 Н Наборы значков, 187 индикаторы, 187 направления, 187 оценки, 187 фигуры, 187 Настройка осей для спарклайнов, 195 Неинформационные пиксели, 160 Неполная иерархия, 273 Непрерывная переменная, 268 Нечеткий поиск, 30 Нормализация, 107 Нормированная линейчатая диаграмма с накоплением, 167 О Область выделения, 208 значений, 25 печати, 147 столбцов, 25 строк, 25 Обозреватель проекта, 87, 101 Обращение знака, 92 Общие итоги, 27 Округление, 141 Оператор точка, 322 Организация элементов, 46 Оси, 53, 163 Особые области таблицы, 41 #Все, 41 #Данные, 41 П Р Разделение колонок, 141 Размер шрифта, 161 Расположение визуальных элементов, 46 Ревизия дашборда, 24 Редактирование формул вручную, 139 Редактор Power Query, 115, 134 Visual Basic, 87 Режим редактирования фигуры, 200 Рисунки, 53 С Сбалансированность дашборда, 148 Свечение, 53 Сводная диаграмма, 25, 63, 309 Сводная таблица, 24 Сводная таблица на основе модели данных, 122 Свойство, 322 Связанный рисунок, 69 Связь «один ко многим», 122 Сглаженная линия, 284 Сглаживание, 53 Сегмент, 213 Символ подчеркивания, 174 Предметный указатель продолжения строки, 322 Слои данных, 104 слой источника, 104 слой подготовки и анализа, 104 слой представления, 104 Слой графики, 197 Соединительные линии, 276 Создание дашбордов, 45 Создание связи, 120 Сокращение количества строк в запросе, 135 Спарклайны, 189 выигрыш/проигрыш, 189 гистограмма, 189 график, 189 Специальные символы, 172 Сплошная заливка, 184 Сравнение данных, 165 Срез, 311 Стадии разработки элементов визуализации, 60 Старые диалоговые окна импорта, 112 Статистика, 141 Столбец из примеров, 143 Столбчатая диаграмма, 222 Структурированные ссылки, 39 СУММПРОИЗВ, 33 Т Текст на графиках, 160 Текстовые файлы, 110 с полями фиксированной ширины, 110 с разделителями, 110 Текст по столбцам, 41 Тень, 53 Тип данных, 138 Типы диаграмм, 152 Типы линии тренда, 50 Точечная гистограмма, 244 Точечная диаграмма, 168, 236 Точка, 173 Трехмерные элементы, 51 337 шага, 135 дубликатов, 43 Узел, 213 прямой, 213 угловой, 213 Умная таблица, 37 Управляющие маркеры, 212 Условное пользовательское форматирование, 178 Ф Фигуры, 197 Фильтрация данных, 137 Форматирование дашборда, 50 чисел, 54 Форматы даты, 177 Формулы массива, 36 рабочего листа, 25 Функции рабочего листа, 30 Функция, 331 Х Хроматический круг, 159 Ц Цвет заливки, 52 Цветовая палитра, 52, 159 Цветовая шкала, 179 Цветовое наполнение диаграмм, 154 Цветовое разделение подкатегорий, 156 Цвет элементов, 52 Ч Четкий поиск, 30 Ш Шрифт, 160 Э Эксклюзивная медиана, 306 Эффекты, 53 У Я Удаление спарклайна, 192 Язык программирования M, 132 Ящик с усами, 305 Книги издательства «ДМК ПРЕСС» можно купить оптом и в розницу в книготорговой компании «Галактика» (представляет интересы издательств «ДМК ПРЕСС», «СОЛОН ПРЕСС», «КТК Галактика»). Адрес: г. Москва, пр. Андропова, 38; тел.: (499) 782-38-89, электронная почта: books@alians-kniga.ru. При оформлении заказа следует указать адрес (полностью), по которому должны быть высланы книги; фамилию, имя и отчество получателя. Желательно также указать свой телефон и электронный адрес. Эти книги вы можете заказать и в интернет-магазине: www.a-planeta.ru. Дик Куслейка Визуализация данных при помощи дашбордов и отчетов в Excel Главный редактор Мовчан Д. А. dmkpress@gmail.com Зам. главного редактора Перевод Корректор Верстка Дизайн обложки Сенченкова Е. А. Гинько А. Ю. Синяева Г. И. Чаннова А. А. Мовчан А. Г. Гарнитура PT Serif. Печать цифровая. Усл. печ. л. 27,46. Тираж 200 экз. Веб-сайт издательства: www.dmkpress.com Powered by TCPDF (www.tcpdf.org)