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

Страницы: 1 2 3 4 5 6 След.
PQ. Отсутствие данных в html-коде
 
kush.near,
Ищите нужный GET/POST запрос, который возвращает цену
например
https://helix.ru/api/catalog/items/list/v2?cityId=2&filter.categoryId=1&pagination.t...

после чего, с помощью  PQ выгружайте и обрабатывайте данные
PP. Объединить виртуальные таблицы
 
Нашел решение:
Рабочий код:

Код
DEFINE

var t1 = 
    SUMMARIZE (
        'Stock',
        'Stock'[ЦС],
        'Stock'[Код])
var t11 = SELECTCOLUMNS('t1',
                        "ЦС",
                            'Stock'[ЦС]&"",
                        "Код",
                            'Stock'[Код]&"",
                        "Кол",
                             CALCULATE(SUM('stock'[Запас])))     
var t2 = 
    SUMMARIZE (
    'Sale',
    'Sale'[ЦС],
    'Sale'[Код])
var t22 = SELECTCOLUMNS(t2,
                        "ЦС",
                            'Sale'[ЦС]&"",
                        "Код",
                            'Sale'[Код]&"",
                        "AV_S", 
        CALCULATE(
            DIVIDE (
                [реал],
                SUMX (
                    VALUES ( 
                        'sale'[Дата] ),
                        CALCULATE (
                            MAX ( 'sale'[Кол-во дней] ) ) ) )))


EVALUATE t11
EVALUATE t22
EVALUATE NATURALLEFTOUTERJOIN('t11','t22')


PS. Почему то без &""  не работает

PP. Объединить виртуальные таблицы
 
Как я понял, поможет
Код
NATURALLEFTOUTERJOIN
Но реализовать не получается, возвращает ошибку об отсутствии "связи" между таблицами, хотя в модели все настроено.

Кто знает, подскажите, что не так?
Код
DEFINE

Решение ниже
Изменено: Neostt - 02.08.2024 17:56:54
PP. Объединить виртуальные таблицы
 

Давно, в PQ написал «запрос», рассчитывающий распределение величины уровня складского запаса по временным интервалам (в разных контекстах).

От 0 до 45 дн – 1000руб

От 46 до 90 дн – 2000руб

И т.д.

Логика расчета простая, запас в на дату отчета, делим на среднедневные продажи и полученное значение распределяем по временным интервалам.

Сейчас возникла потребность добавить «срез», в котором можно выбрать «период» за который должна рассчитаться среднедневная продажа. Для решения задачи «расчётчик» нужно перенести из PQ в PP. А с PP я не «очень»

Исходные данные – таблица продаж, и таблица с остатками.

Я создал 2 виртуальные таблицы

1я с остатками

Код
EVALUATE
 var t1 = 
     ADDCOLUMNS(SUMMARIZE (
         'Stock',
         'Stock'[ЦС],
         'Stock'[Код]),
         "Кол",
         CALCULATE(SUM('stock'[Запас])))
  RETURN 
 t1

2я со среднедневной отгрузкой

Код
EVALUATE
 var t2 = ADDCOLUMNS(
     SUMMARIZE (
     'Sale',
     'Sale'[Склад],
     'Sale'[Код]),
     "AV_S", 
         CALCULATE(
             DIVIDE (
                 [реал],
                 SUMX (
                     VALUES ( 
                         'sale'[Дата] ),
                         CALCULATE (
                             MAX ( 'sale'[Кол-во дней] ) ) ) )))
         
  RETURN 
  t2

Для расчета уровня запаса и его декомпозиции по временным интервалам, как я понял, нужно объединить эти виртуальные таблицы по ключам «Склад», «Код». Вот с этим возникли сложности.

Прошу оказать помощь и подсказать варианты решения.

Спасибо.

Изменено: Neostt - 02.08.2024 16:08:35
PQ. Ошибка "При вычислении возникло переполнение стека"
 
voler83, Спасибо.
Этим же способом решил проблему.

зы: Но, как то странно, что List.Last не может вернуть последнее значение
PQ. Ошибка "При вычислении возникло переполнение стека"
 
Добрый день. List.Generate возвращает список, из которого нужно взять последнее значение
Проблема в том, что методы List.Last или спиcок{count} возвращают ошибку "При вычислении возникло переполнение стека"
Прошу оказать помощь в решении проблемы
Спасибо.
DAX. Мера вычисления среднедневных продаж в разных контекстах
 
Alex, Спасибо огромное, все заработало как надо.
DAX. Мера вычисления среднедневных продаж в разных контекстах
 
Не получилось адаптировать предложенные варианты  решения к "рабочему примеру"
Приложил второй тестовый пример (упрощенный "рабочий")
на листе Этапы расчета - представил этапы расчета.
ps  количество дней для разных филиалов и одинаковых sku может быть разным, в т.ч. меняться в зависимости от даты
Прошу оказать помощь
спасибо.
Изменено: Neostt - 14.05.2024 15:31:07
DAX. Мера вычисления среднедневных продаж в разных контекстах
 
surkenny, Спасибо
DAX. Мера вычисления среднедневных продаж в разных контекстах
 
Цитата
написал:
так?
Спасибо.
идею понял, буду пробовать
DAX. Мера вычисления среднедневных продаж в разных контекстах
 
Добрый день.
Есть таблица продаж за период в разрезе позиций и подразделений.
В PQ к таблице подтянул кол-во дней когда позиция была доступна для продаж.
Получившуюся таблицу передал в модель данных.
Возникла сложность в написании универсальной меры вычисления среднедневных продаж в разных контекстах.
В контексте кода написанная мной мера возвращает корректные данные, в остальных контекстах нет.
Иными словами:

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


Прошу оказать помощь.
Пример во вложении.
PQ. Самый быстрый метод расчета нарастающего итога.
 
surkenny, понял, спасибо.
PQ. Самый быстрый метод расчета нарастающего итога.
 
Добрый день.
Может кто разбирал данную проблему и сможет подсказать.
Интересует самый оптимальный метод расчета (самый быстрый) нарастающего итога в PQ.
Я использую List.Sum(List.Range(list_zaps, 0, [Индекс])).
Есть иные методы, которые позволят ускорить вычисление?
Спасибо.
Распределение количество по строкам исходя из их доли и ограничений мин и макс.
 

Добрый день.

Есть задачка распределить потребность в 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, Разобрался..... Спасибо.
Страницы: 1 2 3 4 5 6 След.
Наверх