Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 167 След.
[ Закрыто] Парсинг таблиц
 
Цитата
Ranker Dark написал:
Да мне просто пример нужен.
Не вопрос. Тут примеров полно.
Вот горшок пустой, он предмет простой...
[ Закрыто] Парсинг таблиц
 
Итак, есть книга. В ней много страниц. Но там есть оглавление. И в этом оглавлении есть раздел, как выгружать таблицы с сайтов. Если её купить и почитать, то вы сможете
Цитата
Ranker Dark написал:
вытянуть данные со всех таблиц на всех страницах и вставить их в Excel следующим образом, который показан на рисунке.

Цитата
buchlotnik написал:
курите PQ
Не ну так, конечно короче! :D
Изменено: PooHkrd - 22 сен 2020 13:03:53
Вот горшок пустой, он предмет простой...
Power Query - Добавить столбец с названием листа и путём до него, Power Query
 
Если нужно чтобы запрос самостоятельно определял местоположение книги, откуда он запущен, то мне известен только один способ, это использование внутри запроса скриптов на JavaScript. Вот тут одному доброму человеку как-то не спалось, и он набросал вариант.
Все остальные варианты связаны с явным указанием запросу в виде параметра как минимум пути к папке и критериев выбора файла. Остальное дело техники.
В том числе один из вариантов связан с использованием функции ЯЧЕЙКА в книге и считыванием данных об адресе из неё. Подробности тут.
Вот горшок пустой, он предмет простой...
Преобразование таблицы в Power Query
 
New, чуть соврал, вот моя версия.
Вот горшок пустой, он предмет простой...
Power Query - Добавить столбец с названием листа запроса, Power Query
 
Кирилл Беляев, не нарушайте правила форума. Здесь положено так: одна тема - один вопрос. Начинайте новую тему.
Вот горшок пустой, он предмет простой...
Преобразование таблицы в Power Query
 
New, накатите обновы. Появится. У меня версия 2.72ххххх что-то такое. Сейчас не за компом.
Самая актуальная на текущий момент 2.86хххххх вроде.
Изменено: PooHkrd - 21 сен 2020 18:25:37
Вот горшок пустой, он предмет простой...
Преобразование таблицы в Power Query
 
Alyona, вот только захочешь по выпендриваться и на тебе, несовместимость. Просто эта функция Text.InferNumberType работает только в О365. Замените её на Number.From должно сработать также.  ;)
Вот горшок пустой, он предмет простой...
[Power Query/DAX] Реализовать подсчет значений в определенном диапазоне внутри таблицы
 
Как-то так:
Код
let
    Source = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    #"Added Custom" = Table.AddColumn(Source, "Пользовательский", each List.Count( List.Select( List.Range( Record.ToList(_), 2, 12 ), each _ > 0.15 ) ), type number )
in
    #"Added Custom"

За выборку диапазона отвечает этот кусок List.Range( Record.ToList(_), 2, 12 ) 2 -это сколько элементов с начала строки нужно пропустить, а 12 это сколько элементов после этого нужно выхватить
Изменено: PooHkrd - 21 сен 2020 17:36:38
Вот горшок пустой, он предмет простой...
Преобразование таблицы в Power Query
 
Если по быстрому кнопочками, то так:
Код
let
    Source = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Столбец1", type text}, {"Столбец2", Int64.Type}}),
    #"Added Custom" = Table.AddColumn(#"Changed Type", "Статья", each if Text.StartsWith( [Столбец1], "000" ) then [Столбец1] else null, Text.Type),
    #"Added Custom1" = Table.AddColumn(#"Added Custom", "Проект", each if [Статья]=null and (try Text.InferNumberType( Text.Start( [Столбец1], 1 ) ))[HasError] then [Столбец1] else null, type text),
    #"Added Custom2" = Table.AddColumn(#"Added Custom1", "Отдел", each if [Статья] = null and [Проект] = null then [Столбец1] else null),
    #"Filled Down" = Table.FillDown(#"Added Custom2",{"Проект", "Отдел"}),
    #"Filtered Rows" = Table.SelectRows(#"Filled Down", each ([Статья] <> null)),
    #"Removed Columns" = Table.RemoveColumns(#"Filtered Rows",{"Столбец1"})
in
    #"Removed Columns"
Вот горшок пустой, он предмет простой...
PQ долгое выполнение процедуры удаления дубликатов при консолидации
 
Цитата
Dyroff написал:
Это у меня таблица фактов
В модель в качестве таблицы фактов нужно выгружать запрос №2 из моего описания выше, который ссылается на запрос 1.
Если помещать в оперативку результат запроса, который выгружается в модель, то там кэширование как-то криво срабатывает и для справочника произойдет повторное считывание, если же сделать промежуточный запрос, а в модель выгружать другой, который ссылается на первый, то все сработает как надо. По крайней мере такая фигня у меня была раньше в 2016. Может сейчас и пофиксили чего, но я во избежание все равно делаю так.
Вот горшок пустой, он предмет простой...
PQ долгое выполнение процедуры удаления дубликатов при консолидации
 
Dyroff, это еще не все. Я правильно понял что у вас есть запрос, который собирает данные в таблицу фактов, после чего еще один запрос обращается к нему же и из столбца город создается справочник для модели данных?
Если так, то лучше всего сделать такую схему:
1 Сбор данных - Последний шаг обернуть в Table.Buffer и результат никуда не выгружать
2. запрос факт - обращается к сбору данных и без изменений льет таблицу в модель данных
3. запрос справочник - обращается к сбору данных, потом дистинкт и результат льется в модель данных без изменений
В такой схеме результат 1 запроса сохраняется в оперативке и для расчета двух других не требуется 2 раза обращаться к исходникам.
Вот горшок пустой, он предмет простой...
PQ долгое выполнение процедуры удаления дубликатов при консолидации
 
Dyroff, настоятельно рекомендую. Мне такое мерпориятие ускорило обновление файла на 6 кк строк с 7-10 мин. до 3-5 мин. Как-то так.
Вот горшок пустой, он предмет простой...
PQ долгое выполнение процедуры удаления дубликатов при консолидации
 
Dyroff, в каком формате исходники? Есть ли техническая возможность перейти на текстовый вариант?
Изменено: PooHkrd - 21 сен 2020 16:16:44
Вот горшок пустой, он предмет простой...
Найти в столбце самую длинную цепочку из повторений чисел
 
Цитата
DJMC написал: мне пишет
Это информационное сообщение, не более того. Если действительно не поддерживается, то запрос при обновлении выдаст ошибку, что не найдена функция такая-то.

Цитата
DJMC написал: ничего не меняется.
"Какие ваши доказательства?!"
Вот горшок пустой, он предмет простой...
Найти в столбце самую длинную цепочку из повторений чисел
 
DJMC, должно работать в 2016. Там PQ встроен по умолчанию.
Вот горшок пустой, он предмет простой...
Power Query - Добавить столбец с названием листа запроса, Power Query
 
buchlotnik, кстати, давно хотел спросить. А цветовая дифференциация колбы с пособием закономерности имеет? Или просто от балды?
Вот горшок пустой, он предмет простой...
Нужна помощь для решения методами Power Pivot для расчета "рабочих" дней вагонов, временные функции DAX, две ключевые даты в строке данных
 
Андрей VG, дык я ж не спорю. Но у меня есть разные файлики с разной детализацией, ибо 100 метровую дуру по которой рассчитываю всякое интересное в почту не протолкнешь и в эксель-онлайн она если и откроется (что не факт), то поворачивается с трудом. А сгруппированный файлик - ляпота.
Вот горшок пустой, он предмет простой...
Power Query - Добавить столбец с названием листа запроса, Power Query
 
Андрей VG, вы просто с Михаилом, все время за ТСов додумываете, причем со высоты своего опыта.
Человек же четко написал: как добавить столбец? Ну, я и показал как.  :D
Вот горшок пустой, он предмет простой...
Power Query - Добавить столбец с названием листа запроса, Power Query
 
Вот горшок пустой, он предмет простой...
Нужна помощь для решения методами Power Pivot для расчета "рабочих" дней вагонов, временные функции DAX, две ключевые даты в строке данных
 
Yerlan, DAX нужно применять к правильно организованным данным. У вас данные для DAX организованы не правильно. Значит их нужно преобразовать и потом уже производить анализ. Инструментом преобразования для Power Pivot служит Power Query. Так что в любом случае рекомендую начать с него. Тут у хозяина сайта и книжкаесть по адекватной цене, и приемов с использованием PQ уже вагон и маленькая тележка.
Изменено: PooHkrd - 21 сен 2020 10:06:25
Вот горшок пустой, он предмет простой...
Нужна помощь для решения методами Power Pivot для расчета "рабочих" дней вагонов, временные функции DAX, две ключевые даты в строке данных
 
Yerlan, в дополнение к решению от Андрей VG, если вагонов очень много и строчек получится много миллионов, то для оптимизации перед в загрузкой модель данные можно сгруппировать. Например, если в отчете данные требуются в разрезе месяцев, то для каждого вагона/ месяца сгруппировать данные с подсчетом количества дней. Тогда моделька будет просто летать.
P.S. и вам надо с вашими формулами определиться, в июле вы корректно посчитали, а в августе/сентябре как-то не очень - дни теряете.
Изменено: PooHkrd - 21 сен 2020 09:53:16
Вот горшок пустой, он предмет простой...
PQ. Перемножить коэф по лестнице внутри групп
 
Как-то так:
Код
    fnAddStairway = (grouped as table) as table =>
        let
            tab = Table.Buffer(Table.Sort(grouped, "Индекс")),
            //Помещаем таблицу в оп. память, предварительно ее отсортировав по индексу
            start = List.Min(tab[Индекс])-1, 
            //вычисляем минимальное значение в столбце Индекс и вычитаем единицу
            coeff = List.Buffer(tab[Коэф]), 
            //помещаем в оп. память столбец с коэффициентами, который будем перемножать
            multiplied = Table.AddColumn(tab, "Перемноженные коэф", each if [Вид]="Сырье" then [Коэф] else List.Product(List.Skip(coeff, [Индекс]-start))),
            //Здесь самое интересное, создаем столбец с накопительным произведением: для строк с видом Сырье ничего не делаем, а для остальных расчитываем произведение списка coeff (который в памяти лежит)
            //т.к. для каждой строки индекс увеличивается на единицу, и из него вычитается start, то получаем тот самый накопительный эффект
            FirstRow = [Наименование 2 = List.First(tab[Наименование 1]), Наименование 1 = List.First(tab[Наименование 1]), Индекс = start, Перемноженные коэф = List.Product(coeff), Сырье = List.First(tab[Сырье]), Вид = "Продукция"],
            //Создаем новую первую строку для таблицы
            AddedFirstRow = Table.FromRecords({FirstRow}) & multiplied,
            //Объединяем певрую строку с таблицей где перемножили коэффициенты
            Reordered = Table.SelectColumns(AddedFirstRow,{"Наименование 1", "Наименование 2", "Сырье", "Перемноженные коэф", "Индекс"})
            //Поменяли порядок столбцов
        in
            Reordered
Скрытый текст
Изменено: PooHkrd - 18 сен 2020 15:03:42
Вот горшок пустой, он предмет простой...
Удалить повторы по условию в PQ
 
Как-то так:
Код
let
    Source = Excel.CurrentWorkbook(){[Name="Таблица2"]}[Content],
    #"Promoted Headers" = Table.PromoteHeaders(Source, [PromoteAllScalars=true]),
    #"Filtered Rows" = Table.SelectRows(#"Promoted Headers", each ([ФИО] <> "ФИО")),
    #"Demoted Headers" = Table.DemoteHeaders(#"Filtered Rows")
in
    #"Demoted Headers"
Вот горшок пустой, он предмет простой...
Объединение двух таблиц с частичной заменой power query
 
Обфусцируйте данные и выкладывайте. Никому они тут не нужны.
Вот горшок пустой, он предмет простой...
Объединение двух таблиц с частичной заменой power query
 
Так надо?
Пути только к файлам поправьте.
Вот горшок пустой, он предмет простой...
PQ. Перемножить коэф по лестнице внутри групп
 
Поищите в поиске форума функцию List.Generate. Там будут темы с накопительными суммами, и подобными вашей задачами.
Вот горшок пустой, он предмет простой...
PQ. Перемножить коэф по лестнице внутри групп
 
OblivionR, не уверен что поможет. Я не возьмусь из-за непонятного примера.
Зачем там позиции, которые не нужны?
Почему если их удалить то в итоге на 2 строки больше чем в исходнике?
Одни вопросы и из-за этого никакого интереса к задаче.
Сделайте задачку интересной, а главное понятной. Тогда бодрее пойдет.  ;)
Вот горшок пустой, он предмет простой...
Получить названия столбцов в первую строку данных (при развертывании листов), Power Query M
 
Дмитрий Марков, в таком случае все таки ознакомьтесь с ссылкой, которую вам предоставил Дмитрий в посте №2. Там как раз представлено решение вашей проблемы, а в комментариях предложено мое видение этого решения.
Вот горшок пустой, он предмет простой...
Получить названия столбцов в первую строку данных (при развертывании листов), Power Query M
 
Дмитрий Марков, вот эти столбцы, которые вы переименовали, это ж ведь вы развернули столбцы из файла А.xlsx? Верно?
Вот горшок пустой, он предмет простой...
Получить названия столбцов в первую строку данных (при развертывании листов), Power Query M
 
Цитата
Дмитрий Марков написал:
ответ нашелся сам собой
Учитывая
Цитата
Дмитрий Марков написал:
планируется большое количество любых файлов и очень большие данные
Большой вам удачи и много свободного времени с этим решением.
Вот горшок пустой, он предмет простой...
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 167 След.
Наверх