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

Страницы: 1 2 3 След.
Цикличный нарастающий итог (с условием), Power Query; DAX; Running total
 
Alien Sphinx, привет.

Я погорячился, добавив в описание PQ.
Там я примерно понимаю как это сделать. В данном вопросе мне всё-таки больше интересен DAX.
Цикличный нарастающий итог (с условием), Power Query; DAX; Running total
 
Всем привет!

Я уже формировал разнообразные формы нарастающего итога в DAX, но сейчас столкнулся с нерешаемой для меня задачей.
Мне требуется выполнить нарастающий итог с условием, что сумма нарастающего итога должна отсчитываться заново при достижении значения выше или равного 100.
Пробовал IF и VAR ... RETURN, но приходил только к плачевным результатам. Кто-нибудь с таким сталкивался?
Файл пример во вложении.
Условная ссылка на исходные данные веб ресурсов
 
Файл пример, без запроса обработки excel во вложении.
Условная ссылка на исходные данные веб ресурсов
 

Ошибка:

"Formula.Firewall: Query 'Query1' (step 'Source') references other queries steps, so it may not directly access a data source. Please rebuild this data combination."

Изменено: Виталий - 20.05.2023 23:34:07
Условная ссылка на исходные данные веб ресурсов
 
Всем, привет  :)

Я уже поднимал тему по обработке кода PQ из блокнота (link). Она чем-то взаимосвязана с текущей темой, но я посчитал, что лучше данный вопрос подсветить отдельно.

Мне требуется выбирать исходные данные .xlsx запросом из канала Teams, расположенного в SharePoint. Исходные данные надо периодически менять. Чтобы не заходить каждый раз в запрос и не менять URL там, хочется вставлять URL в таблицу Excel, которую будет обрабатывать запрос PQ в текст адреса. На этот адрес, в свою очередь, будет обращаться второй запроc. Формулы с применением SharePoint.Contents и Web.Contents, а также результирующая ошибка представлены ниже.

Запрос urltext_qr выбирабющий адрес ИД из таблицы:
Код
let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"urltext", type text}})
in
    #"Changed Type"

Запрос Web код:
Код
let
    Source = Excel.Workbook( Web.Contents( urltext_qr{0}[urltext] ), null, true )
in
    Source

Запрос SharePoint код:

Код
let
    Source = Excel.Workbook( SharePoint.Contents( urltext_qr{0}[urltext] ), null, true )
in
    Source

Изменено: Виталий - 20.05.2023 23:39:04
Запрос Power Query через блокнот, MSO; Power Query
 
surkenny, mechanix 85, да, с #shared всё сработало.

Единственное, некоторые запросы пришлось дочищать на предмет наличия Кириллицы в тексте запроса.

Большое спасибо!
Запрос Power Query через блокнот, MSO; Power Query
 
Но, боюсь, что в таком случае, придётся копаться в особенностях запросов...
Ваш запрос попробовал, конечно же работает.
Изменено: Виталий - 18.10.2022 14:13:54
Запрос Power Query через блокнот, MSO; Power Query
 
Антон, здравствуйте.

Попробовал, на паре своих запросов. В обоих случаях ошибка [1,83-1,93] Недопустимый идентификатор (см. рис во вложении).
Текст запроса я просто беру Ctrl+C, Ctrl+V в блокнот, с операторами let ... in.
Изменено: Виталий - 18.10.2022 14:05:42
Запрос Power Query через блокнот, MSO; Power Query
 
Здравствуйте.

Вас снова приветствует знатный нуб.

Вопрос, наверное, не требующий файла примера. У меня есть несколько разных файлов, в которых один и тот же запрос (по содержанию кода) обрабатывает разные исходные данные. Когда меняю код запроса не так уж удобно заходить в каждый файл, и менять в них код запроса.
Можно ли где-то сохранить код запроса (например в блокноте), и давать нескольким запросам PQ считывать код запроса оттуда?
Изменено: Виталий - 18.10.2022 13:21:04
Условное имя столбца для процедуры, MSO; Power Query
 
whateverlover, да!!!

Огромное спасибо. До Record я что-то не «дополз». Всё пытался обращаться напрямую через текст!
Условное имя столбца для процедуры, MSO; Power Query
 
Ігор Гончаренко, не совсем понял Ваш метод.

Уточню, мне нужно это сделать исключительно в запросе Power Query.
Условное имя столбца для процедуры, MSO; Power Query
 
Всем доброго времени суток.

Такая проблема: есть таблица исходных данных ( далее - ИД ) и таблица с наименованием условного столбца, который надо отфильтровать в таблице ИД.
Как выполнить фильтр в таблице ИД используя значение второй таблицы?
Я пробовал Table.TransformColumns, Table.SelectRows и Expression.Evaluate, но так и не пришёл к решению..

Файл пример во вложении.
Изменено: Виталий - 06.10.2022 10:27:38
Выполнение этапов запроса по условию, Power Query
 
whateverlover, Ваш пример запроса, мне всё пояснил

Большое спасибо!!! surkenny и Михаил Л, тоже спасибо за отзывчивость!
Выполнение этапов запроса по условию, Power Query
 
whateverlover, здравствуйте.


Во-первых, с материалом по ссылке ознакомился. Спасибо!

Во-вторых, для тупых. Что если после "ChngTp" будут следовать ещё шаги не зависящие от "Clmn2", "Rplc_" ? Запрос всё равно не будет вычислять  "Clmn2", "Rplc_" ? Просто мне показалось, что если if применяется внутри кода let .. in, то он прорабатывает оба условных значения.
Выполнение этапов запроса по условию, Power Query
 
Всем добрый день.

Я практически уверен, что данный вопрос уже сотню раз обсудили, но не нашёл ни на каких форумах/ пабликах.

Мне требуется в своём сложном запросе пропустить несколько шагов обработки данных, если список не содержит "null".
На данный момент я применяю if (см. пример ниже), но т.к. мой запрос сложный возникает вопрос: не усложняет ли запрос выполнение этапов до применения if ?
Код
let
    Lst = { 1, 2 },
    TblCrt = Table.FromList( Lst, Splitter.SplitByNothing(), null, null, ExtraValues.Error ),

    Clmn2 = Table.AddColumn( TblCrt, "Column2", each "" ),
    Rplc_ = Table.ReplaceValue( Clmn2, "", "new", Replacer.ReplaceValue, {"Column2"} ),

    ChngTp = if List.Contains( Lst, null ) then Table.TransformColumnTypes( Rplc_, { { "Column1", type number } } ) else 
        Table.TransformColumnTypes( TblCrt, { { "Column1", type number } } )

in
    ChngTp
Может этапы запроса "Clmn2", "Rplc_" стоит выполнять условной функцией? Но как? Не понимаю.
Файл пример, на всякий случай, прилагаю.
Сравнение форм исходных данных Power Query, MSO; Power Query
 
Антон, действительно работает.
Большое спасибо!
Сравнение форм исходных данных Power Query, MSO; Power Query
 
Здравствуйте.

Вроде бы простой, но не для меня, вопрос.
Мне требуется выполнить обработку данных через Power Query. Трудность в том, что исходные данные надо обработать по разному.
Иногда требуется сделать сборку из папки, а иногда обратиться к конкретному файлу.
Адрес исходных данных загружаю из умной таблицы (имя таблицы - MD).
Я написал обычные формулы обработки папок или файлов Excel, и попробовал делать выбор шага, в котором отсутствуют ошибки (применив try ... otherwise ...).
Код
let    
    folder = Folder.Files( MD{0}[#"Адрес исходных данных"] ),    
    file = Excel.Workbook( File.Contents( MD{0}[#"Адрес исходных данных"] ), null, true ),
    source = try folder otherwise file
in
    source

Но в этом случае встретился с ошибкой ввода-вывода "267" при обращении к пути, которую, в свою очередь, «try ... otherwise ...» не обрабатывает.

Файл пример во вложении.
Изменено: Виталий - 23.09.2022 10:28:24
Получение текстового значения #(lf), #(cr), MSO; Power Query
 
surkenny.

Прошу прощения, что долго не отвечал. Работа «засосала».

Я опробовал последнюю функцию, которую Вы написали. Работает!

Большое спасибо за помощь.
Изменено: Виталий - 19.04.2022 10:25:20
Получение текстового значения #(lf), #(cr), MSO; Power Query
 
Цитата
Виталий, написал:
(без создания своих справочников)

Цитата
surkenny, написал:
replaces  = { { "#(lf)", """#" & "(lf)""" }, { "#(cr)", """#" & "(cr)""" } },
Возможно потребуются и другие символы.
Я, всё таки, не до конца точно выразился. Можно ли это сделать 1-ой формулой. Так же как Character.FromNumber(10), только не символ из номера, а текст из символа.

Но как я понял, такой формулы нет.
Изменено: Виталий - 13.04.2022 13:47:57
Получение текстового значения #(lf), #(cr), MSO; Power Query
 
См. во вложении.
Получение текстового значения #(lf), #(cr), MSO; Power Query
 
Уважаемые форумчане, здравствуйте.

Мне иногда требуется переводить знак переноса строки в текст "#(lf)", или возврат каретки в "#(cr)".

Я поискал по форумам, да и в пространстве интернета, и ничего не нашёл. Есть ли вообще такая возможность (без создания своих справочников)?

Если нужен файл-пример, могу накидать.
Изменено: Виталий - 13.04.2022 13:08:43
Альтернатива СЖПРОБЕЛЫ в PowerQuery
 
Здравствуйте.

Подскажите, пожалуйста, как избежать ошибки в функции (см. ниже) если в столбце, к которому применяется данная функция, присутствуют значения null ?
Код
asExcelTrim = (this as text) as text => Text.Combine(List.Select(Text.Split(Text.Clean(this), " "), each _ <> ""), " ")

Файл пример во вложении.

Изменено: Виталий - 05.04.2022 22:58:35
Изменение сроков относительных данных в Power Pivot
 
Vladimir Chebykin и surkenny, большое вам спасибо за помощь!
Изменение сроков относительных данных в Power Pivot
 
surkenny,

Ну, да. Это я поменял Вашу формулу, и уточнял правильно ли.

Ваша формула:
Код
Date.AddDays (         [Дата],
        Record.FieldOrDefault ( paymentDelay, [Поставщики] & [Товар], Date.DaysInMonth ( [Дата] ) ) +
        Record.FieldOrDefault ( paymentDelayByMonth, [Поставщики] & [Товар] & Date.ToText ( [Дата], "yyyyMMdd" ), 0 )
    ),
    type date
  )
Изменено: Виталий - 16.12.2021 12:38:07
Изменение сроков относительных данных в Power Pivot
 
surkenny, а я правильно понимаю, что если мне вдруг захочется добавлять отсрочку по умолчанию 30 дн., то нужно переписать Date.AddDays ?
Код
Date.AddDays ( 
        [Дата],
        Record.FieldOrDefault ( paymentDelay, [Поставщики] & [Товар], 30 ) +
        Record.FieldOrDefault ( paymentDelayByMonth, [Поставщики] & [Товар] & Date.ToText ( [Дата], "yyyyMMdd" ), 0 )
    ),
    type date
  )
Изменено: Виталий - 16.12.2021 11:25:53
Изменение сроков относительных данных в Power Pivot
 
surkenny, Applause, Applause, Applause!!!
Изменено: Виталий - 16.12.2021 00:32:12
Изменение сроков относительных данных в Power Pivot
 
surkenny, всё верно.

По п. 3. Отсрочка по умолчанию - месяц. Vladimir Chebykin верно отметил, что по сути можно решить этот вопрос добавляя 31 день, но, всё равно, желательно добавлять ровно месяц.
Изменение сроков относительных данных в Power Pivot
 
Цитата
Цитата
surkenny написал:
Может, Вы опишете алгоритм, что нужно получить в PQ? И примерчик дадите. Попробую сделать быструю обработку.
Виталий написал:
Формируется план платежей на будущий год. Основой для данного плана платежей является План поставок, также на будущий год.
Все платежи требуется распределить по Поставщикам. Это распределение выполняется путём расчёта коэффициента кол-ва поставщиков на Товар.
В т.ч., по Поставщикам надо уточнить сроки оплаты, с учетом того что в Плане поставок отсутствуют данные по Поставщикам. На уровне всего календарного плана я это решил используя DATEADD в Power Pivot, с особенными сроками для некоторых Поставщиков-Товаров.

Проблема возникает если требуется подвинуть исключительно сроки платежей по Поставщику-Товару в определённом месяце. Такой вопрос, как я понял формулой DATEADD не решишь.
В Power Query я совсем не вижу путей реализации данной задачи, т.к. План поставок не имеет никакого отношения к поставщикам.
Основа описана выше
По сути, требуется сдвинуть платежи по определенным Поставщику и Товару во всем календарном плане + сдвинуть в определенном месяце, с учетом, что поставщики привязаны к разным товарам, также как и товары к разным поставщикам В т.ч., в продолжение последнего письма Vladimir Chebykin, я добавил поставщика без товара, и товар не имеющий связанного поставщика (выделил в таблицах желтым цветом).
Сроки смещения указаны на вкладках «Отсрочка платежа» и «Отсрочка платежа (мес.)».

Как я понял модель не нужна, так что прилагаю файл просто с таблицами.
Изменено: Виталий - 15.12.2021 17:18:49
Изменение сроков относительных данных в Power Pivot
 
Цитата
Vladimir Chebykin написал:
Действительно, для разового сдвига платежей, нужен совсем другой алгоритм.
К сожалению, сейчас времени совсем нет. Отвечу пока только по последнему пункту.
Я выполнял это в Power Query, но система «встала» уже на этапе расчёта коэффициента Постащика-Товара (Пример).
А что подразумевает под собой виртуальная таблица?
Изменено: Виталий - 15.12.2021 16:32:54
Изменение сроков относительных данных в Power Pivot
 
Vladimir Chebykin, здравствуйте.

Я, к сожалению, не могу менять модель данных. У меня в таблице плана поставок могут быть контрагенты не входящие в таблицу соотношения Поставщиков и товаров, и наоборот. Данные по товарам тоже нужно собирать. Для этого я и создавал справочники. Может есть другой способ это делать, но я его ещё не видел.

Касательно отсрочки на определенный период - жалко. Мне требуется точная отсрочка на месяц, это в финансовой деятельности очень важно.

И последнее, Ваша формула не решает моей проблемы. В ней всё происходит как и было у меня. Я тоже дополнительно вычитал сумму по "локальной" отсрочке. Это приводит к тому, что в месяце "локальной" отсрочки отображаются данные другого месяца (т.е. согласно моей таблице 01.05.2021 - 45 - 20 = 25.02.2022, и в итоге в мае отображаются данные за февраль 2022). Если выделить все промежуточные итоги за весь период по Поставщику4-Товару3 видно, что они отличаются от общих итогов за все месяцы.
Изменено: Виталий - 15.12.2021 13:04:41
Страницы: 1 2 3 След.
Наверх