Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Как сделать отправку в Telegram из макроса VBA Excel, Telegram из макроса VBA Excel
 
 У нас наверное разный  гугл
https://learn.microsoft.com/en-us/office/vba/language/reference/user-interface-help/license-informat...
Скорее всего у Вас нет этого компонента Set oHttp = CreateObject("Msxml2.XMLHTTP")
"Правильно заданный вопрос,половина ответа!"
Как сделать отправку в Telegram из макроса VBA Excel, Telegram из макроса VBA Excel
 
Цитата
написал:
Цитата
написал:
Добрый день, я решил эту проблему отсылая фото как документ.
Точно! Дмитрий, точно! Огромное спасибо!

Осталось разобраться, как отсылать файлы с русскими названиями. Ибо в противном случае на Телеграм приходит, что-то несуразное.
Ни как
Как вариант пробуйте переименовывать через транслит
типа
eto imya fayla.xlsx
"Правильно заданный вопрос,половина ответа!"
Как сделать отправку в Telegram из макроса VBA Excel, Telegram из макроса VBA Excel
 
Отправить символ перевода строки не получилось, я пробовал передавать CRLF в URL-Encoded запросе в виде %0D%
Цитата
xseed написал:
Отправить символ перевода строки не получилось, я пробовал передавать CRLF в URL-Encoded запросе в виде %0D%0A, но символ не передается в сообщении.
Попробуйте %0A
"Правильно заданный вопрос,половина ответа!"
Power Query: как в Value.Metadata передать название источника текстовой переменной
 
Power BI Не использую , пока !!!!!

Задача следущая:
есть две таблици ,
Продукция_TimberLogПорода_TimberLog
Продукция
Порода
Фансировинадуб
Пиловникясен
Балансиклен
Техсировина липа
Техсировина для   ВТПграб
вільха
из столбцов Продукция_TimberLog[Продукция] и  Порода_TimberLog[Порода]
необходимо  декартово произведение
как здесь
https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=1&TID=89478&am...

Для описания создана таблица Настройка_TimberLog
где в шаге будет описываться параметры декартового произведения
Настройка_TimberLog
NameNameTableLNameColumnLNameTableRNameColumnR
TimberLogПродукция_TimberLogПродукцияПорода_TimberLogПорода
EODПродукціяНайменуванняПородаПорода_Lower
также обьеденим значения полученых столбцов и получим что то типа такое
NameColumnLNameColumnRПродукция_Порода
ФансировинадубФансировина   дуб
ФансировинаясенФансировина ясен
ФансировинакленФансировина   клен
ФансировиналипаФансировина липа
ФансировинаграбФансировина   граб
ФансировинавільхаФансировина вільха
ПиловникдубПиловник   дуб
ПиловникясенПиловник ясен
ПиловниккленПиловник   клен
используя этот способ
http://excelvba.ru/code/checkboxes

  • без использования Checkbox - галочки (отметки) ставятся макросом
    (с использованием шрифта Marlett) отобрать только нужные значения
и эту статью

http://exceleratorbi.com.au/self-referencing-tables-power-query/

получаем
Декартово произведение TimberLog_Выбор и Выбор в ячейке
NameColumnLNameColumnRПродукция_ПородаВыбор
ФансировинадубФансировина дуб
ФансировинаясенФансировина ясенa
ФансировинакленФансировина   кленa
ФансировиналипаФансировина липаa
ФансировинаграбФансировина   грабa
ФансировинавільхаФансировина вільхаa
ПиловникдубПиловник дубa
ПиловникясенПиловник ясенa
получить через запрос список постановки для столбца таблицы
Продукция_Порода
Фансировина ясен
Фансировина клен
Фансировина липа
Фансировина граб
Фансировина вільха
Пиловник дуб
Пиловник ясен
Пиловник клен
Изменено: volond75 - 07.05.2018 19:35:24
"Правильно заданный вопрос,половина ответа!"
Power Query: как в Value.Metadata передать название источника текстовой переменной
 
Цитата
Максим Зеленский написал:
// SelectQuery(name as text)=> let    Source = Expression.Evaluate(name, #shared)in    Source
Помогло !!!!!!
"Правильно заданный вопрос,половина ответа!"
Power Query: как в Value.Metadata передать название источника текстовой переменной
 
Цитата
Максим Зеленский написал:
в функции Выбор у вас какие-то преобразования
Я тут еще раз повторил
Код
/*Выбор   
Получаем ссылку на умную таблицу Ехсel и приводим тип столбцов по первой строке
Используются функции
Excel_CurrentWorkbookName
Table_TableColumnTypesToFirstRowsTypes
*/
   (tablename as text)=>
let
   // tablename="Продукция_Порода_TimberLog_Выбор",
    fnName="Excel.CurrentWorkbookName",
    fn= Load(fnName),
//---------------------------------------------
table=Function.Invoke(fn,{tablename}),
 NewColumnName=Value.Metadata(table)[NewColumnName],
ТипПоПервойСтроке =Table_TableColumnTypesToFirstRowsTypes(table),
resultat=ТипПоПервойСтроке meta [NewColumnName=NewColumnName]
in
   resultat
Изменено: volond75 - 07.05.2018 15:47:04
"Правильно заданный вопрос,половина ответа!"
Power Query: как в Value.Metadata передать название источника текстовой переменной
 
Есть таблицы созданые запросом  EOD_Выбор и TimberLog_Выбор
Код
let
    tablename="Настройка_TimberLog",
    Steep="TimberLog",
    ВыборПараметр= Steep & "_Выбор",


    Объединение = fnBeautiful_Join(tablename,Steep),
    NewColumnName = Value.Metadata(Объединение)[NewColumnName],
  ОбъединениеВыбор = Table.NestedJoin(Объединение,{"Продукция_Порода"},Выбор(ВыборПараметр),{NewColumnName},"Выбор.1",JoinKind.LeftOuter),
   РазвернутьТолькоВыбор= Table.ExpandTableColumn(ОбъединениеВыбор, "Выбор.1", {"Выбор"}, {"Выбор"}),
   resultat=РазвернутьТолькоВыбор meta [NewColumnName=NewColumnName]
in
 //Объединение
resultat
Как правильно получить NewColumnName передавши Steep & "_Выбор"

let
Steep="EOD",
//Steep="TimberLog",
   z=EOD_Выбор,
   Источник = Выбор(Steep & "_Выбор"),//=EOD_Выбор=z
   #"Строки с примененным фильтром" = Table.SelectRows(Источник, each ([Выбор] = "a")),
   z=EOD_Выбор,
//Работает
NewColumnName=Value.Metadata(EOD_Выбор)[NewColumnName],
NewColumnName=Value.Metadata(z)[NewColumnName],
// НЕ Работает
NewColumnName=Value.Metadata(Steep & "_Выбор")[NewColumnName],
NewColumnName=Value.Metadata(Источник)[NewColumnName],

  // Источник
   #"Другие удаленные столбцы" = Table.SelectColumns(#"Строки с примененным фильтром",{NewColumnName})
in
   #"Другие удаленные столбцы"
"Правильно заданный вопрос,половина ответа!"
Помогите сформулировать запрос, который будет брать значение для переменного фильтра равные значением одной из таблиц в файле
 
Цитата
Андрей VG написал:
Доброе время суток volond75 ,  коллега, долго это. Лучше  так
Согласен , но хочу сделать так
Выпадающий список с накопительным результатом
http://www.doconomist.net/2016/07/google.html Где то видел реализацию в Excel
А потом применить мой способ получая список из 1 ячейки
Понимаю что ограничение на 1500 символов но мне достаточно
Изменено: volond75 - 02.05.2018 18:33:49
"Правильно заданный вопрос,половина ответа!"
Как вы смотрите на то ,что бы выделить вопросы по Power Query в отдельную ветку форума
 
Цитата
Максим Зеленский написал:
Function.Curry
https://github.com/acaprojects/m-tools/blob/master/M.pq Это? Буду разбираться  
"Правильно заданный вопрос,половина ответа!"
Как вы смотрите на то ,что бы выделить вопросы по Power Query в отдельную ветку форума
 
Цитата
Dyroff написал:
Если представить что есть некий тег

Только увидел
 ;)https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=read&FID=6&TID=101623&...
Но принципа не понял как присваевается тег
Изменено: volond75 - 27.04.2018 17:20:38
"Правильно заданный вопрос,половина ответа!"
Помогите сформулировать запрос, который будет брать значение для переменного фильтра равные значением одной из таблиц в файле
 
добавлю в копилку "Отфильтровать таблицу на основе другого столбца таблицы или списка"
https://eriksvensen.wordpress.com/2017/12/12/powerquery-filter-a-table-based-on-another-table-column...

= Table.SelectRows (Sales_Customers, каждый List.Contains (Query1, [CustomerCategoryID]))

List.Contains проверит, будет ли каждая строка в таблице иметь номер CustomerCategoryID, который существует в списке, и возвращает true, если это произойдет, и тогда ваша таблица будет содержать только строки, в которые возвращается True

Если вы хотите исключить значения, которые у вас есть в своем списке, вы можете изменить выражение на

= Table.SelectRows (Sales_Customers, каждый List.Contains (Query1, [CustomerCategoryID]) = false

Изменено: volond75 - 27.04.2018 17:07:43
"Правильно заданный вопрос,половина ответа!"
Как сделать в редакторе запросов переменный фильтр по нескольким значениям?
 
Цитата
falmrom написал:
{1:15}
https://msdn.microsoft.com/en-us/query-bi/m/list-numbers
List.Numbers(start as number, count as number, optional increment as nullable number) as { Number }  
List.Numbers(1,15)=>{1,2,....15}
"Правильно заданный вопрос,половина ответа!"
Как вы смотрите на то ,что бы выделить вопросы по Power Query в отдельную ветку форума
 
Цитата
Максим Зеленский написал:
Хотя наконец-то коннекторы/библиотеки сделали обновляемыми через шлюз - есть надежда, что вскоре их сделают "дистрибутируемыми".
А можно или ссылку или поподробней  а то что то не понятно о чем речь
"Правильно заданный вопрос,половина ответа!"
Как вы смотрите на то ,что бы выделить вопросы по Power Query в отдельную ветку форума
 
Цитата
Юрий М написал:
А как последние сообщения связаны с заявленной темой?
Извените если,что то нарушил. Просто сегодня тут в соседней ветке Максим помог тем же самым способом ,через (_) вот и получается что он потратил в три раза больше времени ,так как тема есть и (тут)
Изменено: volond75 - 27.04.2018 16:20:09
"Правильно заданный вопрос,половина ответа!"
Как вы смотрите на то ,что бы выделить вопросы по Power Query в отдельную ветку форума
 
Цитата
Максим Зеленский написал:
первые самописные макросы на VBA я тоже с дрожью вспоминаю - жуть же, и столько времени занимали.
# pquery

This is a collection of functions written in the M language for use in Microsoft Excel's [Power Query plugin](http://office.microsoft.com/en-us/excel/download-microsoft-power-query-for-excel-FX104018616.aspx).

## Introduction

Rather than manually adding the functions to different Excel workbooks, users can instead leave their files in any directory, and either batch import them into your workbook using Excel 2016 VBA (see my sample workbook [here](http://1drv.ms/1GmrhDl)), or by dynamically loading them into Power Query using something like the `Load()` function (see `Load.m`). To use Load() you'll need to add it to every applicable workbook though. You can hard-code in the path to the folder where you put the functions from this repository, or set it in the specified cell in the above-mentioned sample workbook for use in that.

To manually add the Load query, click 'From Other Sources' in the Power Query ribbon tab, select 'Blank Query' (bottom option), open the Advanced Editor in the View tab, and paste in the below snippet (after adjusting file path). Click Done, name the query 'Load', and click 'Apply & Close' in the Home tab.

If you have your M queries in files, you may well prefer to edit them from a text editor like Notepad++. With Matt Mason's [language file](http://www.mattmasson.com/2014/11/notepad-language-file-for-the-power-query-formula-language-m/) for this you will get nice color coding too!

The main point here is that by separating universally useful functions from an individual workbook, you will feel encouraged to use more modular code, solving each common sub-problem only once, rather than remaining stuck in 'vanilla' M and resolving the same problems repeatedly.

Moreover, coding this way will also further facilitate sharing code with other Power Query users, allowing for a more collaborative environment.

Admittedly, Microsoft languages have rarely been known for encouraging open-source collaboration, and the Power Query community is currently small. But will that mean we cannot assemble a powerful code library like those of the JavaScript community?

## Usage

### to use M code in workbooks without having to import every query/function:

* [get](https://github.com/tycho01/pquery/archive/master.zip) and unzip this repo, or in case you'd like to contribute back, open a command prompt in your desired location (in Windows Explorer type `cmd` in the address bar) and run command `git clone https://github.com/tycho01/pquery.git`.
* copy [`LoadPath.example.m`](https://github.com/tycho01/pquery/blob/master/LoadPath.example.m) as `LoadPath.m` and replace its entire content with the path where you put the query files; e.g. `"D:\pquery\"`.
* manually import the `Load.m` and `LoadPath.m` functions into your workbook, keeping their names as `Load` and `LoadPath`.
* now use the Load function to load queries from the folder you specified. i.e. if you write `Text_Between = Load("Text.Between"),`, it's going to give you the function located at `YOUR_PATH\Text.Between.m`.

### to allow sharing your workbook:

* use [my Power Query workbook](http://1drv.ms/1GmrhDl) (requires Excel 2016) to batch import the desired queries into your workbook. Chris Webb also posted the used [VBA code](http://1drv.ms/1KUxm9g), and did an introductory [blog post](https://blog.crossjoin.co.uk/2015/06/10/power-queryexcel-2016-vba-examples/) about it.
"Правильно заданный вопрос,половина ответа!"
Как вы смотрите на то ,что бы выделить вопросы по Power Query в отдельную ветку форума
 
Цитата
Максим Зеленский написал:
Эти функции могут динамически меняться?
Как часть более глобального кода , причешу поделюсь
"Правильно заданный вопрос,половина ответа!"
Как вы смотрите на то ,что бы выделить вопросы по Power Query в отдельную ветку форума
 
Цитата
Максим Зеленский написал:
Я уже забыл, когда кодил на VBA в боевом применении
А я убил два дня на то как решить задачу  Создание дополнительного столбца с Применением функции
где
Код
Text="Результат,Порода,JOINandExpandTableColumn",
Param=Text.Split(Text,","),
table as table,Param{1}-имя столбца к которому применяется функция
Результат:
Вариант 1
Код
ColumnNames=Table.ColumnNames(table),
ColumnIndex=List.PositionOf(ColumnNames,Param{1}),
tablefn = Table.AddColumn(table, Param{1} & "_Lower", each Text.Lower(Record.FieldValues(_){ColumnIndex})),

Вариант 2
Код
tablefn = Table.AddColumn(table, Param{1} & "_Lower", each Text.Lower(Record.Field(_,Param{1}))),
 в планах еще и функцию передать текстом
Код
fn=Expression.Evaluate("Text.Lower",#shared)
tablefn = Table.AddColumn(table, Param{1} & "_Lower", each Function.Invoke(fn,{Record.Field(_,Param{1})})),
Изменено: volond75 - 27.04.2018 17:30:22
"Правильно заданный вопрос,половина ответа!"
Как вы смотрите на то ,что бы выделить вопросы по Power Query в отдельную ветку форума
 
Цитата
Dyroff написал:
Тем более  Power Query, по которому так мало литературы и статей на Русском языке. Для тех людей, которые не могут читать статьи на английском языке (а таких десятки  и сотни тысяч) это было бы настоящим кладом знаний. А так пойди, попробуй найди на форуме эти темы.
Полностью согласен! Тема достаточно новая и постоянно ,в отличии от того же  VBA развивающаяся, и в русскоязычном сегменте Интернета пока не сильно расширена
Цитата
Юрий М написал:
частенько вопрощаещему предлагается несколько вариантов решения: макросами, формулами, сводными, PQ
Раньше как было Excel-Формулы-VBA
Сейчас Excel-Формулы-VBA-PQ
Цитата
Андрей VG написал:
Вы готовы его писать? Тогда, думаю, можно с Николаем Павловым договориться, чтобы он размещал ваши статьи по Power Query в приёмах.
Я для себя создал приватную группу в Телеграм для сохранения ссылок и приемов  по PQ,возможно выложу обзор ,если это будет интересно
Цитата
БМВ написал:
Просто порой даже когда помогаешь, проще написать формулку или ответ, чем искать самому поиском и тыркать носом, мол вот же.
Да.что есть,то есть , для себя вывел формулу "Правильно заданый вопрос ,уже половина ответа" Но в новой теме иногда не знаешь КАК ПРАВИЛЬНО ЭТОТ ВОПРОС ЗАДАТЬ
"Правильно заданный вопрос,половина ответа!"
Как вы смотрите на то ,что бы выделить вопросы по Power Query в отдельную ветку форума
 
Как вы смотрите на то ,что бы выделить вопросы по Power Query в отдельную ветку форума. А так же своего рода FAQ по основным вопросам.
Изменено: volond75 - 26.04.2018 16:46:43
"Правильно заданный вопрос,половина ответа!"
Power Query Как зависит производительность при Table.Buffer, List.Buffer
 
Применение в запросе List.Buffer или Table.Buffer освобождает один из Microsoft Mashup Evaluation Container? Просто тоже не понятно почему именно 4 шт Microsoft Mashup Evaluation Container  
"Правильно заданный вопрос,половина ответа!"
Power Query Как зависит производительность при Table.Buffer, List.Buffer
 
Цитата
PooHkrd написал: Обратите внимание на процессы в диспетчере задач во время выполнения скриптов
1.List.Buffer или Table.Buffer освобождает один из Microsoft Mashup Evaluation Container?
2.Microsoft Mashup Evaluation Container это по сути соединение с кешированым файлом?
3.Как то можно обнулить буфер как в vba  tablebufer=Table.Buffer (table)  set  tablebufer=nothing
"Правильно заданный вопрос,половина ответа!"
Power Query Как зависит производительность при Table.Buffer, List.Buffer
 
На последнем шаге В буфер НО 1. таблица остается в памяти в рамках расчета только одного запроса? или DaysToForecast в другом запросе -это уже обращение к буферу?
Изменено: volond75 - 05.04.2018 13:35:28
"Правильно заданный вопрос,половина ответа!"
Power Query Как зависит производительность при Table.Buffer, List.Buffer
 
Тоесть на больших таблицах при ограничениях на память ОЗУ могут быть проблемы?
"Правильно заданный вопрос,половина ответа!"
Power Query Как зависит производительность при Table.Buffer, List.Buffer
 
Источник https://blog.crossjoin.co.uk/2015/05/05/improving-power-query-calculation-performance-with-list-buff... но понимания зачем нет
Например в https://msdn.microsoft.com/query-bi/m/table-buffer пишет
Буферизирует таблицу в памяти, изолируя ее от внешних изменений во время оценки
Это как?
"Правильно заданный вопрос,половина ответа!"
Как сделать отправку в Telegram из макроса VBA Excel, Telegram из макроса VBA Excel
 
Для отправки текста в кирилице
Код
Function RussianStringToURLEncode_New(ByVal txt As String) As String
    For i = 1 To Len(txt)
        l = Mid(txt, i, 1)
        Select Case AscW(l)
            Case Is > 4095: t = "%" & Hex(AscW(l) \ 64 \ 64 + 224) & "%" & Hex(AscW(l) \ 64) & "%" & Hex(8 * 16 + AscW(l) Mod 64)
            Case Is > 127: t = "%" & Hex(AscW(l) \ 64 + 192) & "%" & Hex(8 * 16 + AscW(l) Mod 64)
            Case 32: t = "%20"
            Case Else: t = l
        End Select
        RussianStringToURLEncode_New = RussianStringToURLEncode_New & t
    Next
End Function
 
Sub TextUTF8Send()
Call Send_to_Telegram_Bot_example(RussianStringToURLEncode_New(ActiveCell.Value))
End Sub
"Правильно заданный вопрос,половина ответа!"
Трeтичная система в двухмерный масив макросом
 
Мы знаем что бит принимает значение 0 или 1
байт это 8 символов
соответственно
00000000
00000010
00000011
00000100
но это пример
если бит принимал бы значение от 1 до 3
а байт n-символовов
как заполнить двухмерный масив в моем случае ListObjects("matrix")
Для n=3 имеем 3^3 строк
"Правильно заданный вопрос,половина ответа!"
сводная таблица лишнее поле с именем "Данные"
 
Спасибо за ответ!
Тоесть если в поле данных одно поле то поле данные будет отсутствовать
и еще зачем оно вообще нужно
"Правильно заданный вопрос,половина ответа!"
сводная таблица лишнее поле с именем "Данные"
 
Строю сводную таблицу В списке полей 25 шт а если смотреть свойство
Set pt = ActiveCell.PivotTable
pt.PivotFields.count =26
pt.PivotFields(pt.PivotFields.count).name- "Данные"
Обьясните пожалуйста откуда берется это лишнее поле
"Правильно заданный вопрос,половина ответа!"
Страницы: 1
Наверх