Страницы: 1
RSS
Обработка строки на предмет удаление лишних записей через PowerQuary
 
Базовая ERP система показыает выгрузку по Клиентам с привязкой к лишним записям, а именно номера строки, точки с запятой и хэштега.
Прошу показать как по средствам M-language убрать 57;#. Вариант через Excel не подходит, поскольку запрос сразу к источнику, без привязки к "посредникам".

Пример записи:
57;#ПОЛИМЕРПРОМ
102;#Бормаш ООО

Заранее спасибо!
 
Off
посредством
 
Offtop
Цитата
vikttur написал:
посредством
Посредством Text.Split[Что то как то где то там], ";#"){1}
 
Ребята, необходимо отделить наименование Клиента от этой вездесущей привязки с номером, точкой запятой и хэштегом, т.е. оставить только название Клиента.
Сплит не подойдет, это обратное действие. Оно и так есть :) Спасибо
 
vikttur, Андрей VG,

Необходимо обратное действие,

из
57;#ПОЛИМЕРПРОМ
102;#Бормаш ООО

получить
ПОЛИМЕРПРОМ
Бормаш ООО
 
Anatoly V.,
Можно еще так:
Код
Text.AfterDelimiter([Что то как то где то там], ";#")

Андрей VG, у вас там открывающая скобочка в функции пропущена.
Цитата
Anatoly V. написал:
Необходимо обратное действие,
Вам Андрей именно этот вариант и предложил. Split он разбивает строку, объединяет Text.Combine
Изменено: PooHkrd - 03.10.2018 15:46:33
Вот горшок пустой, он предмет простой...
 
Цитата
Anatoly V. написал:
Сплит не подойдет, это обратное действие
Берётесь доказать или так ДУМАЕТЕ?
Код
let
    Source = "57;#ПОЛИМЕРПРОМ",
    afterSplit = Text.Split(Source, ";#"){1}
in
    afterSplit

Цитата
PooHkrd написал:
у вас там открывающая скобочка в функции пропущена.
Каков пример ТС... Как аукнется, так и откликнется.
Изменено: Андрей VG - 03.10.2018 15:46:41
 
vikttur, PooHkrd, Андрей VG,

Прикрепил простой пример, где на первом листе находится источник с оригинальным названием, на втором листе quary находится тоже-самое по средством powerquary. Прошу Вас помочь с запросом (убрать лишнее по средством M-language).

Большое спасибо!
 
Цитата
Anatoly V. написал:
Прикрепил простой пример,
Снизошли? Простое решение.
 
Андрей VG,

Да, то, что надо, большое спасибо за помощь, Андрей!
Супер.
 
Андрей VG,
Код
Table.TransformColumns(Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content], {"Столбец1", (item) => let temp = Text.AfterDelimiter(item, ";#") in if temp = "" then item else temp, Text.Type})

:D   :D   :D
Жестокий вы человек!
Вот горшок пустой, он предмет простой...
 
PooHkrd,
Если есть варианты элегантнее пожалуйста напишите, хочу знать больше о подобных вещах.

Спасибо!
 
Anatoly V., да тут в том и цимес, что элегантней уже некуда. Без шуток.
Но если начинающий посмотрит в запрос в расширенном редакторе, то понять что то в этой строке он вряд ли сможет. Для начала обычно граждан обескураживает отсутствие let ... in, не говоря про самописные функции.
А вообще ваша проблема решается одной кнопкой на панели преобразования.
Изменено: PooHkrd - 03.10.2018 16:28:33
Вот горшок пустой, он предмет простой...
 
PooHkrd,

А слона -то мы и не заметили :)
Очень ценные советы и пояснения, большое всем спасибо!
 
Не вам первому даю одну и ту же рекомендацию, если уж справку по функциям читать некогда/влом/что-то еще то хотя бы по-тыкайте во все кнопки на всех панельках, почитайте всплывающие подсказки, посмотрите, что будет происходить с данными в результате тыканья. Так вы хотя бы узнаете возможности графического интерфейса, а их хватает для 80% задач даже опытного аналитика.
Вот горшок пустой, он предмет простой...
 
Offtop
Цитата
PooHkrd написал:
Жестокий вы человек!
Не, просто с формулистами общаюсь, видимо это заразно  :D
Страницы: 1
Наверх