Страницы: 1
RSS
PQ Получить первый день недели зная Год и Номер недели
 
Приветствую
Есть два столбца Год+Номер недели.
Подскажите, как можно вычислить первый день недели?
Благодарю!  
 
Vsevolod, для расчета, начиная со второй недели
Код
let a = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content] 
in  Table.AddColumn(a,"c", each let a=#date([a],1,1),b=Date.DayOfWeek(a),
    c=Date.AddWeeks(a,[b]-1) in #date([a],Date.Month(c),Date.Day(c)-b))
 
Цитата
Vsevolod написал:
Номер недели
а номер по ГОСТ или ИСО?
Соблюдение правил форума не освобождает от модераторского произвола
 
Простите, что сразу не выложил фаил примера.
Не могу разобраться с формулой, пишет error. Можете пожалуйста помочь?

Благодарю!
 
Добрый день
Код
= let
    x = (y,w)=>
        let 
            a = Date.StartOfWeek(Date.From("10.01."&Text.From(y),"ru")),
            b = Date.AddWeeks(a,w-Date.WeekOfYear(a)) 
        in 
            b
in
    x(2020,20)
 
Цитата
Vsevolod написал:
пишет error
В вашей таблице имена столбцов не совпадают с именами в запросе.
Надо в таблице изменить имена столбцов.
Два столбца в таблице - "a" и "b"
 
buchlotnik, номер недели стандарт как все онлайн сервисы выдают - первая неделея 1 последня N
Михаил Л, да так и сделал в исходной таблице столбцы a и b. Вижу что c добавляет сам код, но не могшу понять из-за чего ошибка
An error occurred in the ‘’ query. Expression.Error: The field 'c' already exists in the record.
Details:
   Name=c
   Value=
Фаил с исправленными столбцами прикрепил
 
Цитата
Vsevolod написал:
стандарт как все онлайн сервисы выдают - первая неделея 1 последня N
я имел ввиду другое - какая неделя является первой, та, на которой первое число, или та, на которой четверг (это по ГОСТ)
сравните:
Код
let 
    from = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    ver1 = Table.AddColumn(from,"fn1", each fn1([a],[b])),
    ver2 = Table.AddColumn(ver1, "fn2", each fn2([a], [b])),
    to = Table.AddColumn(ver2, "test", each [fn1]=[fn2])
in
    to

//fn1
(y,w)=> Date.StartOfWeek(#date(y,1,1)+#duration(7*(w-1),0,0,0))

//fn2
(y,w)=> Date.StartOfWeek(#date(y,1,4)+#duration(7*(w-1),0,0,0))
Изменено: buchlotnik - 02.06.2020 20:58:21
Соблюдение правил форума не освобождает от модераторского произвола
 
Цитата
Vsevolod написал:
столбцы a и b. Вижу
Понажимайте на кнопку  
Страницы: 1
Наверх