Как я могу получить дневной период от номера недели - PullRequest
0 голосов
/ 14 апреля 2019

Я новичок в Spotfire. У меня проблема с получением следующего вычисленного значения в текстовой области:

Неделя № 16: 14-21 апреля 2019 г.

Мне нужно, чтобы эта неделя изменилась автоматически, когда наступит 17-я неделя.

Я понял, как получить номер недели, но я не знал, как получить соответствующий период дня.

Я использовал следующее выражение, чтобы получить «16», то есть номер недели

week(DateTimeNow())

Я не могу понять, как получить следующую часть: 14-21 апреля 2019 года

Любая помощь высоко ценится.

1 Ответ

1 голос
/ 18 апреля 2019

Это не очень просто, но при условии, что вы можете принять сокращенное форматирование месяца (например, «апрель» вместо «апрель»), тогда это будет работать. Я добавил дополнительную логику для работы с неделями, которые пересекают 2 месяца (например, «Неделя № 18: 28 апреля-5 мая»)

case  when Month(DateAdd("day",-dayofweek(datetimenow()),datetimenow()))=Month(DateAdd("day",7 - dayofweek(datetimenow()),datetimenow())) then 
        Concatenate("Week #",Week(datetimenow()),": ",Month(datetimenow())," ",DayOfMonth(DateAdd("day",-dayofweek(datetimenow()),datetimenow())),"-",DayOfMonth(DateAdd("day",7 - dayofweek(datetimenow()),datetimenow())))
else 
    Concatenate("Week #",Week(datetimenow()),": ",Month(DateAdd("day",-dayofweek(datetimenow()),datetimenow()))," ",DayOfMonth(DateAdd("day",-dayofweek(datetimenow()),datetimenow())),"-",Month(DateAdd("day",7 - dayofweek(datetimenow()),datetimenow()))," ",DayOfMonth(DateAdd("day",7 - dayofweek(datetimenow()),datetimenow()))) 
end
...