Добрый день. Помогите, пожалуйста, разобраться вот с этой проблемой. Дело в том, что необходимо объединить столбцы в отдельный столбец по условию. Если Значение в столбце "Внешний код (доп.) не равно null, а значение в столбце "Распределение по размерам" 38 и больше, то эти значения объединяются с разделителем "-" в центре должны быть значения из столбца "Цвет (основной)". Пример: 0908000017-коричневый-38. Во всех остальных случаеях объединяется значение из столбца "Внешний код", Цвет (основной), Распределение по размерам через разделитель "-". К сожалению, функционал, который имеется в PQ не позволяет это сделать, не зная язык формул. На скрине формула, которой пытаюсь сделать это.
Добрый день. Помогите, пожалуйста, разобраться вот с этой проблемой. Дело в том, что необходимо объединить столбцы в отдельный столбец по условию. Если Значение в столбце "Внешний код (доп.) не равно null, а значение в столбце "Распределение по размерам" 38 и больше, то эти значения объединяются с разделителем "-" в центре должны быть значения из столбца "Цвет (основной)". Пример: 0908000017-коричневый-38. Во всех остальных случаеях объединяется значение из столбца "Внешний код", Цвет (основной), Распределение по размерам через разделитель "-". К сожалению, функционал, который имеется в PQ не позволяет это сделать, не зная язык формул. На скрине формула, которой пытаюсь сделать это.elycioo
И так. Смог разобраться что необходимо сделать. Вот формула, которой пользовался.
if [#"Внешний код (доп.)"]<>null and [Числ Распределение по размерам]>=38 then Combiner.CombineTextByDelimiter("-")({[#"Внешний код (доп.)"], [#"Цвет (основной)"], [Распределение по размерам]}) else Combiner.CombineTextByDelimiter("-")({[Внешний код], [#"Цвет (основной)"], [Распределение по размерам]})
Для этого добавил настраиваемый столбец с данной формулой. Пред этим создал дубликат столбца Распределение по размерам и назвал его Числ Распределение по размерам, а также перевел его в числ. значение, чтобы формула могла сравнить число, так как текст она не сравнивает. В свою очередь столбик Распределение по размерам оставил в текстовом формате, так как для объединения текстовых значений, необходимо, чтобы было текстовое значение. На фото тот вариант, который получился.
И так. Смог разобраться что необходимо сделать. Вот формула, которой пользовался.
if [#"Внешний код (доп.)"]<>null and [Числ Распределение по размерам]>=38 then Combiner.CombineTextByDelimiter("-")({[#"Внешний код (доп.)"], [#"Цвет (основной)"], [Распределение по размерам]}) else Combiner.CombineTextByDelimiter("-")({[Внешний код], [#"Цвет (основной)"], [Распределение по размерам]})
Для этого добавил настраиваемый столбец с данной формулой. Пред этим создал дубликат столбца Распределение по размерам и назвал его Числ Распределение по размерам, а также перевел его в числ. значение, чтобы формула могла сравнить число, так как текст она не сравнивает. В свою очередь столбик Распределение по размерам оставил в текстовом формате, так как для объединения текстовых значений, необходимо, чтобы было текстовое значение. На фото тот вариант, который получился.elycioo
Text.Combine({if [#"Внешний код (доп.)"]<>null and [Числ Распределение по размерам]>=38 then [#"Внешний код (доп.)"] else [Внешний код],[#"Цвет (основной)"], [Распределение по размерам]},"-")
[/vba] а вообще, конечно, неплохо бы файл показывать
Text.Combine({if [#"Внешний код (доп.)"]<>null and [Числ Распределение по размерам]>=38 then [#"Внешний код (доп.)"] else [Внешний код],[#"Цвет (основной)"], [Распределение по размерам]},"-")
[/vba] а вообще, конечно, неплохо бы файл показыватьпрохожий2019
Сообщение отредактировал прохожий2019 - Понедельник, 14.11.2022, 15:51