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

Страницы: 1
Доработка постановки задачи оптимизации ( добавление условий на равномерность работы)
 
Добрый день !

Есть задача по определению оптимального графика работы оборудования, задача сформулированна в рамках ЛП и решается через OpenSolver.
Необходимо доработать модель добавив условия на минимальное время работы и минимальный простой после работы. Без этих условий  полученные решения не подходят.
Станок 1Станок 2
вкл/отклвкл/откл
10
01
01
01
10
10
01
01
01
10
01
10
10
01
01
10
01
01
10
10
01
10
01
01
Минимальный простой после работы - между интервалами работы должно пройти не m часов.
Минамальное время работы- если станок включился в работу должен отработать n часов.
Задание ограничений на время простоя/ работы при решении задачи оптимизации
 
Добрый день.

При решении задачи оптимизации вылезла проблема не равномерности работы оборудования, включение/отключение через короткие промежутки.
Как в рамках задачи ЛП сформулировать следующие условия:
1. простой должен быть не менее 4 часов.
2. включение должно производится на период не менее 3 часов подряд  
Изменено: Александр E - 04.02.2022 10:27:19
DAX Мера по распределению склада между отделами
 
Спасибо Огромное !
Все отлично работает!

З.Ы
Пробую разбить на отдельные переменные, ничего не работает, при этом все вместе работает как надо .
Как сохранить контекст вычислений  при разбивке на отдельные переменные, или меру в данном варианте ее нельзя разделить?  
Код
KPI :=

var dann = SUMMARIZE (        'Таблица1';
        'Таблица1'[Магазин];
        'Таблица1'[Отдел];
        'Таблица1'[Дата];
        'Таблица1'[Время])

var Logic = AND (  SUM ( 'Таблица1'[Склад] ) > 0;
                MIN ( 'Таблица1'[Цены] )
                    = CALCULATE ( MIN ( 'Таблица1'[Цены] ); ALL ( 'Таблица1'[Отдел] ) )

var LogColum = IF ( Logic  ;  1  )

var Result =SUMX (
    dann
    );
    CALCULATE ( LogColum  )
)
Return 
Result
Изменено: Александр E - 21.12.2021 10:04:09
DAX Мера по распределению склада между отделами
 
Добрый день !

Просьба помочь с созданием следующей меры.

Есть таблица  с разбивкой по магазинам/ отделам ,  в которой указаны цены и запасы склада.
На уровне часа мера должна проверять , находится ли склад в магазина отделе с минимальной ценой , если да 1 , если нет 0. И на уровне суток и выше суммировать значения.  
DAX мера по подсчету числа часов выполнения плана
 
Добрый вечер!
спасибо большое. Утром проверю.
p.s как сложно реализуется последний шаг. Даже не предполагал что все так развернется.

p.s.s Проверил все отлично работает.
Еще раз большое спасибо.
Изменено: Александр E - 07.11.2021 01:37:27
DAX мера по подсчету числа часов выполнения плана
 
Добрый день !

Просьба подсказать как доработать  следующий Меру.
Есть данные по продажам и планам, с разбивкой по отделам. Необходимо подсчитать число часов выполнения плана по магазину (план считается выполненным когда его выполнили все отделы).
На уровне часов мера работает как надо, но на уровне суток не суммирует.
Как доработать меру чтобы она суммировала по суткам/месяцу и.т.д.?
Код
ВыпПланЧасы:=
Var PlanFact= FILTER('Таблица1';'Таблица1'[Продажи] = 'Таблица1'[План])
Var Rez1 = COUNTROWS(DISTINCT('Таблица1'[Отдел]))
Var Result = IF(DIVIDE(COUNTROWS(PlanFact);Rez1)=1;1;0)
RETURN
Result
Оптимальный выбор корзины из двух товаров, при наличии ограничений.
 
Спасибо за ответ. Попробую так решить.  
Оптимальный выбор корзины из двух товаров, при наличии ограничений.
 
Надо так выбрать товар Б,чтобы его сумма по строкам была минимальна при соблюдении ограничений от товара А.
название (может так понятнее):
Оптимальный выбор корзины из двух товаров, при наличии ограничений.
з.ы. я с такой задачей сталкиваюсь впервые и как она общепринято называется не знаю. Извиняюсь за корявое описание.  
Изменено: Александр E - 05.09.2021 20:42:23
Оптимальный выбор корзины из двух товаров, при наличии ограничений.
 
Добрый день!

Подскажите пожалуйста  алгоритм решения  следующей задачи.

Имеется два товара А и Б, взаимосвязанные между собой (т.е при покупке 100 ед товара А , покупаешь 5 ед товара Б). Необходимо набрать товара А не менее определенного значения (в примере 500), при минимальном объеме товара Б.
З.Ы В каждой строке должно быть выбрано значение (нельзя пропускать строки).  
Кусочно линейная интерполяция в Power Query.
 
В том то и дело, что в экселе  названия  интуитивно понятны, в PQ все по другому.
Но я пользователь так себе, дальше кнопок не хожу.
Кусочно линейная интерполяция в Power Query.
 
Огромное спасибо, очень помогло!
Немного переделал в функцию и как посоветовали замену функции поиску позиции List.PositionOf .
Код
= (fInterp)  =>
let
    ud =Table.SelectColumns(NormUd,{ "N" , "Oil"}) ,
   IndexRows =List.PositionOf( ud[N] , fInterp , null ,
(x , y )=> x>=y
 ),
out =   let l=List.Buffer( List.Combine( Table.ToColumns( Table.Range( ud, IndexRows-1, 2 ) ) ) )
           in ((l{3}-l{2})*fInterp+l{2}*l{1}-l{3}*l{0})/(l{1}-l{0})
in
  out

Работает на очень быстро.

З.Ы. А почему она называется   List.PositionOf  , а не List.FindOf , чтобы было понятно  что это функция поиска?
З.Ы.Ы. А в DAXсе как примерно это делается ?  
Кусочно линейная интерполяция в Power Query.
 
Добавил пример.
В экселе все довольно просто.Есть функция поискпоз, а дальше понятно, что делать.
В PQ не нашел аналога.  
Кусочно линейная интерполяция в Power Query.
 
Добрый день !

Есть ли смысл пытаться сделать кусочно-линейную интерполяцию в Power Query или легче перенести в эксель ?
Есть ли готовые модули для PQ?
Изменено: Александр E - 15.12.2020 17:27:48
Объединить столбцы таблицы с шагом
 
Добрый день !
Возникла следующая проблема.
Необходимо пройтись по таблице и объединить  столбцы  с заданным шагом.
Для одного шага сделал следующею формулу
Код
Table.ToList ( Table.SelectColumns(#"Измененный тип" , List.Range([ColumnNames] , 5 , 4) ) ,  Combiner.CombineTextByDelimiter("/")))

Как заставить ее отработать по всей таблице?
Power Query чтение zip/gz файлов ?
 
Цитата
Андрей VG написал:
Одной строкой - это только gzip, формат содержащий только один файл данных
Как раз мой вариант, подходит идеально.
Еще раз Спасибо!
Цитата
PooHkrd написал:
движок форума поддерживает только архивы форматов zip и rar
Понял. Я уже было подумал, файл прикреплять разучился.  
Power Query чтение zip/gz файлов ?
 
Гениально ! одной строкой!
Спасибо все заработало ! И как все просто оказывается.
Power Query чтение zip/gz файлов ?
 
Возможно ли чтение за архивированных файлов типа приложенного в  Power Query?

PS В интернете нашел функции типа этой , но она возражает ошибку
Код
letSource = File.Contents(“C:\Users\User\Dropbox\Apps\Pythonista Sync99\parsing word\Hyperlinks.zip”),MyBinaryFormat = BinaryFormat.Record([MiscHeader=BinaryFormat.Binary(18),
FileSize=BinaryFormat.ByteOrder(BinaryFormat.UnsignedInteger32, ByteOrder.LittleEndian),
UnCompressedFileSize=BinaryFormat.Binary(4),
FileNameLen=BinaryFormat.ByteOrder(BinaryFormat.UnsignedInteger16, ByteOrder.LittleEndian),
ExtrasLen=BinaryFormat.ByteOrder(BinaryFormat.UnsignedInteger16, ByteOrder.LittleEndian),
TheRest=BinaryFormat.Binary()]),MyCompressedFileSize = MyBinaryFormat(Source)[FileSize]+1,
MyFileNameLen = MyBinaryFormat(Source)[FileNameLen],
MyExtrasLen = MyBinaryFormat(Source)[ExtrasLen],MyBinaryFormat2 = BinaryFormat.Record([Header=BinaryFormat.Binary(30), Filename=BinaryFormat.Binary(MyFileNameLen), Extras=BinaryFormat.Binary(MyExtrasLen), Data=BinaryFormat.Binary(MyCompressedFileSize), TheRest=BinaryFormat.Binary()]),GetDataToDecompress = MyBinaryFormat2(Source)[Data],
DecompressData = Binary.Decompress(GetDataToDecompress, Compression.Deflate),
#”Imported XML” = Xml.Tables(DecompressData),
in
#”Imported XML”
[CODE][/CODE]

PSS Почему не дает прицепить файл ? он 1кбт весит?
Изменено: Александр E - 02.08.2020 16:40:48
Смешанные данные в столбце: числа и Table в Power Query.
 
Цитата
buchlotnik написал:  приложите файл-пример
тут такое дело. Пример будет считывать реальный файл xml, который показывать нельзя. А как его обезличить, я не понимаю.

Цитата
Андрей VG написал: Если поместить в google translate "table transform columns", то получим "столбцы преобразования таблицы". Если чуть подумать, то получим перевод Таблица - преобразовать столбцы. Каким образом можно было прийти к "создание столбца"?
Ааа затупил!!!. Похоже это как раз то , что нужно. С утра попробую.
Спасибо!
Смешанные данные в столбце: числа и Table в Power Query.
 
Добрый день!

Я правильно понимаю, что
dann = #table( {"dann"} , {1} , {#table({"f1"},{})} , {#table({"f1"},{{ }})} }), это блок моделирования данных и он не обязателен?

getValue = ( item) => if Value.Is ( item , Table.Type ) then Table.ToRows(item){ 0 } { 0 }  else item  - это если значение таблица берем первый элемент таблицы иначе значение?  

result = Table.TransformColumns ( dann , { "dann" , getValue }) - это создание столбца dann ?
Смешанные данные в столбце: числа и Table в Power Query.
 
Доброй день!
При импорте данных из .xml в части столбцов смешиваются значения и Table, если открывать в Excel то все читается корректно.
В  частности столбец  Dann содержит как значения, так и тип Table. При этом в Table встречаются как пустые таблицы, так и одно значение.
Как раскрыть/получить  значениеTable из в столбце?
З.Ы Решил это с помощью данной функции. Можно решить  это проще (столбцов несколько и применять к каждому не самое оптимальное решение ) ?  
Код
let
    Источник = (ColumPath) =>
let 
Result = if try  Table.IsEmpty(ColumPath) otherwise Value.Is( ColumPath, type  number) then
        0
    else 

    try Record.FieldValues(ColumPath{0}){0} otherwise ColumPath,

Result2 =Number.From(Result  )

in 
Result2
in
    Источник
 
Изменено: Александр E - 30.07.2020 03:15:18
Загрузка файлов из папки Power Query с фильтрацией по времени создания для файлов текущей даты
 
Помогло! Спасибо. Не понятно как но помогло!
А. Нет на полных данных не всегда работает.
Изменено: Александр E - 27.07.2020 07:55:25
Загрузка файлов из папки Power Query с фильтрацией по времени создания для файлов текущей даты
 
Добрый ночи!
Как отфильтровать столбец "fileDate" по самой поздней дате создания "Date created", что бы избавиться от дубликатов в первом столбце?
Изменено: Александр E - 27.07.2020 04:13:36
Страницы: 1
Наверх