Отправить символ перевода строки не получилось, я пробовал передавать CRLF в URL-Encoded запросе в виде %0D%
Цитата
xseed написал: Отправить символ перевода строки не получилось, я пробовал передавать CRLF в URL-Encoded запросе в виде %0D%0A, но символ не передается в сообщении.
Максим Зеленский написал: в функции Выбор у вас какие-то преобразования
Я тут еще раз повторил
Код
/*Выбор
Получаем ссылку на умную таблицу Ехс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
Есть таблицы созданые запросом 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 символов но мне достаточно
= Table.SelectRows (Sales_Customers, каждый List.Contains (Query1, [CustomerCategoryID]))
List.Contains проверит, будет ли каждая строка в таблице иметь номер CustomerCategoryID, который существует в списке, и возвращает true, если это произойдет, и тогда ваша таблица будет содержать только строки, в которые возвращается True
Если вы хотите исключить значения, которые у вас есть в своем списке, вы можете изменить выражение на
= Table.SelectRows (Sales_Customers, каждый List.Contains (Query1, [CustomerCategoryID]) = false
Максим Зеленский написал: Хотя наконец-то коннекторы/библиотеки сделали обновляемыми через шлюз - есть надежда, что вскоре их сделают "дистрибутируемыми".
А можно или ссылку или поподробней а то что то не понятно о чем речь
Юрий М написал: А как последние сообщения связаны с заявленной темой?
Извените если,что то нарушил. Просто сегодня тут в соседней ветке Максим помог тем же самым способом ,через (_) вот и получается что он потратил в три раза больше времени ,так как тема есть и (тут)
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.
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`.
Dyroff написал: Тем более Power Query, по которому так мало литературы и статей на Русском языке. Для тех людей, которые не могут читать статьи на английском языке (а таких десятки и сотни тысяч) это было бы настоящим кладом знаний. А так пойди, попробуй найди на форуме эти темы.
Полностью согласен! Тема достаточно новая и постоянно ,в отличии от того же VBA развивающаяся, и в русскоязычном сегменте Интернета пока не сильно расширена
Цитата
Юрий М написал: частенько вопрощаещему предлагается несколько вариантов решения: макросами, формулами, сводными, PQ
Раньше как было Excel-Формулы-VBA Сейчас Excel-Формулы-VBA-PQ
Цитата
Андрей VG написал: Вы готовы его писать? Тогда, думаю, можно с Николаем Павловым договориться, чтобы он размещал ваши статьи по Power Query в приёмах.
Я для себя создал приватную группу в Телеграм для сохранения ссылок и приемов по PQ,возможно выложу обзор ,если это будет интересно
Цитата
БМВ написал: Просто порой даже когда помогаешь, проще написать формулку или ответ, чем искать самому поиском и тыркать носом, мол вот же.
Да.что есть,то есть , для себя вывел формулу "Правильно заданый вопрос ,уже половина ответа" Но в новой теме иногда не знаешь КАК ПРАВИЛЬНО ЭТОТ ВОПРОС ЗАДАТЬ
Применение в запросе List.Buffer или Table.Buffer освобождает один из Microsoft Mashup Evaluation Container? Просто тоже не понятно почему именно 4 шт Microsoft Mashup Evaluation Container
PooHkrd написал: Обратите внимание на процессы в диспетчере задач во время выполнения скриптов
1.List.Buffer или Table.Buffer освобождает один из Microsoft Mashup Evaluation Container? 2.Microsoft Mashup Evaluation Container это по сути соединение с кешированым файлом? 3.Как то можно обнулить буфер как в vba tablebufer=Table.Buffer (table) set tablebufer=nothing
На последнем шаге В буфер НО 1. таблица остается в памяти в рамках расчета только одного запроса? или DaysToForecast в другом запросе -это уже обращение к буферу?
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
Мы знаем что бит принимает значение 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- "Данные" Обьясните пожалуйста откуда берется это лишнее поле