Моя мысль не может не нравится. :-) №15 сделан на основе MSQuery, фактически за исключением (`Лист1$_1`.`Дата закрытия`+2) все сделано клацанием мыши. Мне сложно вещать по русскому интерфейсу, но вкладка данные, там выбрать сам файл, таблицу из него и далее в конце мастера выбрать пункт редактировать. Добавить таблицу еще раз, связать поля в таблицах и там выбрать условия. Кода знаешь - совсем ничего сложного.
Моя мысль не может не нравится. :-) №15 сделан на основе MSQuery, фактически за исключением (`Лист1$_1`.`Дата закрытия`+2) все сделано клацанием мыши. Мне сложно вещать по русскому интерфейсу, но вкладка данные, там выбрать сам файл, таблицу из него и далее в конце мастера выбрать пункт редактировать. Добавить таблицу еще раз, связать поля в таблицах и там выбрать условия. Кода знаешь - совсем ничего сложного.bmv98rus
skais, и сейчас еще протестировал на большом файле, и там такой нюанс еще получился, есть обращения, где не заполнено поле "номер" - и обращение считается как повторное - а должно как еденичное, так как номера тел.не указано и такая же проблема с темой обращения(
skais, и сейчас еще протестировал на большом файле, и там такой нюанс еще получился, есть обращения, где не заполнено поле "номер" - и обращение считается как повторное - а должно как еденичное, так как номера тел.не указано и такая же проблема с темой обращения(Vladimir32
так до бесконечности будем решать Вашу задачу, как говорят коллеги - что еще нас там ждет
Вот вы и познакомились с agile. В обычной практике доработки завершаются, когда клиент устаёт платить. А тут то чего заморачиваться над анализом - всё бесплатно Кто ж его ценит чужое время?
так до бесконечности будем решать Вашу задачу, как говорят коллеги - что еще нас там ждет
Вот вы и познакомились с agile. В обычной практике доработки завершаются, когда клиент устаёт платить. А тут то чего заморачиваться над анализом - всё бесплатно Кто ж его ценит чужое время?anvg
bmv98rus, по формуле из #2 сообщения по времени работает чуть больше 10 минут - это все таки долго, а вот что касается #15 - скорость поражает, обновляется таблица 23 секунды (специально засекал), макрос даже дольше работает - 45 секунд. На самом деле запрос из #15 просто поражает скоростью.
bmv98rus, по формуле из #2 сообщения по времени работает чуть больше 10 минут - это все таки долго, а вот что касается #15 - скорость поражает, обновляется таблица 23 секунды (специально засекал), макрос даже дольше работает - 45 секунд. На самом деле запрос из #15 просто поражает скоростью.Vladimir32
Vladimir32 макрос даже дольше работает - 45 секунд. - просто он использует стандартную сортировку два раза, если бы данные были в нужном виде изначально, то возможно макрос бы и победил. Однако не суть.
Vladimir32 макрос даже дольше работает - 45 секунд. - просто он использует стандартную сортировку два раза, если бы данные были в нужном виде изначально, то возможно макрос бы и победил. Однако не суть.skais
Vladimir32, результат не сильно поразил, он ожидаем, хотя знатоки SQL скажут, что запрос по себе плохой и медленный. Интересно сравнить аналогичное с работой PowerQuery но anvg, молчит или некогда или не интересно.
Vladimir32, результат не сильно поразил, он ожидаем, хотя знатоки SQL скажут, что запрос по себе плохой и медленный. Интересно сравнить аналогичное с работой PowerQuery но anvg, молчит или некогда или не интересно.bmv98rus
Замечательный Временно просто медведь , процентов на 20.
Интересно сравнить аналогичное с работой PowerQuery
Ну пока anvg молчит попробую я чего-нить путного изобразить [vba]
Код
let Источник = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content], Отбор = Table.AddColumn( Источник, "Строка", each let клиент=[Номер клиента], закрыто=[Дата закрытия], тема=[Тема обращения] in Table.First( Table.SelectRows( Источник, each [Номер клиента]=клиент and [Дата создания]>закрыто and [Тема обращения]=тема ) ) ), Повтор = Table.FromRecords( Table.TransformRows( Отбор, each Record.TransformFields( _ , let r = _ in { "Повтор", each try if ((r[Строка][Дата создания]-r[Дата закрытия]))<#duration(0,48,1,0) then "Повторное" else "Единичное" otherwise "Единичное" } ) ) ), #"Удаленные столбцы" = Table.RemoveColumns(Повтор,{"Строка"}), #"Измененный тип" = Table.TransformColumnTypes(#"Удаленные столбцы",{{"Код.обращения", Int64.Type}, {"Номер клиента", Int64.Type}, {"Дата создания", type datetime}, {"Дата закрытия", type datetime}, {"Тема обращения", type text}, {"Повтор", type text}}) in #"Измененный тип"
Интересно сравнить аналогичное с работой PowerQuery
Ну пока anvg молчит попробую я чего-нить путного изобразить [vba]
Код
let Источник = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content], Отбор = Table.AddColumn( Источник, "Строка", each let клиент=[Номер клиента], закрыто=[Дата закрытия], тема=[Тема обращения] in Table.First( Table.SelectRows( Источник, each [Номер клиента]=клиент and [Дата создания]>закрыто and [Тема обращения]=тема ) ) ), Повтор = Table.FromRecords( Table.TransformRows( Отбор, each Record.TransformFields( _ , let r = _ in { "Повтор", each try if ((r[Строка][Дата создания]-r[Дата закрытия]))<#duration(0,48,1,0) then "Повторное" else "Единичное" otherwise "Единичное" } ) ) ), #"Удаленные столбцы" = Table.RemoveColumns(Повтор,{"Строка"}), #"Измененный тип" = Table.TransformColumnTypes(#"Удаленные столбцы",{{"Код.обращения", Int64.Type}, {"Номер клиента", Int64.Type}, {"Дата создания", type datetime}, {"Дата закрытия", type datetime}, {"Тема обращения", type text}, {"Повтор", type text}}) in #"Измененный тип"