Страницы: 1
RSS
PQ. EACH IF несколько условий, Подправьте, пожалуйста, формулу. Я не могу понять ошибку. Спасибо.
 
let
   Источник = Списание,
   #"Удаленные столбцы" = Table.RemoveColumns(Источник,{"Неделя"}),
   #"Условный столбец добавлен" = Table.AddColumn(#"Удаленные столбцы", "Неделя",
   each if
   [Дата] <= #date(2023, 9, 30) then "2023" or
   [Дата] >= #date(2023, 10, 1) then "01.10-12.10" or
   [Дата] >= #date(2023, 10, 13) then "13.10-22.10" or
   [Дата] >= #date(2023, 10, 23) then "23.10-29.10" or
   [Дата] >= #date(2023, 10, 30) then "30.10" or
   [Дата] >= #date(2023, 11, 1) then "01.11-10.11"
   else null)
in
   #"Условный столбец добавлен"
 
Ольга Помогаева, доброго времени суток!
Попробуйте вместо or написать else if.
 
ошибку не выдало,
но вернуло только второе значение , остальные условия PQ проигнорировал

прикрепляю файл.

благодарю за помощь


let
   Источник = Списание,
   #"Удаленные столбцы" = Table.RemoveColumns(Источник,{"Неделя"}),
   #"Условный столбец добавлен" = Table.AddColumn(#"Удаленные столбцы", "Неделя",
   each if
   [Дата] <= #date(2023, 9, 30) then "2023" else if
   [Дата] >= #date(2023, 10, 1) then "01.10-12.10" else if
   [Дата] >= #date(2023, 10, 13) then "13.10-22.10" else if
   [Дата] >= #date(2023, 10, 23) then "23.10-29.10" else if
   [Дата] >= #date(2023, 10, 30) then "30.10" else if
   [Дата] >= #date(2023, 11, 1) then "01.11-10.11"
   else null)
in
   #"Условный столбец добавлен"
Изменено: Ольга Помогаева - 21.11.2023 12:39:10
 
Ольга Помогаева, обратите внимание на ваши условия,
Например дата 8.11.2023 больше и 01.10 и  01.11, а поскольку первое условие стоит 01.10 то на нем перебор условий и останавливается.
В вашем случае надо поставиь условие 01.11 раньше 01.10  .



 
   
 
Ольга Помогаева
Код
let
    Источник = Excel.CurrentWorkbook(){[Name="_4КВ2023__2"]}[Content],
    #"Измененный тип" = Table.TransformColumnTypes(Источник,{{"Дата", type date}}),
    #"Условный столбец добавлен" = Table.AddColumn(#"Измененный тип", "Неделя", each if
        [Дата] >= #date(2023, 11, 1) then "01.11-10.11" else if
        [Дата] >= #date(2023, 10, 23) then "23.10-29.10" else if
        [Дата] >= #date(2023, 10, 13) then "13.10-22.10" else if
        [Дата] >= #date(2023, 10, 30) then "30.10" else if
        [Дата] >= #date(2023, 10, 1) then "01.10-12.10" else
        "2023")
in
    #"Условный столбец добавлен"
Пришелец-прораб.
 
Может, я изначально неверным пошла путем? Я просто другого способа не нашла.
Надо вот такие условия:
До 2023 года = 2023
с 01.10.2023 по 12.10.2023 = 01.10-12.10
с 13.10.2023 по 22.10.2023 = 13.10-22.10 и т.д.

и это только 2 месяца: октябрь и ноябрь, по остальным месяцам нормальные недели
 
AlienSx, спасибо! сейчас попробую! точно else 2023
 
Цитата
Ольга Помогаева написал:
точно else 2023
все согласно вашим первоначальным условиям, которые надо было просто расставить в обратном порядке (о чем, собственно, вам выше написал Lari)
Изменено: AlienSx - 21.11.2023 16:11:23
Пришелец-прораб.
 
Lari, AlienSx, спасибо Вам большое.
Все получилось. И формулу теперь поняла.
Страницы: 1
Наверх