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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 14 След.
Мощность Power Query
 
день добрый,
обработку большого xml можно вести в Talend Data Integration Studio (бесплатное open source ПО) - легко можно создать любой ETL workflow.
job можно скомпилировать в jar и запускать по расписанию. Результат работы можно писать в любую БД.
Для себя сейчас открыл мощную связку Excel/Access (ввод данных) -> VBA->sqlite  (data storage)- не требует развертки сервера и прав администратора.
Перевод Dictionary в таблицу, Как преобразовать словарь в таблицу на листе
 
Уважаемые коллеги, вечер добрый.
Помогите пожалуйста с преобразованием словаря в обычную таблицу на листе.
Источник данных:
Веб сервис - POST запрос - получаю JSON.
его я могу распарсить в R и ручками привести к таблице (муторно и лень),
распарсил в KNIME, перевел в XML, далее через XPATH (не совсем удобно для конечного пользователя - нужно делать веб морду)
Хочу в excel.

Сам источник представляет собой 18 столбцов-списков, по одному документу/записи  могут быть 5 значений в списке номер 3 и 7 значений в списке 8 и т.д.
глубина списка динамическая величина.

Огромное спасибо EducatedFool за совет на просторах форума по считыванию ResponseBodyвместо RespinseText для борьбы с кодировкой.
Получил в excel JSON, распарсил его через CDataset.xlsm (уже обсуждался на форуме) - на выходе Dictionary с child.

Есть ли способ перечислить в строку все значения каждого списка, с учетом иерархии??
Т. е если для какого-то ключа встречается вложенный словарь - то он выводится в новые строчки, а названия ключей вложенного словаря в название столбцов.

пример JSON {Имя:Иванов; Фамилия : Петров; Любимый цвет : {цвет1:красный; цвет2:синий}
аля словарь
                     Имя: Иванов
                     Фамилия: Петров
                     Любимый цвет
                     Любимый цвет - child(1) цвет1 = красный
                     Любимый цвет - child(2) цвет2 = синий

Как хочу
Имя       Фамилия  Любимый цвет
Иванов Петров       красный
                                синий

Прошу прощения, может быть непонятно объяснил, давно к vba не подступал - забыл уж многое.
Есть ли будущее у VBA
 
Доброго дня, всем.
Просьба особо не пинать - я опять со своим R - просто как альтернатива.
Сейчас полностью ушел в data mining в ритейле - для решения задач функционала экселя просто не хватает.
Сделал следующую связку - эксель для сбора данных от пользователей (настройки, параметры расчетов), по кнопке вызывает R portable version, где применяются расчеты с техниками машинного обучения, результат выводится в виде веб-страницы (пакет Shiny). Таким образом можно работать с big data сохраняя удобный для пользователя интерфейс.
Решаемые задачи - прогноз продаж по категориям с дневной календаризацией с учетом динамической сезонности, парсинг данных с сайтов, обработка REST запросов.  
Парсинг сайтов с авторизацией, а именно сайта на Битрикс
 
to JeyCi - вставлю свои пять копеек, я опять про R. На данный момент - это лучшая среда для парсинга сайта (через него парсю авито).
google пакеты rvest (легкий парсинг по css/xpath), rSelenium (тут и тут есть туториал). В rSelenium lля динамических сайтов используется браузер phantomjs, сайт прогружается в браузере, а потом его структура конвертируется в обычный html.

p.s: в этом году microsoft выкупила платформу разработки R,  теперь R это официальный мелкософтный язык программирования. устанавливается без запроса прав администратора тыц. R интегрирован в oracle и sql server.
Неактивны вычисляеме меры OLAP-куба
 
эту надстройку пробовали?
позволяет самому задавать вычисляемое поле, но только на уровне выводимых в сводную таблицу данных.
Если нужно создать новую вычисляемую меру, которая будет агрегироваться на всех узлах куба - тогда нужно запускать выполнение mdx запроса
Код
"With MEMBER [Measures].[my_calc] as iif([Measures].[ACT REST]>0,[Measures].[ACT REST]+1,null) " & _
                              "SELECT Non Empty (...) ON COLUMNS, " & _
                              "NON EMPTY (...) ON ROWS " & _
                              "From ...
                              "WHERE (..., " & _
                              "[Measures].[my_calc] ) " & _
                              "CELL Properties Value, FORMAT_STRING, LANGUAGE, BACK_COLOR, FORE_COLOR,FONT_FLAGS"
Задание выбор периода дисконтирования в модели DCF, Оптимизация модели DCF
 
удалось выложить файл с телефона
Задание выбор периода дисконтирования в модели DCF, Оптимизация модели DCF
 
вашу задачу можно решить используя таблицы подстановки.
но реализовать функцию на vba не получится (в пользовательских функциях нельзя задавать значение ячейке ((()
в который раз не могу вставить файл в сообщение (chrom). киньте в личку почту - вышлю файл.
вместо этого лист с расчетом можно скрыть, на пользовательском листе сделать выпадающий список с периодами, по которым будет подтягиваться расчитанное значение.
Изменено: egonomist - 24 Май 2016 11:30:18
Трехмерный график
 
можно использовать другие программы для построения 3d графиков (не могу прикрепить файл, могу кинуть на мейл пример)
Изменено: egonomist - 6 Май 2016 14:39:49
Дизассемблирование макроса, узнать логику кода
 
первый гуглинг по этому вопросу дал эту ссыль - может подойдет.
Получить адрес на файл убрав ThisWorkbook.Path
 
Код
x=Application.GetOpenFilename
y=ThisWorkbook.Path
ссылка=right(x, len(x)-len(y))
VBA изменение группы выделенных листов
 
Wow! То что нужно, Пытливый,огромное спасибо!
Код
Range("AH4").Select
    ActiveCell.FormulaR1C1 = "=SUMIFS(R[-1]C19:R[-1]C30,R2C[-15]:R2C[-4],"">=""&DATE(YEAR(NOW()),1,1)&"""",R2C[-15]:R2C[-4],""<""&NOW()&"""")"
заработало, видимо надо было сначала макрорекодер запустить )
Всем спасибо. вопрос закрыт.
VBA изменение группы выделенных листов
 
Игорь, спасибо за ответ.
Перебором не хотелось - из-за потери времени (очень долгая выгрузка исходных данных из источников).
Кроме формул присутствует еще и форматирование. но видимо нет другого пути.
Вопрос возник так как вручную формула проставляется на группе листов, макросом нет - чую делаю что-то не так.
VBA изменение группы выделенных листов
 
Уважаемые коллеги, добрый день.
Не могу найти решение следующего вопроса - нужны знания гуру теории excel:
Макросом генерирую выгрузки одинаковых по своей структуре листов, собираю в одну книгу,  далее мне нужно вставить два столбца с формулами. Столбцы добавляются на всех выделенных листах, но формула - только на активном. (При изменении формулы макросом выделение группы не слетает)    
Код
Sheets(2).Activate
For I = ActiveWorkbook.Sheets.Count To 2 Step -1 'выделил нужные листы
    Sheets(I).Select (False)
Next
Columns("AH:AI").Select : Selection.Insert Shift:=xlToRight 'вставил столбцы
Range("AH4").FormulaR1C1 = "=SUMIFS(R[-1]C19:R[-1]C30,R2C[-15]:R2C[-4],"">=""&DATE(YEAR(NOW()),1,1)&"""",R2C[-15]:R2C[-4],""<""&NOW()&"""")" 'вставил формулу

как вариант  - перебор листов, но хотелось бы избежать этого.
Код
Sub AllWorkSheets()
Dim Arr() As String 
Dim I As Long 
ReDim Arr(Worksheets.Count) :Arr(0) = Worksheets.Count
For I = 1 To Worksheets.Count : Arr(I) = Worksheets(I).Name :Next I
For I = 1 To Arr(0) : Sheets(Arr(I)).Select  : Application.Run "personal.xls!MarkCells" :Next I 
End Sub
Подскажите пожалуйста, как можно вставить формулу макросом на группу выделенных листов без перебора (возможно ли это)
Срезы данных и функции КУБ()
 
Вряд ли смогу дать ответ, но хотя бы укажу направление -
функции куба работают с MS OLAP кубами, тут справка по кубмнож.
Альтернатива кубмнож - сводная таблица с фильтрами или макросом из сводной тянуть нужные данные.
Судя по вашей строке подключения - у вас подключение к таблице SQL Server, которая, возможно, используется каким-нибудь кубом.
имхо с sql server лучше работать из access без excel заморочек.
Можете копать в сторону использования ADO (на этом и на других форумах можете найти класс от Nerv для работы excel с базами данных).

Успехов.
Срезы данных и функции КУБ()
 
Добрый день.
Решение Вашего вопроса потребует использование макросов. Т.к. excel не поддерживает использование переменных в строке подключения к базе (версии до excel2010 точно, остальные не видел).
Предполагаемый вариант решения:
1) Создать дополнительный лист с таблицей подключенной к базе (назовем его temp)
2) на отдельном листе получать необходимые данные для формирования нового среза (" с помощью КУБМНОЖ, КУБЭЛЕМЕНТ...")
3) запускать макрос, который формирует для временной таблицы новую строку подключения с новым запросом.
Скрытый текст
сохранение *xls в *csv =строка на выходе в кавычках, можно ли обойти?, если в исходной строке есть запятая, то вся строка заключается в двойные кавычки. Как-то это можно обойти?
 
Добрый день. Наверное многое зависит от машины и ПО, у меня Ваш вариант и код Johny выдают результаты без кавычек.
попробуйте следующий вариант, может поможет:
Код
Dim r
Dim record As String
Open "C:\Users\SP\Desktop\1.csv" For Output As #1 
    For r = 13 To 23 
        record = "" & Range("B" & r & "") & ";" & Range("C" & r & "") & "" 
        Print #1, record
    Next
 Close #1
Библиотека 1CV82 COMConnector Tipe Library
 
Из собственного опыта - наличие доступа к надстройке не дает большого преимущества. Нужно еще знать как к нему подключиться и как выполнить запрос (эту информацию наудивление трудно найти). Создав соединение с базой нужно знать 1с язык запросов, чтоб вытянуть запрос + сделать обработку вывода в таблицу.
стандартные отчеты и так хорошо выгружаются, для создания специфических запросов лучше использовать конструктор запросов 1с.
во вложении модуль для базы access для подключения к 1с через коннектор (долго искал по сети как это сделать) (переименуйте расширение из xls в bas). Успехов.
Сбор информации при обновлении на сайте
 
Один раз можно. Сам занимался анализом переоценнености/недооцененности машин на avito и подобных сайтах. НО каждый месяц меняется структура сайта , т.е каждый месяц нужно будет заново переделывать весь веб запрос или код парсера. Делается это как раз с целью предотвратить подобный парсинг.  
Отображение желаемых значений на точечной диаграмме excel версии 2007
 
привет, в 2007 можно делать так - выделить ряд - правая кнопка - показывать подписи данных; выделяете подпись данных у одной точки, удаляете весь текст; щелкнуть в любом месте экрана. затем, ctr+z - опять возвращается фокус к надписи (уже пустой) - тыкаем в строку формул =адрес ячейки и нажать энтер. Готово. Теперь подпись данных будет нацелена на нужную ячейку.
Операция только в первый раз муторная. Сам для облигашек так же мучался. После оферты ил при новом выпуске, нужно будет лишь добавить формулку к новой точке.
Изменено: egonomist - 11 Апр 2014 22:34:08
Excel 2013 + JavaScript = ?
 
JS+Excel - очень мощная штука получается, до сих пор продолжаю изучать сайт http://ramblings.mcpher.com/.
Куча статей как из экселя можно создавать колбеки, создавать графики используя d3.js, документировать код, получать данные от веб приложений,
а так же парсить сайты, связка с google documents, использовать no-sql бд. И все это благодаря связке vba+javaScript.
XML-файл не импортируется в Excel
 
Добрый день, во вложенном файле есть 2 ошибки:
1) первая строка должна содержать информацию о версии xml и о кодировке. так как у вас все по русски, то
первая строка должна быть

Код
<?xml version="1.0" encoding="windows-1251" ?>


2) теги категорий должны быть объединены в группу, иначе все что после 1 категории считается экстра информацией (может быть разные id могут помочь )
чтоб не мучиться с id, проще создать группу "list" и включить в нее все категории, для этого: вторая строка в файле будет :
Код
 <list>
далее содержимое вашего файла, последняя строка
Код
</list>

полученный файл легко импортируется в excel.
Изменено: egonomist - 14 Мар 2014 12:20:54
вопрос по импорту данных с сайта ЦБ в Excel,
 
to Satan - возьмите код с сайтаИгоря.
в книге excel нажмите Alt+F11, в панели инструментов Insert-Module, вставьте текст макроса, сохраните, после этого в книге можете использовать функцию =GetRate("USD";"01.01.2014").

p.s:совет- учите макросы. я сам в прошлом экономист, сейчас аналитик отдела управления активами и пассивами в банке.
вопрос по импорту данных с сайта ЦБ в Excel,
 
а такой вариант, от многоуважаемого EducatedFool вас не устраивает?
вопрос по импорту данных с сайта ЦБ в Excel,
 
Не получилось прикрепить файл, попытка #2
вопрос по импорту данных с сайта ЦБ в Excel,
 
На старой планете несколько раз выкладывал это файл.
До сих пор получение курса через xml - работает.
Основная засада, что на новом сайте цб - не все корректно работает. Не работает календарь на страницы экспорта срочной структуры процентных ставок.
получить значения G-Curve с сайта -невозможно.
Пришлось писать SOAP запрос.
Разборка параметров url
 
Код
Public Sub x()
Dim value(), param(),  SplitURL
Dim s as string, a as string
Dim i As Integer
a = "http://www.softodrom.ru/%D0%9F%D0%BE%D0%B8%D1%81%D0%BA/?text=portable&where=soft" _
& "&results=50&soft_index=descr&news_index=descr&games_index=descr&blogs_index=description&page=1"
s = Right(a, Len(a) - InStrRev(a, "?")  'строка после  "?"
SplitURL = Split(s, "&")   'сплит
'задаем размер массивов = кол-во элементов в сплите
ReDim param(UBound(SplitURL))
ReDim value(UBound(SplitURL))
'в цикле пробегаем каждую пару, делая дополнительный сплит
For i = 0 To UBound(SplitURL)
    param(i) = Split(SplitURL(i), "=")(0)
    value(i) = Split(SplitURL(i), "=" )(1)
Next i
Debug.Print param(5) & " = " & value(5) 'далее хоть куда, обращаясь по индексу массива.
End Sub
Изменено: egonomist - 26 Фев 2014 11:58:14
А что у вас?, Чем болен ваш город?
 
у нас пропадают магазины канцтоваров. Теперь степлер - днем с огнем не сыскать. Только в книжных магазинах и в магазинах для художников остались .
Документация listview
 
Имхо ALEX_ST - гуру  по Treeview/Listview. Just google "ALEX_ST listview". тут обсуждение, о котором говорил Михаил С.
библиотека cDataSet json, не могу распарсить json
 
Добрый день, в разборе любой структуры будь то xml или json можно оперировать объектами child, children, parent. гуглите DOM структура документа.
Для каждого подмассива нужно выбрать все его дочерние элементы (children) и уже циклом получать их значения.
например, для получения show_uniq для даты "24-01-2014" из stats надо написать следующее
my_j.children("stats").children(1).children(1).value, или my_j.children(7).children(1).children(1).value
т.е можно обратиться по имени или по индексу.
Для каждого отдельного json писать отдельный макрос - дело муторное. Поэтому написал макрос выгрузки на лист excel распарсеного json.
поддерживается до двух вложенных массивов (Parent -> child(1) -> children of child(1))

во вложении архив с экспортированным модулем. Разархивировать файл. в редакторе Visual Basic - File - Import - указать файл.
Самый наглядный способ отображения большого количества параметров
 
почему то не в той теме ответ вышел. мой ответ относится к ветке проблем с webbrowser.
Изменено: egonomist - 24 Янв 2014 07:58:14
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 14 След.
Наверх