Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Конструктор получения данных
 
Добрый день!
Помогите, пожалуйста, придумать решение задачи или подскажите, где можно найти соответсвующую информацию.

Есть excel-файл с подключением к базе данных (ms sql server) - в свойствах подключения стоит тип команды SQL, текст команды выглядт так:
select * from table
Таблица огромна, десятки миллионов записей. В таблице лежат продажи.
Сводные отчеты с группировками уже есть, но нужна возможность получать детализацию до продажи (за большой период времени) для пользователей, которые не пишут sql-запросы.
При сохранении всей таблицы с последующей классической фильтрацией возникает ряд проблем, связанный с огромным размером файла.

Я хочу сделать следующее:
Человек в excel нажимает набор фильтров/кнопок (например, продажи за апрель 2018 года, в городе Уфа), строка подключения меняется на select * from table where year = '2018' and month = 'Апрель' and city = 'Уфа'.

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

Подскажите, пожалуйста, как реализовать эту задумку макросами?
Или, может, вы подскажее более эффективный способ решения задачи?
 
Ings,
1
Цитата
Ings написал:
строка подключения меняется на select *
это Command , а не Connection,
2. Чем осуществляется запрос?
2.1 Если MS Query, то в нем есть встроенный механизм передачи параметров или прямо из ячеек или запросом,  и прописать желаемое элементарно. При этом можно предусмотреть авто рефреш.
2.2. Если VBA , то естественно нужно в коде прописать изменений строки запроса.
2.3 даже для 2.1 иногда удобнее менять строку запроса через VBA
2.4 PowerQuery
....
3. пример покажете?
 
БМВ, MS Query, скриншот в приложении.
Подскажите, как использовать встроенный механизм, о котором Вы пишите? Где можно подробнее об этом почитать?

Пример, к сожалению, дать не могу (политика безопасности компании).  
 
возможно для начала этого хватит,

 
 
БМВ, это то, что мне нужно, только в Вашем случае подключение идет к access, а у меня к ms sql server.
Подскажите, пожалуйста, как решить задачу в моём случае?
 
Все действия те же, просто немного иная строка коннекта, но её вам трогать не нужно. Обратите внимание, как параметр выглядит в строке запроса и чтоб не ломать , лучше тут не менять, а пользоваться мастером построения. Под рукой есть только это пример, но базы уже нет :-)
 
 
БМВ, а можете посоветовать, где подробнее про это почитать / посмотреть?
 
https://yandex.ru/yandsearch?text=MSquery%20microsoft&from=os&lr=2&redircnt=1523280175.1
и https://support.office.com/ru-ru/article/%D0%9F%D0%BE%D0%BB%D1%83%D1%87%D0%B5%D0%BD%D0%B8%­D0%B5-%D0%...
и https://support.microsoft.com/ru-ru/help/136699/description-of-the-usage-of-joins-in-microsoft-query
и ......

Я больше не знаю ресурсов.  
Изменено: БМВ - 9 Апр 2018 16:26:16
 
БМВ, спасибо большое!
 
Как вариант PowerQuery - очень крутая штука и доступна всем. Но нужна Pro версия Excel, чтобы все функции работали. Универсальна для 2010/2013/2016(встроена)/PowerBI(встроена).

https://www.youtube.com/watch?v=8IWrtwMb03s
C 1:57 по 5:20 как подключиться к SQL database. На английском, но там всё сопровождается видеорядом, что куда нажимать и вводить.

https://www.youtube.com/watch?v=gK2yBpiITvI&index=14&list=PLrRPvpgDmw0m3ohSvgwoHvd0KO8QsQd­iK&t=2s
Файл пример Start
Файл пример Finish

Тоже на английском, и то же всё наглядно. Как из с листа Ексель можно задать параметры, которые будет обрабатывать PowerQuery при создании запроса к базе данных. Т.е. данный параметр пользователь может задавать сам прямо в книге. Главное, чтобы вы настроили его обработку в PowerQuery.

Надеюсь разберетесь.
 
VasiliePavlov, подскажите, пожалуйста, PRO версия excel должна стоять и у пользователей, которые этим впоследствии будут пользоваться?
 
Ings,
PowerQuery - доступна и для стандарта, а вот PowerPivot только в про.
 
 
БМВ, спасибо
 
Цитата
БМВ написал: PowerQuery - доступна и для стандарта, а вот PowerPivot только в про.
Это да, но функционал будет не полный, и на сколько я понял в плане именно интерфейса не все кнопки будут. А вот с точки зрения языка запросов M, ограничений думаю нет.

Возможно пользователям для уже настроенного запроса, где они будут только обновлять хватит и для стандарта. А вот Вам Ings как создателю запросов желательно запускать из Pro.
Изменено: VasiliePavlov - 10 Апр 2018 21:37:41
 
Цитата
VasiliePavlov написал:
но функционал будет не полный, и на сколько я понял в плане именно интерфейса не все кнопки будут.
ну это дезинформация. PowerQuery не урезается. Интерфейс может чуть отличаться, да. Но надо своевременно обновлять надстройку отдельно от офиса и тогда функционал будет весь.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Дмитрий Щербаков, только хотел написать, что не нахожу разницы между 2013std и 2016pro в этом плане. Просто даже самому производителю дороже поддерживать два разных продукта.
 
Цитата
Дмитрий Щербаков написал: ну это дезинформация.
Не буду спорить, просто столкнулся на работе с тем, что сотруднику поставили надстройку, у него был Excel 2013 Standard, я же работаю в PRO. Мне нужно было ему показать какое-то действие в этой надстройке. И когда сел показывать увидел, что не все коннекторы были. Все кнопки не проверял, но показалось, что и не все кнопки преобразования были в интерфейсе.

Ну, значит ошибся.
 
Это зависит от версии надстройки, а не от версии Офиса. Я работаю в офисе 2016 с обновлениями от сентября 2017 года, и регулярно сталкиваюсь с сотрудниками у которых казалось бы тот же офис но с обновлениями от ноября 2016. Так вот это вообще 2 разных Power Query если с ним работать в "кнопочном режиме". если же делать скрипты прямо в редакторе то разницы практически не заметил.
Страницы: 1
Читают тему (гостей: 1)
Наверх