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

Страницы: 1 2 3 4 5 6 След.
Распределение количество по строкам исходя из их доли и ограничений мин и макс.
 

Добрый день.

Есть задачка распределить потребность в sku  по поставщикам.

Исходные данные:

Требуемое кол-во sku

Желаемая доля поставщика в закупке sku

Минимальное кол-во, от которого поставщик готов запустить заказ в производство (МинНЗ)

Максимальное кол-во, возможности производства поставщика. (МахНЗ )

За ключевое значение для достижения желаемой цели я выбрал корректировку “Желаемая доля поставщика в закупке sku” - если вышли за границы диапазона  минимальное - максимальное кол-во доступное для заказа.

Как пересчитать доли с учетом ограничения по максимальному кол-ву я реализовал следующий алгоритм:

Рассчитываем:

Верх_гр = МахНЗ/ Требуемое кол-во sku

Полученное значение (Верх_гр) сравниваем с Желаемой долей

Если Верх_гр <= Желаемая доля тогда по данному поставщику значение желаемой доли меняем на Верх_гр.

По остальным строкам пересчитываем долю:

(Желаемая доля / сумма (желаемая доля по оставшимся строкам))*(1- сумма (желаемая доля по замененным значениям на Верх_гр)

Далее, алгоритм повторяем пока не останется значений где Верх_гр <= Желаемая доля.

Пример (сформированный на «коленке» во вложении)

Не понимаю, как сформировать алгоритм учитывающий одновременно верхние и нижние границы допустимого диапазона.

Если реализовывать перерасчет отдельно для минимальной границы и максимальной границы, при о переделённых значениях процесс подбора «долей» может работать бесконечно.

Прошу оказать помощь в создании алгоритма. (идеально в PQ)

Power Query: как включить подсказки M языка
 
Добрый день.
Кому ни будь удалось включить подсказки в языке "М Excel 2019?
PS Пару недель назад загрузились обновления Office. (Office лицензионный.) Сразу после их установки заработал M Intellisense.
Обрадовался, наконец то сделали. Но радость была не долгой. После перезагрузки компьютера подсказки пропали.
Исходя из данных наблюдений можно сделать вывод, что M Intellisense для PQ Excel 2019 существует.
Может кто то может подсказать где находятся "скрытые" настройки включения подсказок формул М?

Что удалось "откопать" в файле  User.zip\UserInterface\Settings.xml
есть параметр
EanableMIntellisensel1
который может оказывать влияние на включение подсказок.
Функция ТЕНДЕНЦИЯ (TREND) в Power Qwery
 
Цитата
написал:
Neostt , лучше сразу в PP (DAX) проследовать. Там все есть для решения вашей задачи. А так,  формулы МНК известны , запрограммировать их в PQ самостоятельно проблем не составляет.
Здорово. спасибо. Буду изучать.
PS Видел много публикаций где в P Bi (DAX) на графике строили прогноз. В видео ничего сложного нет, но как "предсказание" вернуть в таблицу я так и не понял
Функция ТЕНДЕНЦИЯ (TREND) в Power Qwery
 
Добрый день. Попросили перенести "расчетник" прогноза продаж из Excel в PQ
Столкнулся с тем, что в PQ нет аналога функции "ТЕНДЕНЦИЯ". На просторах "интернета" ничего подходящего из "самописного" ничего не нашел.
Если у кого есть "самописная функция" аналогичная "ТЕНДЕНЦИИ" Excel, поделитесь пож-та
Если, кто решил проблему прогнозирования PQ буду признателен за помощь.
Спасибо
PPivot. Не рассчитывать промежуточные итоги., По определенным столбцам не нужно выводить промежуточные итоги.
 
Добрый день.
Подскажите, пож-та, метод позволяющий не выводить результаты расчетов промежуточных итогов по определенным столбцам.
Тестовый пример во вложении.  
PQ. Включить подсказки языка М, Периодически пропадают подсказки языка M. Как решить проблему?
 
Добрый день.
Имеет MS Office 2019 pro.
Недавно в настройках PQ обнаружил пункт Включить M Intellisense...
Обрадовался, включил, появились подсказки.
Но радость была не долгой. Рандомно, подсказки то работают, то нет.., когда подсказки перестают работать, в настройках пункт M Intellisense отсутствует.
Может, кто то сталкивался с данной проблемой, подскажите, как ее решить.
Спасибо.
PQ. Доступ к контенту страницы на ajax
 
Цитата
Cookie обновите
Изменено: Neostt - 27.06.2023 15:30:55
деление продаж по дням помощью PQ
 
приходилось решать аналогичную задачу... на базе кода Михаил Л,  предложу свое решение:
Код
let
    Source = Table.PromoteHeaders( Excel.CurrentWorkbook(){[Name="tbl"]}[Content])
    in Table.Combine( Table.AddColumn(Source, "a", each let   a =  Date.EndOfMonth([Date Start]),
    b = Number.IntegerDivide(Number.From(a - [Date Start]),1)+1,
    c_min = Number.RoundDown([Продажи]/b),
    c_maх = Number.RoundUp([Продажи]/b),
    k_maх=[Продажи]-b*c_min,
    k_min=b-k_maх,
    e = List.Dates(Date.From([Date Start]), b, #duration(1, 0, 0, 0)),
    f = List.Repeat({c_maх},k_maх)&List.Repeat({c_min},k_min)
in Table.FromColumns({e,f},{"Date","Продажи"}))[a])
PQ. Оптимизация замены значений в столбце таблицы.
 
surkenny, Спасибо огромное. Время работы запроса пришло в норму...
PQ. Оптимизация замены значений в столбце таблицы.
 
Добрый день.
Дано:
таблица с исходными данными, которой представлены столбцы:
Дата,
Неделя
(и др. столбцы, не относящиеся к предмету вопроса)
Необходимо заменить номер недели в столбце "Неделя"
логика замены следующая:
а) номер недели "1 " меняем на "2"
б) номер недели "52" в январе меняем на "2"

Написал данный вариант кода:
Код
Repl = Table.ReplaceValue(Kalendar, each [Неделя],  each f(Date.Month([Дата]), [Неделя]), Replacer.ReplaceValue,{"Неделя"}),
f=(m,w)=>if List.AllTrue({m=1,w=52}) or List.AllTrue({m=1,w=1}) then 2 else w,
После внедрения данного варианта замены, время выполнения итогового запроса увеличилось на порядок (таблица состоит из нескольких млн строк).
Подскажите, пож-та, более "быстрый" и "изящный" вариант замены номера недели
Спасибо.
PQ. Прасинг информации со скрытых элементов страницы
 
kush.near,

Только что проверил. Web.Contents + Text.FromBinary - возвращают интересующую вас информацию.
Вы в заголовке запроса cookie передаете? Текст формата "\u041d\u043e\u0432\u043e\u0435 \u0432" декодировали?
PQ. Прасинг информации со скрытых элементов страницы
 
kush.near,

посмотрел содержимое через "DevTools".
Интересующие вас данные изначально присутствуют, и после нажатия кнопки "Далее" выводятся на экран.
Изменено: Neostt - 31.03.2023 14:48:54
DAX отклонение
 
PowerBI_WannaBe,
см. вложение
DAX. Убрать из среза и сводной таблицы запись (пусто)
 

Столкнулся с проблемой, не пойму как ее решить… Прошу оказать помощь.

Дано:

1.       Таблица с данными по продажам: номер недели (Week) и Реализация (Sale)

Данные представлены за 10 недель

2.       Справочник «Неделя» (Week)

Данные представлены за 3 недели.

3.       В модели данных PowerPivot таблицы связаны между собой по столбцу Week

Сформированная на листе EXCEL сводная таблица со столбцами

Week (справочник) и Sale (Таблица с данными по продажам) и срез, по столбцу Week (справочник)

возвращают запись (пусто).

Подскажите, пож-та, вариант решения, позволяющий убрать из среза и таблицы запись (пусто).

PS. Без внесения изменений в «меры».

Я знаю вариант решения, где нужно убрать связь между справочником неделя и Таблица с данными по продажам и написать меру типа:

Код
=var curweek=MAX('Week'[Week])
var rd=CALCULATE(SUM('Sale'[Sale]);'Sale'[week]=curweek)
return
rd

Но в боевом файле слишком много мер.  Хотелось бы найти более простой вариант решения.

Пример файла во вложении

Спасибо.

Изменено: Neostt - 23.03.2023 14:38:03
Задача по Power Query, Удаление массива столбцов
 
Арт Б,
Попробуйте так.
Код
Table.RemoveColumns(#"Предыдущая таблица", List.Transform({1..13}, each "Column"&Number.ToText(_))
Power Query. Заменить строгую привязку к названиям столбцов на динамический список., Вставить в функцию List.Min названия нужных столбцов без их строго перечисления.
 
turbidgirl,

Была похожая задача. Сделал для себя такое решение. Пример поиска 1го минимального значения:
Код
let
    Источник = Excel.CurrentWorkbook(){[Name="Таблица3"]}[Content],
    Min1 = Table.AddColumn(Источник, "Min1", (x)=>List.Min(List.Skip(Record.ToList(x)))),
    PMin1 = Table.AddColumn(Min1, "PMin1", (x)=>List.Skip(Record.FieldNames(x)){List.PositionOf(List.RemoveLastN(List.Skip(Record.ToList(x)),1),x[Min1])})
in
    PMin1
PQ. Рекурсия. Просьба объяснить, как работает код.
 
Alien Sphinx, Разобрался..... Спасибо.
PQ. Рекурсия. Просьба объяснить, как работает код.
 
Alien Sphinx, Так я и думал, именно так и полагал (с) :D  
Изменено: Neostt - 22.02.2023 17:01:50
PQ. Рекурсия. Просьба объяснить, как работает код.
 

Добрый день.

В ходе решения задачи по парсингу складских остаток возникла потребность из html вытянуть часть текста между разделителями по нескольким совпадениям. На просторах интернета нашел код (см. пример), адаптировал его и получил желаемый результат. Но, не могу понять, как работает функция с рекурсией. Для саморазвития, хочу разобраться.  Если не сложно, распишите, пож-та, принцип рекурсии на примере данного кода. Спасибо.

Написать функцию для парсинга ценника с WEB страницы
 
Jack Famous,

Вопрос не по теме, но может подскажите,
Код
let   regexTest=(text as nullable text,reg as nullable text, optional delim as nullable text) =>
    let

        t = ("<script>document.write(('"&text&"').match(new RegExp('"®&"', 'gim')).join('"&delim&"'))</script>"),
      r = Web.Page(t)[Data]{0}[Children]{0}[Children]{1}[Children]{0}[Text]{0}
    in r
in regexTest
Данный код из выгрузке, представленной на листе Эксель вытаскивает нужный текст по регулярке...
Но не хочет вытаскивать текст из выгрузки PQ
Типа:
Код
Source = Web.Contents(url,[Headers =  ResHead]  ),
S = Text.FromBinary(Source)

Не могу понять, что не так, что нужно исправить, что бы скрипт возвращал текст  из выгрузки PQ?
Написать функцию для парсинга ценника с WEB страницы
 
evgeniygeo,

Тут лежит цена
Код
<span class="cat-product__price__new-price__count">9.55</span>

Выгрузка во вложении.
Написать функцию для парсинга ценника с WEB страницы
 
Jack Famous,
Приложил файл..
Остается только подставить список с карточками товаров.
PS для выбора др. города, в браузере меняете его, далее копируете новый "cookie" и меняете их в коде...
Написать функцию для парсинга ценника с WEB страницы
 
evgeniygeo,



Вот так цена есть, но почему то макрос ее по регулярке не вытягивает..
Код
let
 url ="https://www.tbm.ru/cat/komplektuyuschie-dlya-mebeli/sistemy-vydvizhnykh-yaschikov/napravlyayuschie/f...;,
ResHead=[
#"accept"= "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
//#"accept-encoding"= "gzip, deflate, br",
#"accept-language"= "ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7",
#"cache-control"= "max-age=0",
#"cookie"="JSESSIONID_OLP=F4EE70C25DCF40889ABD07831757CE95.web2_t7_java8; PHPSESSID_IM=0u79aku9cmbu6vo1ljco4rc4js; _ym_uid=167602096954985262; _ym_d=1676021616; __utma=52544237.295090193.1676021616.1676021616.1676021616.1; __utmc=52544237; __utmz=52544237.1676021616.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __utmt=1; __utmb=52544237.1.10.1676021616; tbms=710541df-876d-4c80-93d2-584ff6039a26; rrpvid=551380534566958; _ym_visorc=w; _ym_isad=2; rcuid=63e60f709562c1e4a1381e0a; TBM_TOWN=273",
#"sec-ch-ua"= "Not_A Brand;v=99, Google Chrome;v=109, Chromium;v=109",
#"sec-ch-ua-mobile"= "?1",
#"sec-ch-ua-platform"= "Android",
#"sec-fetch-dest"= "document",
#"sec-fetch-mode"= "navigate",
#"sec-fetch-site"= "none"
],
Source = Web.Contents(url,[Headers =  ResHead]  ),

S = Text.FromBinary(Source)
S1=Text.BeforeDelimiter(Text.AfterDelimiter(Text.AfterDelimiter(S,"cat-product__price__new-price__count"),">"),"</span>")
in
    S1

Изменено: Neostt - 10.02.2023 13:15:40
Написать функцию для парсинга ценника с WEB страницы
 
Jack Famous,
У меня одинаковые цены. Причины расхождений могут быть из-за отличий в "заголовках" запросов. Нужно разбираться.

Что бы сразу парсить "другой сайт", нужно сформировать список "этих новых" ссылок на карточки товара.
Написать функцию для парсинга ценника с WEB страницы
 
Sla_0412,  

Карточка товара:
Петля для вкладных дверей Firmax Smartline, Clip On, Soft-Close,угол открывания 105°, 48мм, 35 мм чашка (tbm.ru)

Из HTML кода карточки товара вытаскиваете ссылку :
Код
<a id="buy-retail-button" class="cat-product__btn-buy" href="https://www.tbmmarket.ru/mebelnye-komplektuyuschie/furnitura/petli/frm0152/">                     <span class="cat-product__btn-buy-text">Купить в розницу</span></a>
Затем, из HTML кода полученного по новой ссылке вытаскиваете цену товара:

Регулярные выражения
Код
Рубли -  <span class="price price-number">(.*?)</span>
Копейки - <span class="dime">(.*?)</span>

Смена формата дат в Power Query, Сделать из 02-07-2023 в 07.02.2023
 
surkenny, Как оказалось, все гораздо проще... :)  
Смена формата дат в Power Query, Сделать из 02-07-2023 в 07.02.2023
 
vasui rain,
Как вариант:
Код
let    Источник = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    #"Измененный тип" = Table.TransformColumnTypes(Источник,{{"дата", type text}}),
    #"Добавлен пользовательский объект" = Table.AddColumn(#"Измененный тип", "Дата1", each 
        [a=Text.Split([дата],"-"),
        b=#date(Number.FromText(a{2}), Number.FromText(a{0}), Number.FromText(a{1}))
        ][b], type date)
 in
      #"Добавлен пользовательский объект"
PQ. Преобразование списка списков в таблицу
 
Alien Sphinx, Спасибо.

PS Мое решение, через преобразование в таблицу, индекс и столбец сведения мягко говоря не оптимально...
PQ. Преобразование списка списков в таблицу
 
Добрый день.
Не очень у меня получается с преобразованием списков в таблицы.
Имеем список списков...
Код
let
lst={{"1","1","1","1","A","1"},{"2","2","2","2","B","2"},{"3","3","3","3","C","3"}}
in
lst

Не могу сообразить, как его преобразовать в таблицу...
Пример и нужный формат таблицы во вложении во вложении...
Прошу оказать помощь
Спасибо
Power Query парсить информацию со всплывающей страницы сайта
 
allovar,

Код
let url =ваша ссылка,
headers=
[
тут указываем содержимое запроса и cookie
], 
response =Web.Contents(url, [Headers = headers]),

Далее, зависит от того, что вернет запрос.

Изменено: Neostt - 01.02.2023 12:31:20
Страницы: 1 2 3 4 5 6 След.
Наверх