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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 337 След.
Обойти ошибку в вычисляемом поле сводной при делении на ноль
 
Доброе время суток.
Цитата
sokol92 написал:
cannot be created
Ну, тут как бы не всё так грустно, по крайней мере в Excel 365, особенно если про Power Query. С удалением, да в объектной модели Power Pivot, пока швах. С переименованием объектов, забавно Dummy1 :)   Так и не наковырял, как вычисляемый столбец в таблицу подженить :(
Код
Public Sub JustTryIt()
    Dim sPQL As String, wbQuery As WorkbookQuery
    Dim wbConn As WorkbookConnection, pTable As ModelTable
    Dim pMeasuure As ModelMeasure
    sPQL = "let" & vbLf & "    items = {1..100},"
    sPQL = sPQL & vbLf & "    repeat = List.Transform(items, each List.Numbers(1000, 100, 100)),"
    sPQL = sPQL & vbLf & "    members = List.Combine(repeat),"
    sPQL = sPQL & vbLf & "    toTable = Table.FromColumns({members}, type table [Column1 = Int64.Type]),"
    sPQL = sPQL & vbLf & "    add = Table.AddColumn(toTable, ""Column2"", each try 1000 * Number.Random() otherwise null, Number.Type)"
    sPQL = sPQL & vbLf & "in" & vbLf & "    add"
    'create power query query
    Set wbQuery = ThisWorkbook.Queries.Add("TPQLData", sPQL, "This is auto geterated query")
    'change created query
    wbQuery.Formula = "// this is this query description in its code" & vbLf & wbQuery.Formula
    ThisWorkbook.Model.Initialize
    Set wbConn = ThisWorkbook.Connections.Add2("TPQLDataPP", "Add that query to model", "OLEDB;Provider=Microsoft.Mashup.OleDb.1;Data Source=$Workbook$;Location=TPQLData;Extended Properties=""""", _
    "Select * From [TPQLData]", xlCmdSql, True, False)
    Set pTable = ThisWorkbook.Model.ModelTables(1)
    'excelent change of name
    pTable.Dummy1 wbQuery.Name
    Set pMeasuure = ThisWorkbook.Model.ModelMeasures.Add("Just Sum", pTable, "SUM('" & wbQuery.Name & "'[Column2])", ThisWorkbook.Model.ModelFormatDecimalNumber(True, 2), "created by vba measure")
End Sub
Посмотрю завтра, что из этого в Excel 2016 действует.
Updated
Посмотрел. Код полностью отработал.
P. S. Глючит, если открыто окно Power Pivot.
Изменено: Андрей VG - 7 Июл 2020 09:25:20
Разграничить доступ к информации в книге
 
Цитата
БМВ написал:
и не написано что база это Excel файл ;-)
Но! Могло подразумеваться - форум то по Excel! Просто следует современному тренду экономии на буковках до потери смысла - зато так загадочно получается :)
Как построить углы на графике из заданной точки?
 
Как "художник" художнику
Как на графике по датам пропустить выходные?
 
Доброе время суток.
Вариант
Разграничить доступ к информации в книге
 
Доброе время суток
Цитата
evgeniygeo написал: можно
А не поделитесь тайным знанием? Поскольку на форуме уже не раз обсуждалось, что еже ли некто имеет доступ к файлу и, если он защищён паролем, имеет его, то обеспечить
Цитата
так чтобы те кто вводит данные не могли украсть всю базу
фактически не возможно.
Сколько названий изменилось на строго заданное?
 
Цитата
Максим написал:
Объясню
Спасибо, наконец-то стало понятно почему.
Цитата
Михаил Л написал:
Что ни пост  то новость
вот тут, Михаил, не согласен. В рамках чисто формульного решения, тема, с учётом сообщения #55!, вполне себе нормально декомпозированная подзадача. А как будет использоваться и где, это уже другая задача :)  Просто, в рамках постановки возможно только формульное или vba решение.
Конечно, если реструктуризировать, то можно решить и с помощью Power Query и Power Pivot. Но в этом случае получится комплексное задание :)
Вот Максим и не стал заморачиваться, а может не желает использовать pq/pp
Сколько названий изменилось на строго заданное?
 
Ещё раз Power Query :)
Корректный импорт данных с сайта
 
Цитата
Михаил Л написал:
Вот файл в подтверждение работоспособности способа копи-пасте в подготовленные ячейки
Михаил, приношу свои извинения, описался, исправил.
Корректный импорт данных с сайта
 
Цитата
Михаил Л написал:
Как видите в сообщении #5
Ну, что вы, право слово, Михаил. Мне не сложно повторить. Клиенту же сложно же будет перечитать столько сообщений в своей теме, столько букв!
Цитата
XottabbI4 написал:
выделил столбцы где данные встают некорректно, выбрал формат ячеек "текстовый"
Не будет ли столь любезен, XottabbI4, , и не затруднит ли белы рученьки приложить файл с примером ваших попыток?
Изменено: Андрей VG - 6 Июл 2020 08:11:13
Некорректный вывод на печать при различных разрешениях монитора.
 
Доброе время суток.
Михаил, не проще ли всё перенести в Word? В нём искажений нет.
Корректный импорт данных с сайта
 
Цитата
XottabbI4 написал:
Пробовал - не помогает(  
А не расскажете по шагам, что вы делали? У меня в файле - получилось, можете, если это вас не затруднит, его даже посмотреть.
Последовательный список из диапазона
 
Доброе время суток
Цитата
Alliar написал:
Можете показать скрипт
Да не проблема, только зря вы игнорируете
Цитата
Mershik написал:
не поместятся ваши 2 млн строк в excel - если делать все одним списком..
Версия на Power Query для первого набора - останется только обновить. :)
Успехов.
Обновление запросов PowerQuery по очереди.
 
Цитата
Михаил Л написал:
spisok = ("Запрос — test";"Запрос — test1";"Запрос — test3";"Запрос — test2")
А почему вы решили, что это должно работать?
Код
Sub RefreshPQ2()
    
    Dim ws As Worksheet, qt As QueryTable, oc As Object, IsBG_Refresh As Boolean
    Dim i As Long, spisok
    spisok = Array("Запрос — test", "Запрос — test1", "Запрос — test3", "Запрос — test2")
    
  
    For i = LBound(spisok) To UBound(spisok)
       
       Set oc = ThisWorkbook.Connections(spisok(i))
       IsBG_Refresh = oc.OLEDBConnection.BackgroundQuery
       oc.OLEDBConnection.BackgroundQuery = False
       oc.Refresh
       oc.OLEDBConnection.BackgroundQuery = IsBG_Refresh
    Next
End Sub
Обновление запросов PowerQuery по очереди.
 
У вас очевидно, как и у меня, Excel 365. В нём убрали стандартную кнопку подключения, где можно было сразу посмотреть что как называется - заменили панелью. Поэтому сейчас, чтобы увидеть правильные названия, то либо скрипт выше, либо по кнопке "Существующие подключения".
Обновление запросов PowerQuery по очереди.
 
Доброе время суток
Цитата
kolyaya написал:
Subscript out of range
Нет там такого подключения. Достаточно провести простой эксперимент
Код
Public Sub PrintConnectionNames()
    Dim p As WorkbookConnection
    For Each p In ThisWorkbook.Connections
        Debug.Print p.Name
    Next
End Sub

Чтобы в этом убедиться :)
Цитата
Запрос — test
Запрос — test1
Перебор ячеек диапазона с копированием каждой ячейки и вставкой в разные книги в папке
 
Цитата
Spec написал:
присвоив им в названии цифры от 1 до 1600
Может сделать всё проще - в ячейки C2:C4 первого листа книги Spisok.xlsm записать названия файлов? И тогда порно с двумя циклами и нечётким поиском не потребуется использовать.
Изменено: Андрей VG - 5 Июл 2020 11:17:24
Перебор ячеек диапазона с копированием каждой ячейки и вставкой в разные книги в папке
 
Цитата
Spec написал:
встать в Workbook с апельсином
Как это можно узнать, посредством email запроса вышестоящему руководителю?!
Перебор ячеек диапазона с копированием каждой ячейки и вставкой в разные книги в папке
 
Доброе время суток
Цитата
Spec написал:
Количество ячеек в диапазоне = кол-ву Workbooks в целевой папке.
И нет никакой разницы в какую книгу какое значение будет вставлено - правильно ли я вас понимаю? Важно просто вставить :)
Нужна таблица содержащая данные из другой таблици, соответствующие определенным условиям.
 
Цитата
Михаил Л написал:
при наличии этой просьбы упорно или намеренно не дают
Ну, может они так стремятся выразить то, что они сложные загадочные натуры, требующие особого понимания, или просто подольше продолжить общение - удалёнка ж, поговорить-то не с кем :)
Корректный импорт данных с сайта
 
Доброе время суток
Цитата
Игорь написал:
попробовать настроить в Excel веб-запрос,
Что-то у меня Excel 365 не смог так сделать. Только ошибку выбросил как на картнике.
Нужна таблица содержащая данные из другой таблици, соответствующие определенным условиям.
 
Цитата
Михаил Л написал:
Так у вас условие
Точно или догадка?
Построить сводную без агрегирования значений
 
Цитата
Олег Б написал:
что минимум в этот раз подошел
Там бы и максимум и среднее и сумма подошли бы ;)  Суть-то не в функции агрегации, а в искусственной трансформации, чтобы получить заданную уникальность.
Организация запросов power query
 
Цитата
Максим Зеленский написал:
Кстати, ответ "Иногда да",
Это когда гланды через одно место автогеном? Спасибо, конечно, но не надо. :)
Изменено: Андрей VG - 4 Июл 2020 21:53:31
Построить сводную без агрегирования значений
 
Доброе время суток
Шуточное решение :)
Как вытянуть вот это число (3.60) регуляркой
 
Доброе время суток.
Вариант
Код
Public Sub NumberByRegExpTest()
    Dim pReg As Object, p
    Dim testString As String
    Set pReg = CreateObject("VBScript.RegExp")
    pReg.Pattern = ">(\d+\.\d+)</span>"
    testString = "<span class=""selection-link active-selection  """ & _
        " data-selection-key=""8628569@Match_Result.1"" data-" & _
        "prt=""CP"" data-selection-price=""3.6"">3.60</span>"
    Debug.Print pReg.Execute(testString)(0).SubMatches(0)
End Sub

P. S. Anton Anton, вы уверены, что это вежливо с вашей стороны - не отписываться в своих темах?
Сколько названий изменилось на строго заданное?
 
Цитата
Максим написал:
данный вариант не подойдёт
Позволю себе поинтересоваться, что послужило причиной такого вывода?
Сколько названий изменилось на строго заданное?
 
Цитата
Максим написал:
Готов уже рассмотреть решение с добавлением доп.столбца
А может Power Query? Только формулировку всё же бы почётче иметь
Как ускорить свой код в 1000 раз
 
Добрый день, Владимир.
Цитата
sokol92 написал:
метод WorksheetFunction.Transpose, что для профессионального программиста VBA странно...
Если задача локальна и вписывается в ограничения этой функции, то почему нет?
Организация запросов power query
 
Цитата
kolyaya написал:
но пока обновляю запросы посредством AHK
А смысл, чем VBA хуже?
Цитата
kolyaya написал:
обращаться к этой таблице... работает намного шустрее чем при обращении к запросу.
Вполне естественно, вы работаете в этом случае с готовым источником данных, поэтому не требуется выполнение преобразований, как в случае с запросом.
Цитата
kolyaya написал:
Можно ли потом из модели данных взять данные в power query?
Нет
Наиболее распространенная цена, Power Pivot, Dax
 
Цитата
Kirill_KN написал:
можно вывести тогда верхнюю цену.
Верхняя это что? Вариант, что под этим подразумевается максимальная цена
Код DAX:
MCP =
VAR countByPrice =
    SUMMARIZE (
        'Data';
        'Data'[Цена продажи];
        "count by price"SUM ( 'Data'[Объем продаж] )
    )
VAR maxVolume =
    MAXX ( countByPrice; [count by price] )
VAR rowsWithMaxVolume =
    FILTER ( countByPrice; [count by price] = maxVolume )
RETURN
    MAXX ( rowsWithMaxVolume; 'Data'[Цена продажи] )
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 337 След.
Наверх