Эта сводная таблица подключается к внешнему источнику данных не поддерживаемому в этой версии excel
Бывают ситуации, когда на рабочей станции отсутствуют такие средства взаимодействия с БД как: MS SQL Server Management Studio, Aquafold Aqua Data Studio, DBeaver и т.п., а вероятность их установки в краткосрочной перспективе близка к нолю. В то же время, присутствует острая необходимость подключения к этой самой БД и работы с данными. Как оказалось, на помощь может прийти старый добрый MS Excel.
В моем случае требовалось подключиться к MS SQL Server, однако, MS Excel умеет устанавливать соединение не только с ним, но и с большинством современных БД: MySQL, PostgreeSQL, IBM DB2 и даже Oracle и Teradata, а также с файлами данных CSV, XML, JSON, XLS(X), MDB и другими.
Теперь немного о действиях, совершенных мной с целью подключения к базе:
В новой книге на ленте выбираем «(1) Данные» -> «(2) Получение внешних данных» -> «(3) Из других источников» -> «(4) С сервера SQL Server».
Далее, в окне Мастера подключения к данным, заполняем «(1) Имя сервера» -> «(2) Учетные сведения»[ -> «(3) Имя пользователя» и «Пароль»]. Таким образом, мы сообщаем MS Excel, с каким сервером мы хотим установить соединение и какой метод аутентификации хотим использовать. Я использовал «проверку подлинности Windows», но возможно также указать учетные данные отличные от установленных в Windows.
Выбираем целевую «(1) Базу данных» -> «(2)(3) Определенную таблицу» или «Несколько таблиц» или же базу в целом (тогда оба «чекбокса» оставляем пустыми).
После всех проделанных манипуляций, Мастер подключения предложит сохранить файл подключения. Потребуется задать «(1) Имя файла». Желательно также указать «(2) Описание» и «(3) Понятное имя файла», чтобы спустя время было понятно какой файл подключения к какой базе или таблице обращается.
Теперь выбрать созданное подключение можно будет следующим образом: «(1) Данные» -> «(2) Получение внешних данных» -> «(3) Существующие подключения».
Открыв только что созданное подключение, в случае если вы соединялись с базой в целом, MS Excel опять предложит выбрать одну или несколько конкретных таблиц:
Определив таблицы, MS Excel предложит выбрать «(1) Способ представления данных» и «(2) Куда следует поместить данные». Для простоты я выбрал табличное представление и размещение на уже имеющемся листе, чтобы не плодить новые. Далее следует нажать на «(3) Свойства».
В свойствах подключения, нужно перейти на вкладку «(1) Определение». Здесь можно выбрать «(2) Тип команды». Даже если требуется выгружать лишь одну таблицу без каких-либо связей, настоятельно рекомендую выбрать SQL команду, чтобы иметь возможность ограничить размер выгружаемой таблицы (например, с помощью TOP(n)). Так, если вы попытаетесь выгрузить целиком таблицу базы, это может привести в лучшем случае к замедлению работы MS Excel, а в худшем к падению программы, к тому же – это необоснованная нагрузка на сам сервер базы данных и на сеть. После того как «(3) Текст команды» будет введен и нажата кнопка «ОК», MS Excel предложит сохранить изменения запроса – отвечаем положительно.
Иногда требуется создать сводную таблицу для данных, хранящихся за пределами Excel, например в базе данных. В этом случае следует сначала подключиться к внешнему источнику данных, а затем использовать для их обобщения, анализа, изучения и визуализации сводную таблицу.
Создание сводной таблицы на основе внешнего источника данных
Вы можете использовать внешний источник данных, однако последовательность действий зависит от его типа.
Если источник — база данных SQL
На вкладке Данные выберите команду Создать запрос базы данных.
Выберите пункт SQL Server ODBC.
Откроется диалоговое окно подключения к источнику данных SQL Server ODBC. Уточните данные сервера у своего администратора базы данных и введите их в этом окне. После этого нажмите кнопку Подключиться.
Чтобы показать список баз данных, щелкните стрелку рядом с сервером в левой части окна.
Щелкните стрелку рядом с нужной базой данных.
Щелкните имя нужной таблицы.
Чтобы предварительно просмотреть данные, выберите команду Запустить.
Когда вы будете готовы импортировать данные в Excel, нажмите кнопку Вернуть данные.
В диалоговом окне Импорт данных щелкните Сводная таблица и нажмите кнопку ОК.
В Excel будет создана пустая сводная таблица и появится построитель сводных таблиц. Добавьте, удалите или переместите поля.
Если источник — не база данных SQL
Если вы хотите использовать внешний источник данных, не являющийся базой данных SQL, вам потребуется установить на компьютер Mac драйвер ODBC (Open Database Connectivity). Информация о драйверах есть на этой веб-странице. После установки драйвера для источника вы можете использовать внешние данные в с помощью указанных в ней действий.
На вкладке Данные выберите команду Создать запрос базы данных.
Выберите пункт Из базы данных.
Добавьте источник данных для своей базы и нажмите кнопку OK.
Чтобы показать список баз данных, щелкните стрелку рядом с сервером в левой части окна.
Щелкните стрелку рядом с нужной базой данных.
Щелкните имя нужной таблицы.
Чтобы предварительно просмотреть данные, выберите команду Запустить.
Когда вы будете готовы импортировать данные в Excel, нажмите кнопку Вернуть данные.
В диалоговом окне Импорт данных щелкните Сводная таблица и нажмите кнопку ОК.
В Excel будет создана пустая сводная таблица и появится построитель сводных таблиц. Добавьте, удалите или переместите поля.
Добрый день!
Я недавно купил MacBook Pro и сразу же купилна него лицензионный MS Office 16, т.к без него совершенно не могу работать. Меня уверяли что Office на Mac полностью совместим со всем документами, которые делаются на MS Office HA Windows, однако я столкнулся с большой проблемой. Ежедневно мне высылают отчетность в формате xlsx весом более 10MB. К сожалению, у меня не работают фильтры в таблицах, а без этих фильтров я не могу увидеть нужную мне информацию. Нажимая на фильтры у меня выскакивает таблица с предупреждением: "
Эта сводная таблица подключается к внешнему источнику данных, не поддерживаемому в этой версии Excel." или "Сводная таблица в этой книге не будет работать в версиях, предшествующих Excel 2007. В более ранних версиях Excel будут работать только сводные таблицы, созданные в режиме совместимости". Остальные файлы, которые я открываю работают корректно, но в самом главном документе фильтры не работают. Я пробовал различные варианты чтобы фильтры начали работать: брал компьютер на windows с той же версией MS Office, сохранял в разных форматах, потом пересылал на МАС, но все равно фильтры не работают. На данный момент получается, что самый главный мой отчет не работает, MS Office не работает и я просто выбросил деньги на ветер. Посоветуйте пожалуйста как устранить данную проблему.
Эта цепочка заблокирована. Вы можете просмотреть вопрос или оставить свой голос, если сведения окажутся полезными, но вы не можете написать ответ в этой цепочке.
Оскорбление — это любое поведение, которое беспокоит или расстраивает человека или группу лиц. К угрозам относятся любые угрозы самоубийством, насилием, нанесением ущерба и др. Любое содержимое для взрослых или недопустимое на веб-сайте сообщества. Любое изображение, обсуждение наготы или ссылка на подобные материалы. Оскорбительное, грубое или вульгарное поведение и другие проявления неуважения. Любое поведение, нарушающее лицензионные соглашения, в том числе предоставление ключей продуктов или ссылок на пиратское ПО. Незатребованная массовая рассылка или реклама. Любые ссылки или пропаганда сайтов с вирусным, шпионским, вредоносным или фишинговым ПО. Любое другое неуместное содержимое или поведение в соответствии с правилами использования и кодексом поведения. Любое изображение, ссылка или обсуждение, связанные с детской порнографией, детской наготой или другими вариантами оскорбления или эксплуатации детей.
Последнее дополнение – это набор инструментов BI (business intelligence). Эти инструменты дают возможность представить данные с помощью традиционных инструментов, таких как Таблицы, сводные таблицы и диаграммы, чтобы эффективно рассказать историю. До сих пор мы изучали роль Таблиц в рабочей книге. В этой главе рассматривается, как Excel использует Таблицы для обработки внешних данных.
Рис. 8.1. Группа Получить и преобразовать данные вкладки Данные
Подключение к внешним данным
Вы можете получить доступ к внешним источникам через вкладку Данные, группу Получить и преобразовать данные (рис. 8.1). Подключения к данным хранятся вместе с книгой, и вы можете просмотреть их, выбрав пункт Данные –> Запросы и подключения.
Подключение к данным может быть отключено на вашем компьютере. Для подключения данных пройдите по меню Файл –> Параметры –> Центр управления безопасностью –> Параметры центра управления безопасностью –> Внешнее содержимое. Установите переключатель на одну из опций: включить все подключения к данным (не рекомендуется) или запрос на подключение к данным.
Рис. 8.2. Настройка доступа к внешним данным; чтобы увеличить изображение кликните на нем правой кнопкой мыши и выберите Открыть картинку в новой вкладке
Подробнее о подключении к внешним источникам данных см. Кен Пульс и Мигель Эскобар. Язык М для Power Query. При использовании таблиц, подключенных к данным можно переставлять и удалять столбцы, не изменяя запрос. Excel продолжает сопоставлять запрошенные данные с правильными столбцами. Однако ширина столбцов обычно автоматически устанавливается при обновлении. Чтобы запретить Excel автоматически устанавливать ширину столбцов Таблицы при обновлении, щелкните правой кнопкой мыши в любом месте Таблицы и пройдите по меню Конструктор –> Данные из внешней таблицы –> Свойства, а затем снимите флажок Задать ширину столбца.
Рис. 8.3. Свойства Таблицы, подключенной к внешним данным
Подключение к базе данных
Для подключения к базе данных SQL Server выберите Данные –> Получить данные –> Из базы данных –> Из базы данных SQL Server. Появится мастер подключения к данным, предлагающий элементы управления для указания имени сервера и типа входа, который будет использоваться для открытия соединения. Обратитесь к своему администратору SQL Server или ИТ-администратору, чтобы узнать, как ввести учетные данные для входа.
Рис. 8.4. Подключение к базе данных SQL Server
При импорте данных в книгу Excel их можно загрузить в модель данных, предоставив доступ к ним другим инструментам анализа, таким как Power Pivot.
Имя Таблицы
Excel импортирует каждую выбранную таблицу базы данных в новую Таблицу Excel на новом листе в активной книге. Он создает имена Таблиц в формате Table_Name, где Name – это имя таблицы базы данных или представления в базе данных SQL Server. При импорте одной таблицы имя таблицы будет Table_ServerName_ DatabaseName_TableName, где ServerName – имя сервера, DatabaseName – имя базы данных, а TableName – имя импортируемой таблицы.
Работа с текстовыми файлами
Текстовые файлы обычно представлены в виде CSV-файла (значения, разделенные запятыми), txt-файла (с разделителями табуляции) или PRN-файла (с фиксированными полями или пробелами). Excel по-прежнему создает подключение к данным при импорте текстовых файлов, но не помещает данные в Таблицу. Это связано с отсутствием информации о данных, содержащихся в текстовом файле. Базы данных имеют определенные правила, такие как уникальные имена полей/столбцов, в то время как текстовые файлы не связаны этими правилами. Excel загружает текстовые данные в запрос; Excel не пытается принудительно поместить данные в Таблицу или другой структурированный формат.
Подключение к текстовому файлу
Чтобы выбрать текстовый файл для импорта, пройдите по меню Данные –> Получить и преобразовать данные –> Из текстового/CSV-файла. Форматы файлов по умолчанию – PRN, TXT и CSV. После выбора файла Excel открывает диалоговое окно:
Текст файл был подготовлен авторами книги в англо-американской традиции, поэтому перед размещением данных в книге Excel, их нужно доработать. Кликните кнопку Преобразовать данные, и измените формат столбцов OrderDate, Cost и Total используя локаль (подробнее см. Изменение настроек Power Query, действующих по умолчанию).
Рис. 8.6. Данные после преобразования в редакторе Power Query
Теперь данные можно поместить на лист Excel. Кликните Закрыть и загрузить. Excel по умолчанию поместит данные в Таблицу:
Рис. 8.7. Обработанные данные из текстового файла в Таблице Excel
Чтобы обновить подключение к текстовому файлу, необходимо обновить запрос.
Работа с данными из Azure Marketplace
Azure Marketplace является хранилищем данных и приложений анализа данных. Это облачная инфраструктура и платформа, которая используется для создания, развертывания и управления облачными службами. Данные, доступные в Azure Marketplace, можно экспортировать в текстовые файлы, поместить в модель данных Power Pivot или непосредственно в Таблицу. Если запрашиваемый набор записей превышает 1 млн, его придется импортировать в модель данных, которая поддерживает неограниченное число строк.
Для подключения к Azure Marketplace из Excel требуется URL-адрес данных и ключ учетной записи. На домашней странице Azure Marketplace щелкните ссылку Databases. Появится страница со списком наборов данных; некоторые из них бесплатны, а некоторые доступны за плату. Выберите один из бесплатных источников данных. Пройдите регистрацию. После подключения к набору данных Azure Marketplace это соединение становится таким же, как и любое другое, и его можно обновить, чтобы работать с самыми последними данными. Имейте в виду, что каждое соединение считается трансакцией.
Программа Excel является прекрасным средством обработки и анализа данных. По сути, сводные таблицы сами по себе являются доказательством аналитической мощи Excel. Однако, говоря обо всех достоинствах программы, нельзя не упомянуть и об одном существенном упущении. Программа Excel построена на относительно простой платформе управления данными, обладающей тремя недостатками. [1]
- Размер набора данных сильно влияет на скорость обработки данных в сводной таблице. Это накладывает серьезные ограничения на эффективность использования сводных таблиц как самодостаточных структур. Причина подобного поведения программы — в специфике управления оперативной памятью. Файл при открытии в Excel полностью перемещается в оперативную память для более быстрой обработки и доступа к данным. Но при этом в программе не реализован надежный механизм оптимального управления оперативной памятью при извлечении из нее даже небольшого фрагмента данных. Несмотря на то что в Excel 2013 предусматривается использование до 1 млн. строк и 16 тыс. столбцов, даже средние по размеру наборы данных приводят к значительным задержкам при обработке.
- Отсутствие реляционной модели данных вынуждает нас использовать «плоские» таблицы, которые хранят избыточные данные и увеличивают вероятность появления ошибок.
- Отсутствие индексации полей данных в Excel для оптимизации процесса извлечения больших объемов данных.
Именно поэтому в серьезных организациях для управления данными используется не Excel, а такие СУБД, как Microsoft Access и SQL Server. Эти СУБД применяются для хранения миллионов записей, которые можно быстро находить и извлекать. При подобном разделении производственных задач формируется уровень управления данными (сама база данных) и уровень приложения (Excel). Трудность заключается в том, чтобы найти наилучший способ извлечения информации из уровня управления данными и передачи ее на уровень приложения для эффективного использования в сводной таблице.
Управление данными — это основная операция, осуществляемая в рамках проекта по созданию сводных таблиц и анализу информации в них. Внешние источники данных максимально приспособлены для создания на их основе сводных таблиц большого размера. Это означает, что Excel прекрасно справляется с анализом информации, полученной из внешних источников данных, и передачей их на уровень приложения.
Создание сводных таблиц на основе данных Microsoft Access
Программа MS Access применяется для управления наборами таблиц, которые связаны согласно определенным правилам или полям. При управлении данными в Access в вашем распоряжении оказываются все преимущества реляционных баз данных: целостность информации, отсутствие избыточных данных и получение необходимых сведений с помощью запросов.
Для большинства пользователей Excel базы данных Access представляют ценность только как хранилища информации, данные из которых извлекаются с помощью запросов. После импорта данных в Excel их можно представить в виде сводных таблиц, а потому и быстро проанализировать самым тщательным образом. Проблема такого подхода заключается в том, что он предполагает хранение в одной рабочей книге сразу двух копий одного и того же набора данных: на рабочем листе и в кеше сводной таблицы. Это автоматически делает рабочую книгу громоздкой, а ее файл — в два раза большего размера, чем того требует ситуация. В результате возникают проблемы производительности.
В Excel 2013 поддерживается удивительно простой способ извлечения данных из файлов Access, не требующий создания двух их копий. Просто запустите Excel и откройте пустую рабочую книгу. Далее перейдите на вкладку ленты Данные и в группе Получение внешних данных щелкните на кнопке Из Access (рис. 1).
Рис. 1. Получение данных из Access
На экране появится диалоговое окно с просьбой указать базу данных, из которой будет извлекаться информация. Укажите исходную базу данных. (Ссылка на базу данных, используемую в данном примере, приведена в начале заметки; вам потребуется сохранить базу данных на локальном диске). После выбора базы данных на экране появится диалоговое окно, подобное показанному на рис. 2. В нем перечислены все таблицы и запросы, присутствующие в указанной базе данных. В нашем примере выбран запрос Sales By Employee. Щелкните на кнопке ОК.
Рис. 2. Выберите запрос или таблицу, данные которой нужно проанализировать
В диалоговом окне Выбор таблицы имеется столбец Тип. В Access существуют два типа объектов, которые могут импортироваться в Excel: представление (VIEW) и таблица (TABLE). Представления соответствуют запросам Access. В нашем примере Sales_By_Employee — это запрос Access. Таким образом, в сводную таблицу будет импортироваться результат выполнения запроса. Это очень важный аспект обработки данных. Выборку необходимых данных, соответствующих запросу, выполняет программа Access, a Excel всего лишь выполняет анализ выбранных данных.
Следующим на экране появляется диалоговое окно Импорт данных. В нем указывается формат, в котором будут импортироваться данные (рис. 3). Можно импортировать исходные данные как таблицу, сводную таблицу или сводную таблицу с соответствующей диаграммой. Кроме того, нужно указать Excel, куда именно следует поместить данные. Щелкните ОК. На листе появится панель Поля сводной таблицы. Можно начинать работать с только что созданной сводной таблицей (рис. 4).
Рис. 3. Установите переключатель Отчет сводной таблицы
Рис. 4. Сводная таблица готова к использованию
Преимущество описанного способа заключается в сохранении в рабочем файле только одной копии исходных данных, которая заносится в кеш сводной таблицы. Ни в каких рабочих листах в явном виде импортированные данные не сохраняются. Представляет ли это проблему, если вы захотите вывести импортированные данные? Конечно же, нет!
При создании сводной таблицы на основе базы данных Access вы сможете обновить ее данные только в случае доступности исходной таблицы или запроса. Таким образом, удаление, перемещение или переименование базы данных или отдельных ее компонентов приводит к нарушению связи сводной таблицы с внешним источником, а потому и к невозможности ее обновления.
Именно по этой причине многие клиенты, использующие связанные с базой данных сводные таблицы, не могут своевременно обновлять информацию и из-за этого отказываются от применения внешних источников. Поэтому лучше всего при создании сводных таблиц использовать внешние данные, располагаемые на общедоступных файловых серверах.
Создание сводных таблиц на основе данных SQL Server
В связи с популяризацией коллективных вычислений в Excel 2013 были серьезно усовершенствованы средства подключения к транзакционным базам данных, таким как SQL Server. С помощью новых, встроенных в Excel инструментов создание сводных таблиц на основе баз данных SQL Server становится предельно простым занятием. Начните с перехода на вкладку ленты Данные. Щелкните на кнопке Из других источников и в раскрывающемся списке выберите команду С сервера SQL Server (рис. 5).
Рис. 5. Выберите в раскрывающемся списке команду С сервера SQL Server
Тем самым вы запустите мастер подключения к данным (рис. 6). С его помощью в Excel настраивается ссылка на внешние данные, расположенные на сервере.
Рис. 6. Введите регистрационные данные и щелкните на кнопке Далее
В рассматриваемом случае файл примера отсутствует. Здесь проиллюстрирована процедура взаимодействия Excel и SQL Server. Действия, которые вы будете выполнять для подключения к собственной базе данных, полностью повторяют описанные ниже. На первом шаге мастера нужно предоставить Excel регистрационные данные. Как видно на рис. 6, от вас требуется ввести имя сервера, а также имя пользователя и пароль доступа к данным. При вводе регистрационных данных в Windows достаточно установить переключатель Использовать проверку подлинности Windows.
Далее укажите нужную базу данных, выбрав ее в раскрывающемся меню, в котором перечисляются все базы данных, хранящиеся на соответствующем сервере (рис. 7). В примере выбрана база MyServer66. Выбор этой базы данных приводит к отображению в нижней части окна всех ее таблиц и представлений. Вам осталось только указать анализируемую таблицу или представление, а затем щелкнуть на кнопке Далее.
Рис. 7. Укажите исходную базу данных, а затем выберите таблицу или представление
В следующем диалоговом окне мастера (рис. 8) можно ввести описательную информацию о создаваемом подключении. Все текстовые поля заполнять не обязательно. Даже если вы не введете ни один из параметров, подключение все равно будет работоспособным.
Рис. 8. Описательная информация о создаваемом подключении
Чаще всего в этом диалоговом окне используются такие параметры.
- Имя файла. В этом поле можно изменить имя файла с расширением .ode (Office Data Connection), генерируемого с целью хранения параметров создаваемого подключения.
- Сохранить пароль в файле. Этот флажок, расположенный под полем ввода имени файла, обеспечивает хранение пароля доступа к внешнему источнику в файле, содержащем описание параметров конфигурации подключения. Имейте в виду, что пароль не зашифрован, поэтому любой пользователь может узнать ваш пароль, просто просмотрев файл в текстовом редакторе.
- Описание. В этом поле вводится краткое описание назначения устанавливаемого подключения.
- Понятное имя. В качестве понятного (для пользователей) имени обычно используется собственное название внешнего источника данных. Это название должно быть более значимым для вас, чем то, которое дал ему его создатель.
Завершив ввод всей необходимой информации, щелкните на кнопке Готово. Вы увидите на экране последнее диалоговое окно — Импорт данных (такое же, как на рис. 3). Установите переключатель Отчет сводной таблицы и щелкните ОК, после чего переходите к непосредственному управлению отчетом сводной таблицы.
Практикум: создание модели данных, включающей несколько внешних таблиц
Предположим, что в вашем распоряжении имеется база данных Access из примера выше. Вы хотите проанализировать данные из этой базы в Excel. Выполните следующие действия.
1. Выделите вкладку Данные и перейдите в группу Получение внешних данных. Щелкните на кнопке Из Access (см. рис. 1).
2. Найдите базу Access и откройте ее. На экране появится диалоговое окно Выбор источника данных. Установите флажок Разрешить выбор нескольких таблиц. Отметьте флажками таблицы, которые будут включаться во внутреннюю модель данных. Щелкните ОК (рис. 9).
Рис. 9. Отметьте флажками таблицы, которые будут включены во внутреннюю модель данных
3. На экране появится диалоговое окно Импорт данных. Установите переключатель Отчет сводной таблицы. Щелкните на стрелке раскрывающегося списка, находящейся справа от кнопки Свойства, и снимите флажок Импорт связей между таблицами (рис. 10). Это исключит вероятность появления ошибки в случае некорректной интерпретации связей между таблицами. Это действие требуется в том случае, если вы собираетесь создавать связи между таблицами самостоятельно. Щелкните на кнопке ОК для создания базовой сводной таблицы
Рис. 10. Снимите флажок Импорт связей между таблицами
4. Выберите вкладку ленты Данные и в области Работа с данными щелкните на кнопке Отношения. На экране появится диалоговое окно Управление связями. Кликните Создать. Откроется окно Изменение связи (рис. 11). Используя раскрывающиеся списки создайте нужные связи через поля, представляющие собою первичные ключи. В нашем примере – это поле Employee_Number. Щелкните OK, чтобы закрыть окно Изменение связи.Щелкните Закрыть, чтобы закрыть окно Управление связями (рис. 12).
Рис. 11. Создайте требуемые связи для только что импортированных таблиц
Рис. 12. Окно Управление связями с только что созданной связью между таблицами Sales_by_Employeeи Employee_Master
5. В вашем распоряжении появилась сводная таблица, основанная на внешних данных, которые были импортированы в модель данных. Можно, например, проанализировать продажи по рынкам сбыта и ФИО торговых представителей (рис. 13).
Рис. 13. Сводная таблица на основе нескольких внешних таблиц
[1] Заметка написана на основе книги Джелен, Александер. Сводные таблицы в Microsoft Excel 2013. Глава 7.
Читайте также: