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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 130 След.
Почему Power Query выборочно обновляет запросы?
 
Странная ботва. Предлагаю сделать так. В каждом из запросов, которые должны обновляться общей кучей добавьте столбец с текущим датой/временем в заголовке и пустыми значениями. После обновления проверьте имена столбцов. Если что-то реально не обновилось - сразу будет понятно верить той информации где вы проверяет или не стоит.
Изменено: PooHkrd - 26 Янв 2020 17:27:23
Вот горшок пустой, он предмет простой...
Почему Power Query выборочно обновляет запросы?
 
sergekrd, запросы всегда одни и те же не обновляются, или все время разные?
Вот горшок пустой, он предмет простой...
Почему Power Query выборочно обновляет запросы?
 
Разрешите поинтересоваться, а где вы смотрите дату последнего обновления таблицы в модели? Это мне для общего развития.
Вот горшок пустой, он предмет простой...
Power Query сцепить строку с данными ниже этой строки, Забираю данные в виде табл. но по структуре имеются ячейки где текс разбит с разрывом через строку
 
artyrH, оно не переименовывает, оно группирует. Это кастомный сравниватель строк. Если этот аргумент опустить, то стандартный выглядел бы так:
Код
(a,b)=> Number.From( a[Name] = b[Name] ) 

т.е. при группировке сравниваются не 2 строки между собой, а вторая строка с фиксированным значением.
Если кнопками, то аналог был бы таким: индекс, потом делаем столбец "если name = br, то индекс", потом заполнить вверх, а потом группировать по новому столбцу. А можно вот так. ;)
Вот горшок пустой, он предмет простой...
Power Query сцепить строку с данными ниже этой строки, Забираю данные в виде табл. но по структуре имеются ячейки где текс разбит с разрывом через строку
 
Вам так надо?
Код
let
    Источник = Web.Page(Web.Contents("http://m.myscore.ru/?d=-1")),
    Data0 = Источник{0}[Data],
    Children = Data0{0}[Children],
    Children1 = Children{1}[Children],
    Children2 = Children1{2}[Children],
    Children3 = Children2{6}[Children],
    РазвернутыйЭлемент = Table.ExpandTableColumn(Children3, "Children", {"Text"}, {"Text.1"}),
    GroupedRows = Table.Group(
        РазвернутыйЭлемент, 
        {"Name"}, 
        {{"tab", each 
            [tab = Table.Buffer(_),
             filter = Table.Transpose( Table.SelectRows(_, each [Name]="H4" or [Name]="SPAN" or [Name]="A")[[Name],[#"Text.1"]] ),
             add = Table.AddColumn( Table.PromoteHeaders( filter ), "Команды", each Text.Combine( tab[Text] ), type text)][add], type table}}, 
        GroupKind.Local, 
        (a,b)=> Number.From( b[Name] = "BR" ) ),
    Custom1 = Table.Combine( GroupedRows[tab] ),
    FilledDown = Table.FillDown(Custom1,{"H4"}),
    RenamedColumns = Table.RenameColumns(FilledDown,{{"H4", "Турнир"}, {"SPAN", "Время проведения"}, {"A", "Счет"}}),
    SelectedColumns = Table.SelectColumns(RenamedColumns,{"Турнир", "Время проведения", "Счет", "Команды"})
in
    SelectedColumns

Вы там счет спарсили как-то не очень, так что я все вообще переделал.
Вот горшок пустой, он предмет простой...
Разделение текста в ячейке на строки по абзацу со сведением данных
 
Еще можно так:
Код
let
    Source = Table.AddIndexColumn( Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content], "Индекс", 0, 1),
    Split1 = Table.ExpandListColumn(Table.TransformColumns(Source[[Индекс],[Задача]], {{"Задача", Splitter.SplitTextByDelimiter("#(lf)", QuoteStyle.Csv), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "Задача"),
    Key1 = Table.AddColumn(Split1, "Номер строки", each Number.From( Text.BeforeDelimiter([Задача], ". ", {0, RelativePosition.FromEnd}) ), type number),
    Split2 = Table.ExpandListColumn(Table.TransformColumns(Source[[Индекс],[Исполнитель]], {{"Исполнитель", Splitter.SplitTextByDelimiter("#(lf)", QuoteStyle.Csv), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "Исполнитель"),
    KeysList = Table.AddColumn(Split2, "Номер строки", each Expression.Evaluate( "{" & Text.Replace( Text.BeforeDelimiter([Исполнитель], ". ", {0, RelativePosition.FromEnd}), "-", ".." ) & "}" ) , type list),
    Key2 = Table.ExpandListColumn( Table.TransformColumns(KeysList, {{"Исполнитель", each Text.AfterDelimiter(_, ". ", {0, RelativePosition.FromEnd}), type text}}), "Номер строки"),
    Split3 = Table.ExpandListColumn(Table.TransformColumns(Source[[Индекс],[Срок исполнения]], {{"Срок исполнения", (x)=>Splitter.SplitTextByDelimiter("#(lf)", QuoteStyle.Csv)(Text.From(x)), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "Срок исполнения"),
    Split4 = Table.SplitColumn(Split3, "Срок исполнения", (x)=>Splitter.SplitTextByEachDelimiter({". "}, QuoteStyle.Csv, true)(if Text.Contains(x, ". ") then x else ". " & x ), {"Номер строки", "Срок исполнения"}),
    Key3 = Table.ExpandListColumn( Table.TransformColumns(Split4, {{"Номер строки", each Expression.Evaluate( "{" & Text.Replace( _, "-", ".." ) & "}" ), type list}}), "Номер строки"),
    MergedQueries = Table.Join( Table.Join( Key1, {"Индекс", "Номер строки"}, Key2, {"Индекс", "Номер строки"} ), {"Индекс", "Номер строки"}, Key3, {"Индекс", "Номер строки"} ),
    RemovedColumns = Table.RemoveColumns( Table.Sort( MergedQueries, {{"Индекс", Order.Ascending}, {"Номер строки", Order.Ascending}} ), {"Индекс", "Номер строки"} ),
    Result = Table.TransformColumns(RemovedColumns, {{"Срок исполнения", each Date.From( Text.BeforeDelimiter(_, " ") ), type date}})
in
    Result
Вот горшок пустой, он предмет простой...
Сводная таблица, как источник для умной таблицы, Можно ли сводную таблицу сделать источником данных для Умной таблицы?
 
Zasypich, считайте сразу все в сводной на формулах DAX, например так.
Вот горшок пустой, он предмет простой...
Определение порядкового номера месяца в году в таблице периодов
 
Можно так, формула в В3:
Код
=1 + ОСТАТ(МЕСЯЦ($B$1)-1+B2 - 1;12)
Вот горшок пустой, он предмет простой...
Как в PQ сравнить значения таблицы с несколькими списками
 
Можно так:
Код
let
    Source = Excel.CurrentWorkbook(),
    FilteredRows = Table.SelectRows(Source, each Text.StartsWith([Name], "Группа")),
    AddedTables = Table.AddColumn(FilteredRows, "tab", each Table.FromColumns( Table.ToColumns([Content]) & {Table.ColumnNames([Content])}, {"ФИО", "Группа"}), type table),
    CombineTabs = Table.FillDown( Table.Combine(AddedTables[tab]), {"Группа"} ),
    Out = Table.Join( Source{[Name="СВОД"]}[Content][[ФИО]], {"ФИО"}, CombineTabs, {"ФИО"} )
in
    Out
Вот горшок пустой, он предмет простой...
Странное объединение запросов в Power Query. Внешнее соеднинение слева не работает как ВПР
 
Цитата
Veniamin Loginov написал:
Его бы в книжки добавить.
Если мне не изменяет мой склероз есть такая книжка от гражданина Ken Puls
M Is for (Data) Monkey: A Guide to the M Language in Excel Power Query
Вот горшок пустой, он предмет простой...
PQ. Настраиваемый столбец. Проверка текстового формата в столбце
 
Можно так:
Код
try Number.FromText([Столбец А]) / Number.FromText([Столбец А]) - 1 otherwise 1
Вот горшок пустой, он предмет простой...
Отклонение объемов к дню месяца назад в Power BI
 
Посмотрите здесь. Вот только откуда брать данные скажем для 31.12.2019 или для 29.03.2019?
Вот горшок пустой, он предмет простой...
Странное объединение запросов в Power Query. Внешнее соеднинение слева не работает как ВПР
 
artyrH, можно так
Код
[Таблица2][Значния 2]{0}?

Без try.
Вот горшок пустой, он предмет простой...
Странное объединение запросов в Power Query. Внешнее соеднинение слева не работает как ВПР
 
Показываю секретную кнопку:
Вот горшок пустой, он предмет простой...
Странное объединение запросов в Power Query. Внешнее соеднинение слева не работает как ВПР
 
Veniamin Loginov, чтобы тыкать кнопками, нужен как минимум файл-пример с данными. А вы мне не оставили выбора. Тут еще бывают персонажи, на картинках примеры предоставляют, так им решения тоже в картинках выдают.  ;)
Изменено: PooHkrd - 21 Янв 2020 11:45:29
Вот горшок пустой, он предмет простой...
Странное объединение запросов в Power Query. Внешнее соеднинение слева не работает как ВПР
 
Цитата
Veniamin Loginov написал:
Пример в первом сообщении.
Если пример в первом сообщении тогда решение такое:
Код
= Table.Join( Таблица1, {"Строки"}, Table.Group( Таблица2, {"Строки 2"}, {{"Значения 2", (x)=>x[#"Значния 2"]{0}? }} ), {"Строки 2"}, JoinKind.LeftOuter )
Изменено: PooHkrd - 21 Янв 2020 11:27:09
Вот горшок пустой, он предмет простой...
Странное объединение запросов в Power Query. Внешнее соеднинение слева не работает как ВПР
 
Цитата
Veniamin Loginov написал:
Можно поподробнее
Можно, но где пример того что есть и того, что хочется получить на выходе? Желательно с описанием логики агрегации строк правой таблицы если их более одной: мин/макс/первую сверху/первую снизу/что-то еще?
Вот горшок пустой, он предмет простой...
Странное объединение запросов в Power Query. Внешнее соеднинение слева не работает как ВПР
 
Join это не аналог ВПР, хотя и похоже. Аналог ВПР это совместное использование Table.Join и Table.Group. Если вы используете для слияния кнопки интерфейса, то при разворачивании столбцов обратите внимание что можно указывать как агрегировать значения, если в правой таблице найдено строк более одной.
Цитата
Veniamin Loginov написал:
Или я что-то не так делаю ?
Помимо книжек, где все объясняется в форме, понятной для начинающих, нужно еще смотреть справочники от производителя инструмента. Там это все указано. Хоть и не в очевидной форме.  ;)
З.Ы. Проверил книжку - да, у Николая этот момент упущен. И, кстати, этот момент упущен не только у него. Видел не мало курсов, где про такой нюанс тренера забывают.
Изменено: PooHkrd - 21 Янв 2020 10:45:00
Вот горшок пустой, он предмет простой...
Размер (объём) папки с файлами в таблице
 
artyrH, если хотите чтобы было быстро, то рекомендую использовать Folder.Contents вместо Folder.Files. Эта функция не сканирует все содержимое вложенных папок в отличие от, а показывает содержимое только указанной папки. при этом содержимое вложенных папок показано в виде таблиц, т.е. если нужно, то можно добраться до папки любого уровня вложенности. В таком случае все работает значительно быстрее.  ;)
БМВ, там все хуже, функция использованная Артемом сканирует вообще весь диск, а нужно сначала через Folder.Contents найти нужные юзеру папки, а потом уже через Folder.Files сканировать только их и считать, только их содержимое.
Изменено: PooHkrd - 21 Янв 2020 10:30:29
Вот горшок пустой, он предмет простой...
Размер (объём) папки с файлами в таблице
 
cmepx, т.е. вам нужно автоматически просканировать все диски, найти на них нужную вам папку и дать её размер?
Вот горшок пустой, он предмет простой...
Создание таблицы с распределением на основе двух таблиц с данными
 
sanych09, алгоритм тот же самый. Я просто логику формул Андрея реализовал в коде на языке М. Не более того.
Вот горшок пустой, он предмет простой...
Power Query – сцепление столбцов
 
Так?
Вот горшок пустой, он предмет простой...
Выгружаемое кол-во записей через сводную таблицу, Данные -> Запросы и подключения -> Отсутствуют подключения к моделе данных
 
Можно извратиться и выводить в таблицу через запросы DAX. Сам не делал, но на англомове такую статью как-то читал. Даже здесь одна или две темы с подобным вопросом как-то проскакивали и давали какие-то ссылки на решение проблемы.
Вот горшок пустой, он предмет простой...
Создание таблицы с распределением на основе двух таблиц с данными
 
Хоть я и не Максим, но можно реализовать в PQ greedy Algorithm примерно так:
Код
let
//функция поиска имени поля записи с максимальным значением, это чтобы полнимать из какого поля записи вычитать очередной элемент списка
    MaxFieldRec = (r as record)=>  
        Record.FieldNames( r ){ List.PositionOf( Record.ToList( r ), List.Max( Record.ToList( r ) ) ) },

//функция реализации жадного алгоритма по максималке и прилепления столбца с результатом к исходной таблице
    Greedy = (sub as table, col as text, rec as record)=> 
        let
            itemCount = Table.RowCount( sub ),
            sumList = List.Buffer( Table.ToColumns( Table.SelectColumns( sub, {col}) ){0} ),
            calc = List.Generate(
                () => [ id = 0, 
                        NeededFieldRec = MaxFieldRec( rec ), 
                        runRec = Record.TransformFields( rec, {NeededFieldRec, (x) => x - sumList{id} })],
                each [id] < itemCount,
                each [  id = [id] + 1,
                        NeededFieldRec = MaxFieldRec( [runRec] ),
                        runRec = Record.TransformFields( [runRec], {NeededFieldRec, (x) => x - sumList{id} })],
                each [NeededFieldRec]
            ),
            result = Table.FromColumns( Table.ToColumns( sub ) & {calc}, Table.ColumnNames( sub ) & {"spreading"} )
        in
            result,

    goods = Excel.CurrentWorkbook(){[Name="Goods"]}[Content][[Product name],[amount]],
    managers = Table.Buffer( Table.PromoteHeaders( Table.Transpose( Excel.CurrentWorkbook(){[Name="Managers"]}[Content] ) ) ),
    SortGoods = Table.Sort( goods, {{"amount", Order.Descending}} ),
    Out = Greedy( SortGoods, "amount", managers{0} )
in
    Out

С результатом Андрея все совпадает.
Изменено: PooHkrd - 20 Янв 2020 13:21:48 (чуть подправил код)
Вот горшок пустой, он предмет простой...
Большой файл медленно работает
 
Цитата
vlad_d написал:
Буду благодарен за любые идеи. Желательно без макросов.
С такой постановкой задачи могу только сказать копайте в сторону Power Query. И никаких копирований, макросов, сразу лезете в источник, тащите оттуда данные, крутите вертите по всякому и выводите в результате таблицу без формул - весить результирующий файл будет очень скромно, при этом все расчеты будут полностью автоматизированы.
Как ваши расчеты перетащить в PQ? Это либо в ветку работа, либо ознакамливайтесь с азами (благо ссылок тут на форуме уже вагон и маленькая тележка), после чего задавайте конкретные вопросы (а лучше поиском ищите сразу ответы - 95% что они уже есть).
Вот горшок пустой, он предмет простой...
Динамическая ссылка на имя файла
 
adamm, если имя файла меняется, но из всех файлов в папке где он лежит, его можно однозначно отфильтровать, то самый простой вариант это сделать запрос к папке, в ней наложить фильтры на имя файла, чтобы всегда оставалась одна строка, а потом забирать единственный оставшийся бинарник "и делай с ним что хошь..."
Вот горшок пустой, он предмет простой...
Где что? Search, Изменение/удаление темы.
 
Апострофф, вроде ж даже инста лайки никому кроме владельца не хочет показывать, а вы про плюсики. Зачем они?
Неужто "общество не может существовать без цветовой дифференциации штанов?"
Вот горшок пустой, он предмет простой...
Дата обновления статей в приемах
 
Вот. Я ж говорил, что на комменты не реагирует.
Николай Павлов, загляните тогда уж до кучи и сюда как будет время. Там рацухи народ обсуждает на тему поиска по сайту.
Вот горшок пустой, он предмет простой...
Самообновляющаяся таблица. Каждый день новая
 
Цитата
dima_dmitry написал:
КАК это сделать??
Для начала, внимательно знакомиться с правилами форума, посмотреть все ли в вашей теме им соответствует, если не все - устранить несоответствия и ждать помощь.
Вот горшок пустой, он предмет простой...
Алгоритм Луна. Получить следующее значение
 
Вариант на Power Query для чисел произвольной длины.
Код
let
    Source = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    AddedCustom = Table.AddColumn(Source, "Luhn algorithm", each 
        [list = List.Transform( Text.ToList( Text.Reverse( Text.From( [Base Number] ) ) ), Number.From ),
         calc = List.Transform( List.Alternate( list, 1, 1, 1 ), (x) => x * 2 - 9 * Number.From( x > 4 ) ),
         out = Number.Mod( 10 - Number.Mod( List.Sum( calc & List.Alternate( list, 1, 1 ) ), 10 ), 10 )][out])
in
    AddedCustom

Прогнал на массиве 230 тыс строк сформированных рандомно чисел, отработал за 4 секунды.
Изменено: PooHkrd - 17 Янв 2020 17:44:44
Вот горшок пустой, он предмет простой...
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 130 След.
Наверх