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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 286 След.
Power Bi. Как организовать накопление данных с каждым обновлением запроса?, подскажите, есть ли способ хранить в powerbi результаты предыдущего результата запроса, для соединения с текущим.
 
Цитата
Zabubu написал:
бесплатная.
Тогда, увы. Лучше делать инкремент в Excel. В Power BI Desktop можно заморочиться с отключением обновления очередного запроса Power Query, созданием нового с настройкой диапазона условия обновления, а потом объединение через UNION с общей таблицей. Но такие ручные приседания имеют смысл проделывать раз в неделю максимум, а не на ежедневной основе.
Ну, можно ещё покопать в таком направлении :)
Power Bi. Как организовать накопление данных с каждым обновлением запроса?, подскажите, есть ли способ хранить в powerbi результаты предыдущего результата запроса, для соединения с текущим.
 
Доброе время суток.
Используйте Incremental refresh in Power BI
Power Query. Разделение текста пробелом по условию, необходимо разделить слова по условию, где соединяются строчная и прописная буквы и др.: "аА", "а)А"
 
Алексей, спасибо!
PQ, перевернуть строки в столбцы
 
Цитата
OblivionR написал:
Преобразование / столбец сведения * без агрегирования.
Как пример результата без смысла, так решение такое же :)  
Утанцовка исходного файла с сохранением порядка
Код
let
    Source = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    addGlobalId = Table.AddIndexColumn(Source, "gid"),
    addBaseId = Table.AddIndexColumn(Table.Group(addGlobalId, {"where"}, {"temp", each _}, GroupKind.Local), "baseid"),
    restoreBase = Table.ExpandTableColumn(addBaseId, "temp", {"what", "value", "gid"}),
    addLocalId = Table.Combine(Table.Group(restoreBase, {"where", "what"}, {"temp", each Table.AddIndexColumn(_, "loc")})[temp]),
    beforeRowId = Table.Sort(addLocalId,{{"loc", Order.Ascending}, {"where", Order.Ascending}, {"gid", Order.Ascending}}),
    rowId = Table.Group(beforeRowId, {"where", "loc"}, {{"temp", each _}, {"rowId", each List.Min([baseid])}}),
    #"Expanded {0}" = Table.Buffer(Table.ExpandTableColumn(rowId, "temp", {"what", "value"}, {"what", "value"})),
    #"Sorted Rows" = Table.Sort(#"Expanded {0}",{{"rowId", Order.Ascending}, {"loc", Order.Ascending}}),
    result = Table.RemoveColumns(#"Sorted Rows",{"loc"}),
    return = Table.Pivot(#"Expanded {0}", List.Distinct(Source[what]), "what", "value"),
    #"Sorted Rows1" = Table.Sort(return,{{"rowId", Order.Ascending}, {"loc", Order.Ascending}}),
    #"Removed Columns" = Table.RemoveColumns(#"Sorted Rows1",{"loc", "rowId"})
in
    #"Removed Columns"
PQ, перевернуть строки в столбцы
 
Доброе время суток
OblivionR, числа в таблице-результате даны от балды? Решение нужно аналогично-рандомное?
Power Query. Разделение текста пробелом по условию, необходимо разделить слова по условию, где соединяются строчная и прописная буквы и др.: "аА", "а)А"
 
Привет, Алексей
Цитата
PooHkrd написал:
Я уж развесил губу что ваш шаблон и края с областями перелопатит
Я делал строго по постановке задачи
Цитата
ivanka написал:
де можно текст "РеспубликаАдыгея(Адыгея)" преобразовать так: "Республика Адыгея (Адыгея)".Кабардино-БалкарскаяРеспублика to Кабардино-Балкарская Республика.
Если ТС лень заниматься анализом что где не так, то не считаю, что я должен хоть как-то этим заниматься. Кому нужно, тот и анализирует свои данные. Сугубо для вас просто дополняем регулярку
Код
/([а-яё])(?=[А-ЯЁ]|\(|автоном|округ|область|край)/g

Цитата
PooHkrd написал:
И есть ли ограничение на длину строки, которую можно обработать таким образом?
По идее, длина строки не менее чем 2^31 символов.
Цитата
PooHkrd написал:
Кстати, а вы не пробовали скармливать в регулярку только список уникальных, а результат потом джойнить к исходным данным? Может так будет еще быстрее?
Нет, не пробовал, может вечером протестирую. По идее должно быть быстрее.
Цитата
PooHkrd написал:
А если вызывать эту функцию для каждого значения столбца отдельно то будет сильно медленнее?
Наверняка да, вызов для каждого элемента списка Web.Page() не самое дешёвое удовольствие. Но можете протестировать :)
Updated.
Не утерпел с Join на уникальных - в два раза быстрее.
Код
let
    toJsString = (string) => Text.Replace(Text.Replace(Text.Replace(Text.Replace(Text.Replace(Text.Replace(Text.Replace(string, "\", "\\"), "&", "\&"), "'", "\'"), """", "\"""), "#(cr)", "\r"), "#(lf)", "\n"), "#(tab)", "\t"),
    jsReg = (string) => Web.Page("<script>var r =/([а-яё])(?=[А-ЯЁ]|\(|автоном|округ|область|край)/g;var t='" & string & "';document.write(t.replace(r,'$1 '));</script>")[Data]{0}[Children]{0}[Children]{1}[Text]{0},
    Source = Csv.Document(File.Contents("C:\path\data.csv"),[Delimiter=",", Columns=6, Encoding=65001, QuoteStyle=QuoteStyle.None]),
    setHead = Table.PromoteHeaders(Source, [PromoteAllScalars=true]),
    uniques = List.Distinct(setHead[subject]),
    replaced = Text.Split(jsReg(toJsString(Text.Combine(uniques, "|"))), "|"),
    pairs = Table.FromRows(List.Zip({uniques, replaced}), {"link", "Требуемое"}),
    result = Table.Join(setHead, {"subject"}, pairs, {"link"}),
    #"Removed Columns" = Table.RemoveColumns(result,{"subject", "link"}),
    #"Reordered Columns" = Table.ReorderColumns(#"Removed Columns",{"Требуемое", "t1", "fond", "salary", "monthyear", "year"}),
    #"Renamed Columns" = Table.RenameColumns(#"Reordered Columns",{{"Требуемое", "subject"}})
in
    #"Renamed Columns"

На рабочей машине 994000 строк загрузилось за 11 секунд (автоподбор ширины столбца отключен).
Изменено: Андрей VG - 15 Ноя 2019 10:45:31
Импорт данных с сайта.
 
Доброе время суток
Цитата
AVERS написал:
Например
Не удачный пример, нет там тэга DIV с атрибутом class="product-details-tables-holder sel-characteristics-table". И потом, вы уверены, что эта страница удовлетворяет стандарту XML?
Например кусок Html кода страницы
Цитата
<span class="header-nav-item-text">Телевизоры, <br><nobr>аудио, Hi-Fi</nobr></span>
Изменено: Андрей VG - 15 Ноя 2019 09:30:15
поставить пробел между текстом и цифрой с определённой буквой, в конце теста иногда встречаются прикреплённые цифры, их нужно отделить
 
Цитата
Kuzmich написал:
только паттерн надо поменять
Спасибо поправил. Просто сделал на всякий случай и для кириллической х, и как водится забыл скопировать код на русской раскладке.
Power Query. Разделение текста пробелом по условию, необходимо разделить слова по условию, где соединяются строчная и прописная буквы и др.: "аА", "а)А"
 
Доброе время суток.
Тёзка, а почему не на регулярках? Размножил исходный файл до 900000 строк получилось почти в четыре раза быстрее ;)
Код
let
    toJsString = (string) => Text.Replace(Text.Replace(Text.Replace(Text.Replace(Text.Replace(Text.Replace(Text.Replace(string, "\", "\\"), "&", "\&"), "'", "\'"), """", "\"""), "#(cr)", "\r"), "#(lf)", "\n"), "#(tab)", "\t"),
    jsReg = (string) => Web.Page("<script>var r =/([а-яё])(?=[А-ЯЁ]|\()/g;var t='" & string & "';document.write(t.replace(r,'$1 '));</script>")[Data]{0}[Children]{0}[Children]{1}[Text]{0},
    Source = Csv.Document(File.Contents("C:\path\data.csv"),[Delimiter=",", Columns=6, Encoding=65001, QuoteStyle=QuoteStyle.None]),
    setHead = Table.PromoteHeaders(Source, [PromoteAllScalars=true]),
    cols = Table.ToColumns(setHead),
    maker = Text.Split(jsReg(toJsString(Text.Combine(cols{0}, "|"))), "|"),
    test = {maker} & List.Range(cols, 1),
    result = Table.FromColumns(test, Table.ColumnNames(setHead))
in
    result
Изменено: Андрей VG - 14 Ноя 2019 22:28:35
поставить пробел между текстом и цифрой с определённой буквой, в конце теста иногда встречаются прикреплённые цифры, их нужно отделить
 
Доброе время суток
Цитата
Kuzmich написал:
Left(cell, .Execute(cell)(0).FirstIndex + 1) & " " & Mid(cell, .Execute(cell)(0).FirstIndex + 2)
Зачем же так усложнять-то?
Код
Function iTowar(ByVal sText As String)
 With CreateObject("VBScript.RegExp")
     .IgnoreCase = True
     .Pattern = "([A-Z])(\d{1,2})(?=\s?[хx])"
     iTowar = .Replace(sText, "$1 $2")
 End With
End Function
Изменено: Андрей VG - 14 Ноя 2019 22:30:11
Поменять формулы в фигурах
 
Доброе время суток
Формулы можно поискать так
Код
Public Sub test()
    Dim pShape As Shape
    For Each pShape In ActiveSheet.Shapes
        Debug.Print pShape.OLEFormat.Object.Formula
    Next
End Sub
Расчеты в PP по заранее прописаным формулам
 
Доброе время суток
Цитата
TankSpb написал:
Как рассчитать конкретный показатель в PQ мы разобрали, но как быть если таких показателей много и формулы различной сложности и возможность быстрого редактирования хотелось бы
Цитата
TankSpb написал:
делать функцию с использованием Application.Evaluate
Expression.Evaluate() In Power Query/M в помощь.
Изменено: Андрей VG - 13 Ноя 2019 15:29:57
Сортировка списка с подпунктами в Power Query
 
Цитата
PooHkrd написал:
Можно,
Привет, Алексей
А для такого набора книг
1.1
1.10.1
10.10.1
2.1
20.1
5.1
Как выполнить правильную сортировку?
1.1
1.10.1
2.1
5.1
10.10.1
20.1
Создание столбца по условию PQ
 
Цитата
Floydmayz написал:
Я использовал конструкцию FixedLocalNow чтобы дни считались от текущего,
Для того чтобы понять зачем FixedLocalNow - вы должны и в названии темы в посте постановки задачи описать из чего, что и как хотите получить, а не описывать как у вас не получается нечто неописанное.
Предложенное решение дополняет строки агрегированных данных по дням агрегированными данными за предыдущий день (предшествующий, если это вторник - суббота и предшествующая пятница для воскресенья и понедельника).
Если вы хотите фильтровать исходные данные за предыдущий день (с учётом определения выше), то зачем добавлять столбцы в исходную таблицу да ещё с условиями? Достаточно вычислить дату этого предшествующего дня и задать его как параметр в Table.SelectRows
Создание столбца по условию PQ
 
Доброе время суток.
Цитата
Floydmayz написал:
Мои попытки
Вы настолько застенчивы, что не можете прочитать правила? И это настолько сложно представить результат по входным данным?
Вариант
Код
let
    Source = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    aggregate = Table.Group(Source, {"Создан"}, {"Заявок", each List.Sum([Заявок]), Number.Type}),
    addDayOfWeekNumber = Table.AddColumn(aggregate,  "DayOfWeek", each Date.DayOfWeek([Создан], Day.Saturday), Int64.Type),
    addPrevJoinDate = Table.AddColumn(addDayOfWeekNumber, "prevJoinDate", each Date.AddDays([Создан], (if [DayOfWeek] < 3 then -[DayOfWeek] else 0) - 1)),
    renameColumnForJoin = Table.RenameColumns(aggregate, {{"Создан", "Ранее создан"}, {"Заявок", "Ранее заявок"}}),
    result = Table.Join(addPrevJoinDate, {"prevJoinDate"}, renameColumnForJoin, {"Ранее создан"}, JoinKind.LeftOuter),
    #"Sorted Rows" = Table.Sort(result,{{"Создан", Order.Ascending}}),
    #"Removed Columns" = Table.RemoveColumns(#"Sorted Rows",{"DayOfWeek", "prevJoinDate"}),
    #"Changed Type" = Table.TransformColumnTypes(#"Removed Columns",{{"Создан", type date}, {"Ранее создан", type date}})
in
    #"Changed Type"
Изменено: Андрей VG - 12 Ноя 2019 22:26:47
Упорядочить на временной оси разные события, Автоматич. Создать в столбчатом формате временную ось и отразить на ней массив исходных событий
 
Цитата
БМВ написал:
Обратите внимание на скобки!
Цитата
Товарищ Вит написал:
, а может достаточно мне установить эту самую Power Query и (как говорит Ник. Павлов) чудным образом расшифруется Ваша версия ???
Если вы за чудесами, то тогда вам лучше было бы поступать в Хогвардс :)  В Power Query обычный код. Но PQ любят пытливые ручки, так как большую часть того кода можно набрать простым мышкоклацанием. Сейчас, затихло, а с год назад было негласное соревнование - кто решит задачу только с помощью мышки :)  (я в число участников не входил). Возьмите у Павллова книгу, да прочитайте (только советую разобраться, а будет ли у вас работать Power Query - вдруг у вас 2007 Excel или вообще маководная версия?)
из столбца A выбираются 10 наибольших значений и из соответствующих этим значениям из столбца B выбирается среднее, извините за хамство но прошу уже готовое решение
 
Доброе время суток
Цитата
distril написал:
или я делаю что нибудь не так,
Да
Цитата
artyrH написал:
массивная
PowerQuery_группировка с усреднением и произвольным кол-вом столбцов(?)
 
Доброе время суток.
Где-то так-то так, но не мышкоклацательный хардкод.
Код
let
    Source = Excel.CurrentWorkbook(){[Name="Table3"]}[Content],
    colNames = Table.ColumnNames(Source),
    aggregateColNames = List.Select(colNames, each Text.StartsWith(_, "Stat")),
    groupColNames = List.RemoveItems(colNames, aggregateColNames),
    aggregateColumns = List.Transform(aggregateColNames, each {_ & " Average", (sub) => List.Average(Table.Column(sub, _)), Number.Type}),
    result = Table.Group(Source, groupColNames, aggregateColumns)
in
    result
Упорядочить на временной оси разные события, Автоматич. Создать в столбчатом формате временную ось и отразить на ней массив исходных событий
 
Цитата
БМВ написал:
Я чуть косяком не подавился :-)
Михаил, именно по этому нет выделения выходных дней? :)  Версия на Power Query.
P. S. Можно объяснить почему 12.6.17 и понедельник и вторник в примере вывода?
Изменено: Андрей VG - 10 Ноя 2019 20:39:27
Подсчитать количество уникальных значений в диапазоне.
 
Доброе время суток
Цитата
Stics написал:
вариант на PQ
Ещё один вариант на Power Query
Код
let
    Source = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    result = List.Transform(Table.ColumnNames(Source), each [name = _, uniqueCount = List.Count(List.RemoveNulls(List.Distinct(Table.Column(Source, _))))])
in
    Table.FromRecords(result)
Удаление учетной записи
 
Цитата
x_D написал:
Я создал корректную (по общечеловеческим нормам)
Offtop
Цитата
В чужой монастырь со своим уставом не ходят
Даже если он, как утверждается, общечеловеческий :)
Авторизация на сайт на примере HeadHunter
 
Доброе время суток.
Попробуйте на Power BI, Excel в интернет-маркетинге и не только поспрашивать на предмет консультации/реализации. Можете непосредственно в ветке Список подрядчиков по Power BI поискать исполнителей. Но ведь выходные же.
[ Закрыто] Авторизация на сайт на примере HeadHunter
 
Цитата
vampir155 написал:
Мне сообщили сегодня, что к понедельнику всё должно быть готово.
Offtop
Вот и сообщите тем кто сообщил, что в связи с тем, что на форуме Planeta Excel по выходным нет завсегдатаев, способных решить задачу с авторизацией, то то, что должно быть готово в понедельник, будет готово только во вторник. И то, если кто-то из решавших такую задачу в Power Query будет готов поделиться решением :)
VBA feat OutLook подпись с логотипом
 
Цитата
Юрий М написал:
Приведите его в порядок..
Offtop
Пора делать движок форума - клиентоориентированным, чтобы отображал подсказку, что сделано не так и демонстрировал видео - как нужно делать правильно, включая предложение шаблонов для оформления файла примера!  :D
Изменено: Андрей VG - 7 Ноя 2019 14:54:34
Power Query. Сведение числовых и текстовых данных по столбцу с учетом повторов строк в таблице
 
Доброе время суток.
Как бы уже и не первый и не второй.. раз. Следите за датами, а то не бьет у вас вход с примером выхода. Поправил.
Изменено: Андрей VG - 6 Ноя 2019 20:10:48
Возможность не обновлять промежуточные PowerQuery запросы
 
Доброе время суток
Цитата
kanikov написал:
есть ли возможность обновить q3 без фонового обновления q1 и q2 ?
Можете расшифровать и детализировать?
Фильтрация таблицы в query из excel
 
Цитата
PooHkrd написал:
я сам иной раз без поллитры разобрать не могу
Порезвимся? Насколько помню, любимый стиль Inexsu также, только в VBA.
Код
((be) => Table.SelectRows(Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content], each Date.Month([Дата]) >= be[b] and Date.Month([Дата]) <= be[e]))
(
    ((s, f, t) => [b = s{[Месяц = f]}[#"№"], e = s{[Месяц = t]}[#"№"]])
    (
        Excel.CurrentWorkbook(){[Name="Monthes"]}[Content],
        Excel.CurrentWorkbook(){[Name="fromMonth"]}[Content]{0}[Column1],
        Excel.CurrentWorkbook(){[Name="toMonth"]}[Content]{0}[Column1]
    )
)

Заодно подправлю ошибку, bobyjoy похоже не заменил
Код
let
    Source = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    monthes = Excel.CurrentWorkbook(){[Name="Monthes"]}[Content],
    fromMonth = Table.SelectRows(monthes, each [Месяц] = Excel.CurrentWorkbook(){[Name="fromMonth"]}[Content]{0}[Column1]){0}[#"№"],
    toMonth = Table.SelectRows(monthes, each [Месяц] = Excel.CurrentWorkbook(){[Name="toMonth"]}[Content]{0}[Column1]){0}[#"№"],
    result = Table.SelectRows(Source, each Date.Month([Дата]) >= fromMonth and Date.Month([Дата]) <= toMonth),
    #"Changed Type" = Table.TransformColumnTypes(result,{{"Дата", type date}, {"Марка", type text}, {"Кол-во продано", type number}})
in
    #"Changed Type"
Изменено: Андрей VG - 6 Ноя 2019 12:51:44
Фильтрация таблицы в query из excel
 
Цитата
PooHkrd написал:
тем более если знаете, что решение вам предложат такое, которое вы скорее всего сходу не разберете.
Привет, Алексей.
Ну, я всё же гуманный - в стиле тёзки не пишу, хотя можно было бы завернуть - чтобы побудить ТС учиться, учиться и ещё раз учиться :)
Фильтрация таблицы в query из excel
 
Доброе время суток.
Как-то так
Открытие html таблицы в EXCEL
 
Цитата
Sladovar написал:
Power Query я не использовал.
а зря. Именно с его помощью проще всего получить импорт чисел с более чем с 16 знаками как текст. Иначе, полагаю, остается использовать VBA
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 286 След.
Наверх