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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 92 След.
PowerQuery не сохраняет типы данных после Table.ExpandTableColumn?
 
Делал-делал я один запрос, но в итоге вдруг у меня стали вываливаться ошибки. Сначала не понял, почему, но потом разобрался - PowerQuery после группировки (например, суммирование) не сохраняет типы данных, которые я присвоил столбцам в предыдущих шагах.
Например, есть такая табличка:


Запрос PowerQuery:
Код
let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    ChangedType = Table.TransformColumnTypes(Source,{{"ID", Int64.Type}, {"Date1", type date}, {"Sum", Int64.Type}}),
    GroupedRows = Table.Group(ChangedType, {"ID"}, {{"SUM_GROUP", each List.Sum([Sum]), type number}, {"ALL_ROWS", each _, type table}}),
    ExpandedALLROWS = Table.ExpandTableColumn(GroupedRows, "ALL_ROWS", {"ID", "Date1", "Sum"}, {"ALL_ROWS.ID", "ALL_ROWS.Sum", "ALL_ROWS.Date1"})
in
    ExpandedALLROWS

На шаге ChangedType всё ОК:




Но на шаге ExpandedALLROWS типы данных слетают:



Это никак не лечится? Или придётся в конце заново изменять типы? Или лучше сначала вообще не изменять типы, а изменть их только в конце?
Изменено: SuperCat - 26 Июл 2019 22:48:07
There is no knowledge that is not power
В Power Query определить номер строки у каждой группы значений
 
Aleksei_Zhigulin, Огромное спасибо! Работает!  
Изменено: SuperCat - 18 Май 2019 13:36:57
There is no knowledge that is not power
В Power Query определить номер строки у каждой группы значений
 
Привет всем! :)
В SQL существуют так называемые оконные функции (window functions), одна из которых - ROW_NUMBER. Эта функция позволяет вывести номер строки для каждой группы значений. Чтобы было понятно, вот пример, что нужно получить:

Как видно из таблицы, для каждой группы ID определяется своя нумерация строк (ROW_NUMBER). Возможно ли такое сделать с помощью Power Query?
There is no knowledge that is not power
На что перейти с Excel ?, Финансово-политический вопрос. И досужие домыслы, обусловленные поверхстным взглядом на ситуацию.
 
Цитата
Neufazendnik написал:
Использование этой системы в коммерческих целях начато в 2006м году.
Цитата
Neufazendnik написал:
Концепция - план\подход к изложению принципов работы пока мне самому не понятен.
Это всё, что нужно знать о Логпрог.
There is no knowledge that is not power
Применение макроса ко всем файлам в папке., Написал (спер и дописал) код VBA который помогает изменять формат файлв с xls на xlsx в выбранной папке.
 
Nordheim, If .Show = -1 Then... можно сократить просто до If .Show Then.... И вообще, честно говоря, не понял, о чём этот пост. А точнее, какие тут премудрости - я не понял.
There is no knowledge that is not power
Восстановление связи с Ribbon
 
toxamstr, А что - мой способ не работает?
There is no knowledge that is not power
Ищу мануал по MSXML2.XMLHTTP и подобным запросам в интернет.
 
XMLHTTP - это всего лишь библиотека для отправки запросов и получения ответов. Чтобы правильно составить запрос, можно воспользоваться Developer Tools (Ctrl+Shift+I), который встроен в Google Chrome, FireFox, Opera (даже в Edge есть). А дальше - нажимать кнопки и смотреть, какие запросы отправляются. Если это POST, то смотреть тело запроса (в XMLHTTP - это request.send(body)). В помощь Mozilla Developer Network docs. Также можно отслеживать запросы в Fiddler.
Изменено: SuperCat - 9 Авг 2018 18:48:45
There is no knowledge that is not power
Microsoft без предупреждения начала "убивать" Windows 7
 
Компания Microsoft без предупреждения прекратила поддержку операционной системы Windows 7 на старых компьютерах, процессоры которых не поддерживают инструкции SSE2. Последние появились в процессорах Intel Pentium 4.
Таким образом, компьютеры на базе процессоров предыдущих поколений не будут получать обновления операционной системы, несмотря на то, что Microsoft официально продлила поддержку Windows 7 до середины января 2020 года, пишет РГ со ссылкой на ComputerWorld.
Помимо этого, стало известно, что с июля сотрудники Microsoft не будут консультировать пользователей форума техподдержки по вопросам, связанным с программными продуктами Windows 7, 8. и 8.1 RT, Microsoft Security Essentials, Internet Explorer 10, Office 2010 и 2013, планшетами Surface Pro, Surface Pro 2, Surface RT и Surface 2, фитнес-браслетом Microsoft Band и сервисом Zune.

Взято отсюда
There is no knowledge that is not power
Office 2019
 
Максим Зеленский, По поводу "новых" возможностей Excel 2013 (прошёлся по ссылке):
1) Быстрое начало работы. И что тут нового?
2) Мгновенный анализ данных. УФ? Действительно, "новый" инструмент.
3) Мгновенное заполнение столбца данных. Ctrl+Enter на выделенном диапазоне творит такие же чудеса.
4) Создание подходящей диаграммы. Это даже комментировать не стоит.
5) Использование срезов для фильтрации данных. Не новый, а расширенный функционал.
6) Отдельные окна для книг. Для макросов тот ещё головняк.
There is no knowledge that is not power
Office 2019
 
Максим Зеленский, Power Pivot равно как и Power Query есть в 2010 Офисе. Не вижу веской причины переходить на 2016 или 2019. Единственное, что сделали в 2016 - это "внедрили" Power Query и Power Pivot в сам Excel, то есть теперь это уж не надстройка. Короче говоря, не получая никакого нового функционала, я бонусом получаю изменения не в лучшую сторону.
There is no knowledge that is not power
Office 2019
 
dolbodub, А я очень ждал 2010, можно сказать, из-за одной фишки - специальная вставка стала быстро доступной. Например, чтобы в 2007 и ранее вставить что-либо как значение, нужно было нажать ПКМ, потом выбрать "Специальная вставка", потом переставить переключатель в "Значение" и нажать "ОК" (или два раза нажать мышкой по этому переключателю "Значение"). В 2010 же мне нужно нажать ПКМ и нажать на "123" - и значения вставились. Дополнительной фишкой вставки в данном контекстном меню является то, что можно предварительно посмотреть, как вставляемое будет выглядеть на листе - для этого нужно навести мышку на нужную кнопку, не нажимая на неё. Убрав мышку с кнопки, всё вернётся "как было". :)
И ещё вспомнил - идиотская навигация по листам. Я так к ней и не привык за то короткое время, что пользовался 2016/2013 офисом.
Изменено: SuperCat - 9 Июн 2018 22:29:29
There is no knowledge that is not power
Office 2019
 
Максим Зеленский, Стоит Office 2010 - и большего не надо. Самый нормальный Офис. Плюсом идёт, что он есть 64-битный. Начиная с 2013 и далее - полный шлак. SDI-интерфейс вместо MDI. Тормоз полный - чего стоит идиотская никому ненужная анимация обновления ячеек. Бесцветные и большие иконки (в QAT). У меня 15,6" ноутбук. Все нужные кнопки - в QAT. Лентой почти не пользуюсь (скрыта всё время). Когда поставил 2016 - не хватило экрана для QAT. Интерфейс занимает больше места. Убрали "Сохранить рабочую область" - очень удобная штука. Реально новых инструментов нет. Например, в 2010 добавили срезы и спарклайны - удобные фишки. Одно время срезы мне очень помогли. В Ворде, например, убрали маленькую кнопку отображения/скрытия линейки (наверху правой полосы прокрутки). Теперь чтобы её отобразить или скрыть линейку, нужно идти на вкладку и ставить "птичку". Это так - навскиду.
Изменено: SuperCat - 9 Июн 2018 20:20:59
There is no knowledge that is not power
Программа для редактирования Ribbon - RibbonXMLEditor
 
@dolbodub Спасибо!
There is no knowledge that is not power
Восстановление поврежденного файла (макрос)
 
@Maks041982 Теоретически сделать можно. Сначала с помощью Shell.Application распаковать файл, потому с помощью XML библиотеки (Microsoft XML, v6.0) сделать изменения в XML. XML, в свою очередь, использует пространство имён (namespace), поэтому это надо учесть при сканировании элементов.
There is no knowledge that is not power
Office 2019
 
New features coming:
- Inking feature (Использование пера)
- Improved data analysis capabilities (Улучшенные возможности анализа данных)
- Expanded PowerPoint animation features (Расширенные возможности анимации в PowerPoint)
- Better security (Улучшенная безопасность)

Самое главное - Office 2019 будет работать только в Windows 10.
There is no knowledge that is not power
Создание элементов управления в VBA с помощью WinAPI
 
Приветствую! :)
Возникла необходимость создавать динамически элементы управления через WinAPI. Стал разбираться в этой теме. Удалось создать ListBox и добавить в него некоторые строки. Проблема в том, что созданный ListBox никак ни на что не реагирует: полосы прокрутки не работают, выделение не работает. Как будто он в режиме Disabled или Locked. Есть у кого-либо какие идеи, как заставить ListBox отвечать на действия? :)

Что имеем:
1. WinAPI функции:
Код
Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" ( _
    ByVal lpClassName As String, _
    ByVal lpWindowName As String) As Long

Declare Function CreateWindow Lib "user32.dll" Alias "CreateWindowExA" ( _
     ByVal dwExStyle As WindowStylesEx, _
     ByVal lpClassName As String, _
     ByVal lpWindowName As String, _
     ByVal dwStyle As Long, _
     ByVal x As Long, _
     ByVal y As Long, _
     ByVal nWidth As Long, _
     ByVal nHeight As Long, _
     ByVal hWndParent As Long, _
     ByVal hMenu As Long, _
     ByVal hInstance As Long, _
     ByVal lpParam As Long) As Long

Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" ( _
    ByVal hwnd As Long, _
    ByVal wMsg As Long, _
    ByVal wParam As Long, _
    ByVal lParam As Any) As Long
2. В UserForm'e создаём ListBox и добавляем значения:
Код
hlist = CreateWindow( _
    dwExStyle:=WS_EX_CLIENTEDGE, _
    lpClassName:="LISTBOX", _
    lpWindowName:="MYLISTBOX", _
    dwStyle:=WS_CHILD Or WS_VISIBLE Or LBS_NOTIFY Or WS_VSCROLL Or WS_BORDER Or LBS_HASSTRINGS, _
    x:=10, _
    y:=10, _
    nWidth:=100, _
    nHeight:=100, _
    hWndParent:=FindWindow("ThunderDFrame", Me.Caption), _
    hMenu:=0, _
    hInstance:=Application.hInstance, _
    lpParam:=0 _
)
' Добавляем значения
For x = 1 To 10
    Call SendMessage(hlist, LB_ADDSTRING, 0, CStr(x))
Next

Скриншот:
Изменено: SuperCat - 8 Фев 2018 12:55:23
There is no knowledge that is not power
Переменные VBA
 
Цитата
Alemox написал:
Сейчас программисты в более крупных и запутанных программах, объявляют все переменные с типом Variant
Потому и запутанные, так как всё - Variant.
А вообще - лучше объявить переменную, а ещё лучше - ещё и тип указать. Поверьте, столько было ошибок из-за того, что использовали Variant, а не конкретный тип.
There is no knowledge that is not power
PowerPivot, PowerQuery, PowerBI
 
Pro Power BI Desktop, 2-nd Edition
There is no knowledge that is not power
Благодарность Николаю Павлову, Реальное "спасибо" автору
 
Николай Павлов, перелогиньтесь!
There is no knowledge that is not power
О вредном GoTo
 
Цитата
Владимир написал:
Здесь нельзя использовать EXIT FOR, и т.к. более ничего не придумал, использую GOTO.
Не?
Код
For y = 1 To Sheets.count
    Set arrF = Sheets(y).UsedRange.SpecialCells(-4123) 'определяем наличие ссылок (формул)
    kol = kol + arrF.SpecialCells(-4144).count 'определяем наличие комментов
    For Each x In arrF.SpecialCells(-4144)
        If kol = i Then Exit For
        i = i + 1
        pathF = Replace(Replace(Split(arrF.Formula(1, 1), "]")(0), "[", ""), "='", "")
        Adr(i, 1) = Split(x.Comment.Text, ":")(0)
        Adr(i, 2) = Trim(Replace((Split(x.Comment.Text, ":")(1)), Chr(10), ""))
        Adr(i, 3) = Split(pathF, "\")(UBound(Split(pathF, "\")))
        Adr(i, 4) = Split(Split(arrF.Formula(1, 1), "]")(1), "'")(0)
    Next
Next
There is no knowledge that is not power
О вредном GoTo
 
Ibragim,
Изменено: SuperCat - 10 Дек 2017 22:30:32
There is no knowledge that is not power
О вредном GoTo
 
Виктор, схитрил ты, однако! Тройной цикл БЕЗ While и Do...Loop! :) Вот такую жесть я приблизительно видел)
Но, конечно, не будем спорить, нужен он или нет.
Раз он есть - значит, есть ему применение (просто в VBA на нём построен отлов ошибок), но оно должно быть разумным и оправданным.
There is no knowledge that is not power
SQL Operations Studio - кросс-платформенная SSMS
 
SQL Operations Studio
There is no knowledge that is not power
О вредном GoTo
 
Я не сторонник GoTo. Если говорить про ассемблер, то это вообще сплошной GoTo. Вот, например, простейший цикл, который  к переменной x прибавляет по единичке до 20. Как видно, в ассемблере переходы завязаны именно на метках:
Код
       mov eax, 10
       mov ecx, 20
loop1: inc eax
       cmp eax, ecx
       jle loop1
       dec eax
Как видно, инструкци jle (jump if less or equal) и выполняет тот самый безусловный переход. На VBA это выглядит более читабельно:
Код
Dim x As Integer
Const y As Integer = 20
x = 10
While x <= y
    x = x + 1
Wend
Да, теперь наш код читабелен и удобоварим. Согласен с котярой, что использование GoTo - дело, конечно, личное. Но вопрос в другом - почему этот оператор до сих пор существует? В исходных кодах библиотек платформы .NET Framework - 1583 строчки, где используется GoTo (см. файл)!!! Однажды я видел код.... Этот оператор использовался везде - и даже циклы были написаны в стиле а-ля ассемблер:
Код
Dim x As Integer

LOOP1:
x = x + 1
If x < 10 Then GoTo LOOP1
Ну и в таком духе. Интересно, а как бы vikktur или Alemox написали цикл тройной вложенности через GoTo?
Код
Dim x, y, z
While x < 10
    x = x + 1
    While y <= x * 2
        y = y + 10
        While z <= y * 2
        Wend
    Wend
Wend
Изменено: SuperCat - 26 Ноя 2017 22:29:10 (Добавлен файл)
There is no knowledge that is not power
Excel не открывает HTTPS страницы, Excel не открывает HTTPS страницы
 
Smitr, А можно поконкретнее - что за сайт, что за запрос?
There is no knowledge that is not power
Условное реагирование на изменение ячейки
 
А Exit Sub везде для чего? У Вас же после Select'а ничего нет, поэтому смысла в Exit Sub нет.
There is no knowledge that is not power
PID запущенного процесса, Как узнать PID запущенного процесса?
 
Цитата
Тигран Эренбург написал:
Иногда так случается, что документ word "проваливается" в память. Пользователь его не видит на панели задач
Наверное, он "ушёл" в Background Procecesses. Поищите там.
There is no knowledge that is not power
Сложить текстовые ячейки, если повторяется значение в столбце
 
А почему в D2 и D3 разные названия товаров для одной и той же фирмы ABAC?
There is no knowledge that is not power
Обойти ограничение Excel на количество символов в ячейке
 
Может, использовать Фигуры?
There is no knowledge that is not power
Отправка POST-запроса через VBA
 
zanoza1989 и Farafonov,  - это один и тот же человек?
Быть может, лучше сделать запрос в C#? Там есть замечательная библиотека JSON.NET для работы с JSON.
There is no knowledge that is not power
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 92 След.
Наверх