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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 153 След.
Power Query Подсчет количества определенных значений в одном столбце.
 
Посмотрите здесь
Вот горшок пустой, он предмет простой...
Расчет разницы между датами из одной колонки в Power Query, Описание приемов и способов поиска минимальной и максимальной даты с последующим определением разницы в месяцах
 
Цитата
Георгий Шкуро написал:
есть еще вопрос
Это в ветке работа за деньги так можно в одной теме накидывать. А в бесплатной ветке Один вопрос - одна тема.
Цитата
Aleksei_Zhigulin написал:
Это наводит на крамольные мысли
Я давно замечал, что итератор в AddColumns как-то иначе работает чем в остальных функциях. Но чтобы не запоминать где и чем оно отличается всегда такие расчеты делаю до each а потом результат уже передаю в функцию. Еще ни разу не подводило.
Изменено: PooHkrd - 28 Май 2020 16:59:28
Вот горшок пустой, он предмет простой...
Расчет разницы между датами из одной колонки в Power Query, Описание приемов и способов поиска минимальной и максимальной даты с последующим определением разницы в месяцах
 
Цитата
Георгий Шкуро написал:
Уже теплее
А вы все никак не научитесь копировать решения в свой код. Где в моей формуле вы увидели вот это?

Я про этот самый each распинаюсь тут уже час в обсуждении с Алексеем, а вы это все игнорируете.
Изменено: PooHkrd - 28 Май 2020 15:31:56
Вот горшок пустой, он предмет простой...
Расчет разницы между датами из одной колонки в Power Query, Описание приемов и способов поиска минимальной и максимальной даты с последующим определением разницы в месяцах
 
Aleksei_Zhigulin, в вашей формуле из поста №10, нет нельзя.
В чем финт первой конструкции, которая формируется кодом по кнопке фильтрации самой ранней даты? В том, что результатом, который присваивается переменной earliest является скалярное значение, которое согласно спецификации языка рассчитывается один раз и сразу кладется в память. В вашей второй конструкции вы присваиваете переменной а элемент составного типа, который рассчитывается лениво, т.е. каждый раз при обращении к нему. Что будет происходить? При каждой итерации будет рассчитывать мин/макс списка а, при этом транслятор когда будет видеть переменную а, будет действовать так: это список, а как его посчитать? Ага вон код, и будет прогонять вообще весь расчет всех предыдущих шагов, для получения одного и того же списка. Т.е. функция вашей конструкции только в том, чтобы укоротить код. Чтобы увеличить производительность нужно как минимум положить список в память, а еще лучше до each посчитать оба скалярных значения, сразу же их разность и в each  передавать одно готовое скалярное значение. Вот это самое оптимальное.
Вот горшок пустой, он предмет простой...
Расчет разницы между датами из одной колонки в Power Query, Описание приемов и способов поиска минимальной и максимальной даты с последующим определением разницы в месяцах
 
Aleksei_Zhigulin, это да, но если вы обращаетесь к списку после each то обращений будет столько же сколько строк в таблице * 2, т.к. вы считаете и мин и макс. если же сначала посчитать все данные, которые не зависят от контекста строки (во загнул :D ), и в each передавать уже посчитанные скалярные переменные, то обращений будет всего 2. Буфер в моем случае чуть-чуть ускорит процесс для очень большой таблицы, тогда к нему будет обращение 1 раз вместо двух.
Тут ведь как, мы сейчас обсуждаем сферического коня в вакууме, а по факту эти вычисления могут быть уже 20-тым по счету шагом, и обращение к столбцу из-за ленивки могут рассчитываться очень долго.
Вот горшок пустой, он предмет простой...
Расчет разницы между датами из одной колонки в Power Query, Описание приемов и способов поиска минимальной и максимальной даты с последующим определением разницы в месяцах
 
Цитата
Георгий Шкуро написал:
Попробовал
Плохо попробовали.
Формулу подрихтовал для быстродействия. Так пробуйте:
Код
= Table.AddColumn(
        #"Измененный тип2", 
        "Пользовательская", 
        let a = List.Buffer(#"Измененный тип2"[Дата транзакции]), 
             max = List.Max(a), 
             min = List.Min(a) 
        in each Number.RoundDown( Number.From(max - min)/30 ) )
Вот горшок пустой, он предмет простой...
Расчет разницы между датами из одной колонки в Power Query, Описание приемов и способов поиска минимальной и максимальной даты с последующим определением разницы в месяцах
 
Цитата
Георгий Шкуро написал:
даты расположены хаотично
Умею писать хаотичный код, но не уверен что вам это поможет.
Вы бы в файлике хоть примерно структуру источника отобразили бы. А так я даже не знаю чем помочь.
Изменено: PooHkrd - 27 Май 2020 17:35:21
Вот горшок пустой, он предмет простой...
Скачивание информации из нескольких веб-страниц, Помощь с запросом Power Query
 
Цитата
Jurcalas написал:
выучить язык М, нужен редко
Я когда его не знал - тоже нужен был редко.
Как только немножко выучил - сразу начал каждый день пользоваться. :D
Лучше день потерять - потом за 5 минут долететь!
Вот горшок пустой, он предмет простой...
Скачивание информации из нескольких веб-страниц, Помощь с запросом Power Query
 
Как-то так:
Код
let
    fnGetData = (y,s,i)=> Table.PromoteHeaders( Web.Page(Web.Contents("http://edu.donnasa.ru/Ved/TotalVed.aspx?year=" & y & "&sem=" & s & "&id=" & i )){0}[Data] ),
    S = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    Decart = Table.Join( Table.Join( Table.SelectRows(S[[year]], each [year] <> null), {}, Table.SelectRows(S[[sem]], each [sem] <> null), {} ), {}, Table.SelectRows(S[[id]], each [id] <> null), {} ),
    Typed = Table.TransformColumnTypes(Decart,{{"year", type text}, {"sem", type text}, {"id", type text}}),
    AddedTabs = Table.AddColumn(Typed, "tabs", each fnGetData([year],[sem],[id])),
    Expanded = Table.ExpandTableColumn(AddedTabs, "tabs", {"Тип", "Дисциплина", "Преподаватель", "Блок", "Итоговый Процент", "Оценка По Рейтингу", "Оценка На Экзамене", "Итоговая Оценка", "Дата Пересдачи 1", "Пересдача 1", "Дата Пересдачи 2", "Пересдача 2", "Дата Пересдачи 3", "Пересдача 3"}, {"Тип", "Дисциплина", "Преподаватель", "Блок", "Итоговый Процент", "Оценка По Рейтингу", "Оценка На Экзамене", "Итоговая Оценка", "Дата Пересдачи 1", "Пересдача 1", "Дата Пересдачи 2", "Пересдача 2", "Дата Пересдачи 3", "Пересдача 3"})
in
    Expanded

Добавляйте список ID в нужный столбец, обновляйте таблицу и ждите. Качается не быстро. Но быстрее чем ручками.
Изменено: PooHkrd - 27 Май 2020 14:51:28
Вот горшок пустой, он предмет простой...
Скачивание информации из нескольких веб-страниц, Помощь с запросом Power Query
 
Приложите файл в котором есть все варианты параметров для формирования строки запроса к сайту, т.е. year/sem/id
Я правильно понял, что нужно в цикле перебрать все возможные сочетания этих параметров и собрать в одну таблицу все успешные обращения к сайту?
Вот горшок пустой, он предмет простой...
Соединение таблиц из отдельных листов в одну сплошную
 
Люк Небоход, какой версией Экселя пользуетесь? (Про это в правилах тоже имеется).
Вот горшок пустой, он предмет простой...
Поиск данных с приблизительным условием по дате
 
AnastasiaSchaste, странно что работает, ибо в вашей версии PQ функция Table.PromoteHeaders( таблица) принимает только один аргумент, т.е. вот эта строка в моем запросе
Код
Table.PromoteHeaders( Excel.CurrentWorkbook(){[Name="Звонки!report"]}[Content], [PromoteAllScalars=true] )

должна выглядеть так:
Код
Table.PromoteHeaders( Excel.CurrentWorkbook(){[Name="Звонки!report"]}[Content] )

И во втором упоминании этой функции аналогично нужно вырезать вот этот кусок , [PromoteAllScalars=true]
Хотя возможно вы случайно на какую-то кнопку нажали и Эксель обновили до нужно версии.  :)
Вот горшок пустой, он предмет простой...
Поиск данных с приблизительным условием по дате
 
AnastasiaSchaste, а Power Query? Смотреть здесь:
Вот горшок пустой, он предмет простой...
Вычисляемое поле с формулой со средней ставкой в Сводной таблице
 
sinks, метод называется Power Pivot и Power Query
Качайте обе надстройки. Сначала при помощи PQ делаю из вашей свернутой таблицы плоскую, результат загружаю в модель данных РР. Далее в модели данных создаю две меры:
Код
Сумма:=SUM('Факт'[Значение])
Средняя ставка:=
IF( 
    ISFILTERED( 'Факт'[Название вклада] ); 
    BLANK(); 
    DIVIDE( SUMX( 'Факт'; 'Факт'[Ставка] * 'Факт'[Значение] ); SUM( 'Факт'[Значение] ) ) )

Их кидаю в область значений, а структуру сводной вы и сами видите.
Вы уж извините, но все тайны мироздания связанные с PP и PQ в одной теме я не раскрою. Обучением занимайтесь самостоятельно, если что-то не будет получаться - создавайте новые темы, поможем, подскажем. А еще лучше ищите по сайту, тут уже имеется богатейший материал по данным инструментам.
Предлагаю для начала разобраться с этими вопросами, а потом вернемся и к датам с детализацией по месяцам.
Вот тут у хозяина сайта целый раздел, посвященный данным инструментам, есть как обзорные статьи, так и разборы конкретных кейсов. А вот тут и тут есть шикарные учебники.
Изменено: PooHkrd - 27 Май 2020 10:42:56
Вот горшок пустой, он предмет простой...
Обновление 27.05
 
У меня все четко отображается. Мозила и Эдж
Вот горшок пустой, он предмет простой...
Связь столбцов Сводной таблицы и OLAP, множественная связь сводных таблиц, Возможно ли связать столбцы из Куба OLAP и Сводной таблицы из соединения.
 
А если выгружать куб именно в модель данных вместе со всеми связями, а потом туда же дополнительные таблички? Сам не пробовал, но вдруг?
Сначала так:

Потом загружаем дополнительные таблицы и связываем их в модели. Тут вроде описан именно такой процесс.
Вот горшок пустой, он предмет простой...
[ Закрыто] Cтрока нулевой длины в excel
 
Цитата
hr.al написал:
Но почему ответ вредный? ))
перебирать в цикле 17ккк ячеек? Это точно малополезно.  :D
Вот горшок пустой, он предмет простой...
Вычисляемое поле с формулой со средней ставкой в Сводной таблице
 
sinks, сделать можно, но вы уверены в корректности расчета? Правильно ли Общий итог считать как средняя по средним, а не сумму произведений всех строк, как это сделано для промежуточных итогов?
Хотя, может и верно. Итоги у нас сходятся. Так надо?
Изменено: PooHkrd - 27 Май 2020 09:47:12
Вот горшок пустой, он предмет простой...
Поиск данных с приблизительным условием по дате
 
AnastasiaSchaste, какая версия Excel и Power Query?
Вот горшок пустой, он предмет простой...
Развернуть вертикальную вложенную таблицу (xml) в один ряд PowerQuery., XML
 
yuraok, я все понимаю, но приложите хотя бы минимальные усилия к самообразованию. Тем более что в вашем кросс-посте на Эксельворлде Андрей вам дал чудесные ссылки для этого. От себя могу добавить еще вот такую. Для начинающих самое то.
Изменено: PooHkrd - 26 Май 2020 18:24:56
Вот горшок пустой, он предмет простой...
в строке формул непонятная формула: =@GetTreesCount2
 
Это ссылка на ячейку в столбце с названием GetTreesCount2 текущей строки в умной таблице.
Так?
Вот горшок пустой, он предмет простой...
Развернуть вертикальную вложенную таблицу (xml) в один ряд PowerQuery., XML
 
yuraok, я ж вам файл к сообщению прикрепил. Там все уже вставлено в ваш запрос, проверяйте.
Вот горшок пустой, он предмет простой...
Развернуть вертикальную вложенную таблицу (xml) в один ряд PowerQuery., XML
 
Можно прямо в конец вашего запроса добавить.
Вот горшок пустой, он предмет простой...
Поиск данных с приблизительным условием по дате
 
AnastasiaSchaste, у вас в столбце примера как должно быть ничего не указано для номера 1135, но при этом имеется целая куча звонков в течение 24 часов после заказа, почему у вас там пусто?
Во вложении решение задачи на PQ согласно её описания, не примера.
Код
let
    Calls = Table.PromoteHeaders( Excel.CurrentWorkbook(){[Name="Звонки!report"]}[Content], [PromoteAllScalars=true] ),
    TypedCalls = Table.TransformColumnTypes(Calls,{{"connected_to_phone", type text}, {"start_time (время звонка)", type datetime}}),
    Orders = Table.PromoteHeaders( Excel.CurrentWorkbook(){[Name="Интернет_заказ"]}[Content], [PromoteAllScalars=true] ),
    TypedOrders = Table.TransformColumnTypes(Orders,{{"Дата и время создания АХ", type datetime}, {"Телефон получателя", type text}, {"Дата/время подтверждения КЦ", type datetime}}),
    Custom1 = TypedOrders & Table.DuplicateColumn( Table.RenameColumns( TypedCalls, {"connected_to_phone", "Телефон получателя"} ), "start_time (время звонка)", "Дата и время создания АХ" ),
    SortedDateTime = Table.Sort(Custom1,{{"Телефон получателя", Order.Ascending}, {"Дата и время создания АХ", Order.Ascending}}),
    GroupedRows = Table.Group(SortedDateTime, {"Телефон получателя"}, {{"tab", each Table.FillUp( _, {"start_time (время звонка)"} ), type table}}),
    Custom2 = Table.SelectRows( Table.Combine( GroupedRows[tab] ), each [#"Интернет-заказ"] <> null ),
    ReplacedTime = Table.ReplaceValue( Custom2, 0, each [Дата и время создания АХ], (a,b,c) => a * Number.From(c-a<#duration(1,0,0,0)), {"start_time (время звонка)"} ),
    SortedRows = Table.TransformColumnTypes( Table.Sort( ReplacedTime, {"Интернет-заказ", Order.Ascending} ), {"start_time (время звонка)", type datetime} )
in
    SortedRows
Вот горшок пустой, он предмет простой...
[ Закрыто] Cтрока нулевой длины в excel
 
Юрий М, фу ты, а то я уж подумал вы так ктулху вызываете.
Даже думать не хочу что там у вас в руках происходило, что слово "уверены" превратилось в нечто мистическое.  :D
Вот горшок пустой, он предмет простой...
[ Закрыто] Cтрока нулевой длины в excel
 
оффтоп моде он:
Цитата
Юрий М написал:
Вы уыкпкефы
Кто это?  8-0  :)
Вот горшок пустой, он предмет простой...
Развернуть вертикальную вложенную таблицу (xml) в один ряд PowerQuery., XML
 
Михаил Л,
Позволю себе внести манюсенькую правку в ваш код ибо у ТСа в исходнике есть косяк с дублированием категорий.
Код
// primer1 (2)
let
    Source = Excel.CurrentWorkbook(){[Name="primer1"]}[Content],
    #"Pivoted Column" = Table.Pivot(
        Source, 
        List.Distinct(Source[#"param.Attribute:name"]), 
        "param.Attribute:name", 
        "param.Element:Text", 
        (t)=>Text.Combine(t,", ") )
in
    #"Pivoted Column"
Изменено: PooHkrd - 26 Май 2020 16:39:13
Вот горшок пустой, он предмет простой...
График работ в PQ Продолжительность в месяцах
 
Михаил Л, сайт упал, подняли из резервной копии от часа ночи сегодня.
Вот горшок пустой, он предмет простой...
Модернизировать запрос Power Query.
 
угрюмый, если таки надумаете решать вопрос в PQ - обращайтесь в личку, но при условии, что Oleg Boyaroff отдаст заказ.
Вот горшок пустой, он предмет простой...
Транслировать нуклеотидную последовательность в соответствующую ей аминокислотную последовательность
 
Цитата
buchlotnik написал:
Но 10% всё-таки выиграл
Вариант PQ на 10к строк моем компе выдал 6.7 сек
Функции отработали
strAmino - 21,9 сек
CodonToAmino - 20,5 сек
первый раз вижу, чтобы PQ был быстрее, все таки List.ReplaceMatchingItems это сила. Но тут понятно, что просто алгоритмы разные, наверняка, VBA можно ускорить. Может Алексей со своих смет переключится. Он любит всякое такое оптимизировать.  :)
Изменено: PooHkrd - 25 Май 2020 15:46:21
Вот горшок пустой, он предмет простой...
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 153 След.
Наверх