Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 3 След.
Квартальные и ежемесячные отчёты на диаграмме.
 
*Timon*, примерно так (форматирование настроите как вам лучше)
Знаки вопросов вместо текста при подключение через Power Query к ODBC
 
DrillPipe,могли бы вы, пожалуйста, добавить в код, приведенный выше, такую строку для столбца "NI_STR_316_NM" ?
Дело в том, что я пытался (по аналогии как указано в теме на которую я приводил ссылку), но у меня ничего не вышло.
Знаки вопросов вместо текста при подключение через Power Query к ODBC
 
Доброго времени!
Подключаюсь к базе данных (внутренняя база данных компании) через Power Query к ODBC.
При выгрузке данных в одном поле вместо русских букв знаки вопросов (пробелы, запятые, двоеточие при этом отображается. скриншот прикрепляю).
Кто знает как решить проблему?
Есть тема с похожим обсуждением ссылка на форум но либо это решение не подходит при подключении  к ODBC, либо я некорректно что-то прописываю.
Кто-нибудь, может, пожалуйста, помочь?


Код запроса при подключении:
Код
let 
Источник = Odbc.DataSource("dsn=CORPORATE", [HierarchicalNavigation=true]),   
PARS_Schema = Источник{[Name="PARS",Kind="Schema"]}[Data], 
V_316_EXCEL_View = PARS_Schema{[Name="V_316_EXCEL",Kind="View"]}[Data]
in
V_316_EXCEL_View
Изменено: mos_art - 21.05.2021 14:54:35
Макрос для нескольких (определенных) листов книги
 
Доброго времени! А как изменить вариант от Kuzmich, чтобы если в книге нет листа "Точка2" (или нескольких листов указанных в коду), макрос не прекращал работу с ошибкой, а продолжал выполняться на других имеющихся листах?
Выборка данных по условию в таблице, построенной функцией Power Query
 
Андрей VG, при всем уважении, не понимаю вашего негодования.
Вы просили прикрепить пример, что есть и что должно получиться.
Я и взял свои файлы, удалив лишнюю информацию, что бы дать полноценный вариант, поэтому там и осталась модель. (собственно поэтому наверное и размер файла большой). Это было сделало по незнанию, а не "вот пример, сделайте уже".
Power Pivot для меня темный лес, поэтому и прошу помощи.
Благодаря вашему примеру, понял, что было ошибкой использовать целый столбец в качестве диапазона. Хотя я делал так, чтобы не задавать жесткие ограничение по размеру, так как кол-во параметров для фильтрации может меняться. Но умная таблица в вашем примере решает эту проблему, сам я до этого не додумался.
Спасибо вам за помощь, буду пробовать

UPD. На днях появилось время, попробовал. Спасибо большое, Андрей VG, все работает, скорость не пострадала. Избавили от кучу повторяющийся действий
Изменено: mos_art - 18.09.2019 16:04:14
Выборка данных по условию в таблице, построенной функцией Power Query
 
Цитата
Андрей VG написал:
P. S. И что у вас за сложность приложить внятный пример, что есть и как должно получиться. Вы большой любитель нарушать правила?
Андрей VG, вот прикрепляю ссылку на яндекс диск, так как файлы более 100кб.
Файлы
Непосредственно файл источник и рабочий файл, где находится запрос и куда тянутся данные. Значения по которым нужно фильтровать прописываются в столбце "T" в рабочем файле.  
Выборка данных по условию в таблице, построенной функцией Power Query
 
Андрей VG, не смог разобраться, как понимаю, это операторы слияния таблиц, но какие именно мне нужно таблицы сливать вместе? у меня ведь она и так одна в базе.
Выборка данных по условию в таблице, построенной функцией Power Query
 
Доброго времени!
Возвращаюсь за помощью. В настоящее время код выглядит так:
Код
let
      
    Источник = Excel.Workbook(File.Contents("\\путь к файлу с исходными данными.xlsb"), null, true),
    Источник1 = Источник{[Name="Листсданными"]}[Data],
    Custom1 = Excel.CurrentWorkbook{[Name="фильтр"]}[Content][Column1],
    Custom2 = Table.SelectRows(Источник1, each (List.ContainsAny({[Column10]},Custom1) = true)),
    #"Повышенные заголовки" = Table.PromoteHeaders(Custom2, [PromoteAllScalars=true]),
    #"Измененный тип" = Table.TransformColumnTypes(#"Повышенные заголовки",{{"Показатель Н", type text}, {"Регион", type text}, {"Квартал", type text}, {"№ Сегмента", Int64.Type}, {"Тип клиента", type text}, {"Канал", type text}, {"Аттрибут", type text}, {"Сумма", Int64.Type}, {"Наимен аттрибута", type text}}),
    #"Условный столбец добавлен" = Table.AddColumn(#"Измененный тип", "Полугодие", each if [Квартал] = "2Q2017" then "1H2017" else if [Квартал] = "1Q2017" then "1H2017" else if [Квартал] = "4Q2017" then "2H2017" else if [Квартал] = "3Q2017" then "2H2017" else if [Квартал] = "2Q2018" then "1H2018" else if [Квартал] = "1Q2018" then "1H2018" else if [Квартал] = "3Q2018" then "2H2018" else if [Квартал] = "4Q2018" then "2H2018" else "-"),
    #"Условный столбец добавлен1" = Table.AddColumn(#"Условный столбец добавлен", "Год", each if [Полугодие] = "2H2017" then 2017 else if [Полугодие] = "1H2017" then 2017 else if [Полугодие] = "1H2018" then 2018 else if [Полугодие] = "2H2018" then 2018 else "-"),
    #"Условный столбец добавлен2" = Table.AddColumn(#"Условный столбец добавлен1", "Дата", each if [Квартал] = "1Q2017" then #date(2017, 4, 1) else if [Квартал] = "2Q2017" then #date(2017, 7, 1) else if [Квартал] = "3Q2017" then #date(2017, 10, 1) else if [Квартал] = "4Q2017" then #date(2018, 1, 1) else if [Квартал] = "1Q2018" then #date(2018, 4, 1) else if [Квартал] = "2Q2018" then #date(2018, 7, 1) else if [Квартал] = "3Q2018" then #date(2018, 10, 1) else if [Квартал] = "4Q2018" then #date(2019, 1, 1) else "-"),
    #"Переименованные столбцы" = Table.RenameColumns(#"Условный столбец добавлен2",{{"Полугодие", "За Полугодие"}, {"Год", "За Год"}}),
    #"Измененный тип1" = Table.TransformColumnTypes(#"Переименованные столбцы",{{"Дата", type date}})

in
    #"Измененный тип1"

Все работает, в запрос тянутся нужные значения, но происходит это жутко долго, пробовал на массиве данных в пару сотен строк, это заняло около минуты, с увеличением объема увеличивается и время загрузки. У меня же объем данных в в файле с исходными данных составляет несколько сотен тысяч строк и при 10 столбцах.

Что можно сделать для ускорения загрузки?
Изменено: mos_art - 21.08.2019 11:17:51
Выборка данных по условию в таблице, построенной функцией Power Query
 
Спасибо! До этого разобрался что диапазон списка можно редактировать через диспетчер имен, но не понимал почему условие все равно берется только из первой строки, благодаря PooHkrd, понял, что номер строки задается, а с помощью buchlotnik, выяснил что если номер убрать, то будет учитываться весь список
Выборка данных по условию в таблице, построенной функцией Power Query
 
Уже хорошо) А как это сделать?
Судя по всему за фильтр отвечает эта строка:
Код
Custom1 = Excel.CurrentWorkbook(){[Name="фильтр"]}[Content]{0}[Column1]
Но я не могу понять, как ячейке B3 задали название(?) фильтр, и как растянуть его на большее кол-во ячеек
с Power Query я не знаком совсем, запросы и те на уровне интуиции делал
Выборка данных по условию в таблице, построенной функцией Power Query
 
Здравствуйте!
Скажите, а можно задать в условие не одно значение и несколько?
У меня есть книга эксель с большой базой которая постоянно обновляется, я дроблю ее на несколько других книг по условиям. И на основе каждой делаю разные запросы. Хотелось задавать эти условия сразу в запросах, чтобы не переобновлять в ручную каждый раз книги с базами
Сделать фильтрацию по значениям в списке, но с учетом названия
 
Добрый день!

Есть таблица с данными, в которой весь список отфильтрован по убыванию (от большего к меньшему).

В данном примере, это "Показатель 2"
МагазинПоказатель 1Показатель 2
Магазин 627970
Магазин 1118787
Магазин 816783
Но есть такой момент, что магазин может включать в себя несколько подстрок, и тогда значения по одному магазину должны идти вместе/рядом, вот так:
МагазинПоказатель 1Показатель 2
Магазин 627970
Магазин 1118787
Магазин 11_25354
Магазин 11_37278
Магазин 11_16155
Магазин 816783
Также у меня есть ограничение, что данные в таблицу подтягиваются простыми ссылками из сводной таблицы.
Прикрепляю файл примера, где немного больше данных.

Я пытался делать через многократное использование формулы ЕСЛИ, но она получается слишком длинной, велика вероятность допустить ошибку, да и получилось только когда есть один показатель.

Может кто уже сталкивался с такой проблемой?
Пропадает связь диаграмм между Excel и ppt
 
pinguindell,
1. Нет, всегда один и тот же путь
2. Не переименовывался
Пропадает связь диаграмм между Excel и ppt
 
Здравствуйте!

Есть несколько файлов excel, в которых на основе запроса построены сводные диаграммы с рассчитанными мерами.
Далее диаграммы с этих файлов вставлены в ppt (Ctrl+C и Ctrl+V).
Когда обновляются данные в источнике для запроса, соответственно обновляются и диаграммы в екселе, а после в самой презентации также они обновляются методом выбора диаграммы - правой кнопкой мыши - изменить данные (автоматическое обновление связей при открытии отключено, иначе ppt будет долго открываться каждый раз).

В какой-то момент времени, часть графиков перестает обновляться в ppt.
То есть, если нажать правой кнопкой на диаграмму в ppt и выбрать изменить данные в ексель, то ексель откроется, но при этом сама диаграмма не обновится (хотя она уже изменена в excel).

Если выбрать диаграмму (неважно в ексель или ppt) и через прав.кнопку нажать "Выбрать данные", то появится диалоговое окно в котором будет путь "Диапазон данных для диаграммы:" которое будет заполнено (для наглядности прикрепил скриншот).

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

Сижу несколько дней, не могу разобраться, обычно на форумах спрашивают как разорвать связь, мне же нужно понять почему она пропадает сама в случайный момент времени. Например было, я вставил графики в ppt все работает, сохранил, закрыл, открыл все работает. Вечером открываю обновить - часть графиков не обновляется.

предполагал, что ломается связь после:
-обновления данных  в источнике,
-изменения фильтров/срезов применяемых для графика,
-переносе графиков из разных екселей с разным названием файлов, но когда совпадает номер в части пути PivotChartTable1
-ломается только на комбинированных графиках
-когда в названии листа есть точка (.)
-когда редактируется диаграммы в самом ppt
-когда что-то добавляется редактируется в ексле и т.д.

Кучу вариантов перепробовал, ни какой из них не повлиял прямым образом на разрыв связи.

Один раз было что вставил часть графиков из одного ексель и часть из другого, все работает. Через некоторое (небольшое) время открыл, графики из одного екселя работают и другого нет, хотя вообще ничего ни с тем ни с другим не делал.

Может кто-то с таким сталкивался или разберется в чем проблема?
Добавление расчетного общего итога для сводной диаграммы, построенной на основе запроса
 
Доброго времени, уважаемые форумчане!

Суть: как добавить общий итог в сводную диаграмму, построенную через запрос и с применением мер (DAX), которая динамически изменяется при выборе тех или иных параметров на срезах?

Пример:
"Лист1". Есть база с данными (в реальности она больше, несколько тысяч строк и больше столбцов раза в два), которую я преобразовываю в умную таблицу и на ее основе делаю запрос. В этом запросе я немного расширяю таблицу и создаю дополнительный условный столбец "Квартал". Этот запрос располагается на "Лист2" и носит название "Таблица1".
Далее на основе этого запроса строю сводную диаграмму, добавляю расчетную меру "Доля хлеба", добавляю срез по выбору магазинов.

На этих шагах все ок. Но есть необходимость отображения на сводной диаграмме общего итога.

Я пытался сделать следующее:

Брал базу, преобразовывал ее в умную таблицу, и так как мне нужен общий итог по магазинам, я добавлял в эту таблицу условный магазин "-1" значения по которому рассчитывались через СУММЕСЛИМН. (Получившийся результат расположен на "Лист3", а расчетный параметр начинается с 110 строки.)
Далее снова делаю запрос, и располагаю его на "Лист4". Снова строю сводную диаграмму, добавляю расчетную меру "Доля хлеба_2", добавляю срез по выбору магазинов.
На вид все ок, под "-1" магазином располагается общий расчетный итог.
Но если я меняю кол-во магазинов для отображения через срез, общий итог, ожидаемо, не изменяется, так как он рассчитывается  до запроса.

Например, в сводной таблице есть по-умолчанию строка общий итог, но вот в сводной диаграмме такого не предусмотрено

Поэтому прошу помощи:
Логична ли идея добавления условного магазина, значения по которому это сумма по всем магазинам по полю "Объем"?
Если да, то как проще добавить условный магазин в базу данных, может можно в самом запросе сделать? по аналогии с добавлением столбца, но тут добавление строк с суммарным значением всем магазинам. И при этом, чтобы значения по этому условному магазину пересчитывались, в зависимости от срезов (фильтров)

Либо будут другие идеи?
как выбрать определенные данные для отображения в сводной диаграмме
 
Андрей VG, вроде это оно!
Прикрепляю файл, как получилось у меня. Начну понемногу тестить на своих данных, посмотрим, как оно поведет себя, работы, чувствую море будет, с учетом того, что никогда с такими запросами до этого не работал.
Спасибо вам. Прикрепляю файл, с тем как получилось у меня
как выбрать определенные данные для отображения в сводной диаграмме
 
Valo, спасибо, но добавление дополнительного расчетного параметра в самом источнике, я изначально не рассматривал (забыл указать это в вопросе). Так как в базе будут порядка 15 столбцов с множеством параметров, это дает сотни расчетных вариантов, которые нужно отобразить, добавить столько расчетных параметров в базу не представляется возможным

Андрей VG, ваши ответы, зачастую, я нахожу на многих формах, когда ищу те или иные способы решения задач в excel.
Спасибо, что откликнулись в этой теме.
Про Power Pivot вчера так же натыкался, но пока не смог установить надстройку к себе. У меня лицензионная версия офиса для дома и бизнеса 2016, насколько понял, на нее нельзя установить Power Pivot. Поэтому изучить поподробнее ваш ответ, к сожалению, пока не могу
Изменено: mos_art - 17.04.2019 09:46:27
как выбрать определенные данные для отображения в сводной диаграмме
 
Valo, да, перед тем как вам ответить. Ровно 100% на диаграмме, это неверно
Изменено: mos_art - 16.04.2019 18:29:12
как выбрать определенные данные для отображения в сводной диаграмме
 
Valo, поясню на вашем прикрепленном файле.
Мне на диаграммах нужно данные только по "Дневным" магазинам. Если я выберу их через фильтр в сводных диаграммах, то этот фильтр применится и в сводных таблицах.  Соответственно на листе "Д1" слетает расчет и везде показывает 100%, что в диаграмме, что в таблице, что не верно
как выбрать определенные данные для отображения в сводной диаграмме
 
Valo, спасибо, но наверное вы не совсем верно поняли вопрос.
Я столкнулся проблемой отображения определенных данных на диаграмме.
Как видите, в примере, на диаграммах отображены данные по "Дневным" и "Круглосуточным" магазинам.
Мне нужно нужно, чтобы на диаграммах отображались данные только по "Дневным" магазинам, и при этом, чтобы не менялось кол-во отображаемых параметров в сводных таблицах. Вот с этим никак не удается разобраться
как выбрать определенные данные для отображения в сводной диаграмме
 
Здравствуйте!

Есть база данных, на основе которых строятся различные сводные.
Данные сводных используются для расчета и отображения различных данных в графическом виде.
При добавлении новых данных в базу, приходится в ручную обновлять все графики (например, протягивать диапазон чтобы захватить дополнительный год).
Задумался о том, чтобы делать графики сразу на базе сводных таблиц, но столкнулся с проблемой в отображении данных.

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

Как вывести на отображение в сводной диаграмме какой-то определенный показатель? при этом чтобы в сводной таблице ничего не менялось

В прикрепленном примере нужно, чтобы на диаграммах отображались данные только по "Дневным" магазинам


 
Очистка содержимого по фильтру
 
Казанский, спасибо за код. По вашим доводам:
1. Да согласен, Excel не очень подходит, но на горизонте 1-2 лет, точно придется и дальше работать в нем, хотя необходимость другого формата хранения данных осознаем, более того, данные можно загрузить в нашу базу и выкачать потом нужные, но, во-первых, по времени, пока, это гораздо дольше чем удалить вручную. А во-вторых менее оперативно, так как при добавлении или изменении данных нет возможности оперативно это сделать автоматически и быстрее "ручками".  К тому же в этом екселе есть сводные которые, завязаны на этих данных, и эти ексели мы рассылаем.
2. К "дырявой" таблице достаточно просто применить фильтры, достаточно просто выделять таблицу, через столбцы
3. Как уже упоминал, на этих данных завязаны сводные таблицы, и после такого переноса, надо будет им обновлять источник данных
Очистка содержимого по фильтру
 
Inexsu, в одном файле на отдельных листах есть разные таблицы.
В каждой таблице разное кол-во столбцов, поэтому номер столбца будет меняться в зависимости от таблицы.
Условия, по которым нужно отфильтровать и удалить данные в таблицы, везде одинаковы.

То есть, на листе 1, нужно в 5 столбце удалить (очистить) все строки где есть определенные значения (например, 1, 2 и 3). Количество этих значений будет разнится, в зависимости от того, файл с какими данными мне надо будет подготовить, но значений как, правило не более 10.
Номера столбцов всегда будет одни и те же для каждой страницы.

Потом аналогичную операцию надо сделать на другом листе, но только там номер столбца будет другой.

В последствии я поищу, как сделать форму, чтобы при запуске макроса мне предлагалось выбрать значения которые надо удалить, чтобы не менять тело макроса вручную каждый раз
Очистка содержимого по фильтру
 
Казанский, а если более двух условий? Operator:=xlOr, как прочитал, применяется только для фильтрации по 2м условиям.
Очистка содержимого по фильтру
 
Здравствуйте!

Есть макрос, с помощью которого очищаются данные по условию.
Например, есть таблица с  шапкой из 7 столбцов.
С помощью макроса в столбце 5 фильтруются и очищаются строки со значением 1 и 2.
Исходные данные на листе 1. То что получается, представлено на листе 2.

Потом переходит на другой лист и т.д.

Все работает, но загвоздка в том, что файлы, где планируется это применять, очень громоздкие (около 100 мб), а сами таблицы, которые нужно фильтровать содержат сотни тысяч строк. И при применении макроса все подвисает на некоторое время. Можно ли как-то оптимизировать макрос для его быстродействия.

Я уже изменил функцию удаления строк на очистку содержимого (до этого файл вообще зависал и не реагировал), и убрал обновление экрана. Может есть еще способы или идеи?

Собственно файл и сам код:
Код
Sub www()
Application.ScreenUpdating = False
   With [b8].CurrentRegion
       .AutoFilter Field:=5, Criteria1:="1"
       .Offset(1).SpecialCells(12).EntireRow.ClearContents
       .AutoFilter Field:=5, Criteria1:="2"
       .Offset(1).SpecialCells(12).EntireRow.ClearContents
        End With
   ActiveSheet.AutoFilterMode = 0
   Application.ScreenUpdating = True
End Sub
При изменение данных в excel должны меняться данные в блоках power point
 
Исходя из такой формулировки, ответ будет следующий:

Скопировать нужный блок из excel, в power point выбрать "Вставить-Специальная ставка-Связать-Объект...-Ок"
Изменено: mos_art - 03.10.2018 18:11:24
Создание разных файлов Excel на базе одного, Составление файлов по заданным параметров на основание исходного файла.
 
Здравствуйте!

Кто может помочь решить рутинную задачу?

Суть: имеется один файл .xlsb в который в течении месяца собирается информация и в котором эта же информация используется для построения сводных, расчетов и т.д. Раз в месяц необходимо этот файл разбить на несколько и в каждом оставить только определенную информацию.

Вопрос: можно ли создать шаблон макроса, куда вписывать информацию о том, что нужно удалить и потом сохранить файл?

Распишу более подробно и прикреплю пример, на основании которого буду описывать.

Есть файл с несколькими листами. Основная информация находится на листе "Данные". Дополнительная информация находится на листе "Дополнительный лист" (он скрыт).
Необходимо сделать несколько файлов на основании этого, например:
-Создать файл в котором будут удалены данные с листа "Данные" с продуктами "Арбузы" и "Дыни" и с листа "Дополнительный лист" удалена информация о "Магазин 1"
-Создать файл в котором будут удалены данные с листа "Данные" с продуктами "Яблоки" и Картошка" и город "Зеленоград", а с листа "Дополнительный лист" о "Магазин 1" и "Магазин 3"
- и т.д.

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

Вот и подумал, может можно создать шаблон макроса, в который бы вписывалось, что и с какого листа нужно удалить, чтобы не сидеть и не тратить время в ручную

Искал информацию на форуме, обычно предлагается создать один файл на основе нескольких, а темы с моим или похожим вопросом не нашел.
Изменено: mos_art - 06.08.2018 13:47:40
Консолидация данных с разных листов книги, Перенос данных с листов (по месяцам) на один лист в совокупности
 
Да в целом то нужно, по порядку собрать данные (столбцы выделены зеленым). Грубо говоря, если бы это делать в ручную то копировать данные за один месяц, вставить, потом под ним вставить данные за след.месяц и т.д. Чтобы в конце из этого можно было сводную сделать.
Но вроде бы уже удалось сделать это через формулу, нужно конечно доп.параметры прописывать, если все выйдет, могу потом скинуть файл, как получилось
Консолидация данных с разных листов книги, Перенос данных с листов (по месяцам) на один лист в совокупности
 
P.S. Пришлось удалить много листов, т.к. файл был большой
Консолидация данных с разных листов книги, Перенос данных с листов (по месяцам) на один лист в совокупности
 
Здравствуйте!

Столкнулся с проблемой, выгрузил с сайта банка данные. Данные выгрузились в формате 1 месяц = 1 лист. Данные с 2009 года. На каждом листе разбивка по регионам. Хотел собрать все на один лист, что бы проанализировать. Но столкнулся с проблемой автоматического переноса данных.
На листах не всегда одинаковый порядок и кол-во строк по регионам (что не позволяет просто скопировать и размножить список регионов). Названия листов содержат дату (что не мне не позволяет воспользоваться формулой ДВССЫЛ). Воспользоваться способом предложенным здесь https://www.planetaexcel.ru/techniques/8/133/  так же не получается из-за наличия объединенных ячеек в шапки и разного кол-во стобцов в некоторых датах.

Прикрепляю файл для примера, может у кого есть мысли и кто-то сталкивался с тем, как перенести данные с разных листов на один по порядку.
На листе1 показано, в каком виде я хотел собрать данные
Страницы: 1 2 3 След.
Наверх