Я пишу эту формулу с помощью BusinessObjects DeskI, но она возвращает синтаксическую ошибку. Это моя формула:Синтаксис формулы BusinessObjects
=IF(length(<Dt_Credit>=0) then <Dt_Credit>=(TODATE("01011900","ddMMyyyy"))
ELSE <DT_Credit>
Я пишу эту формулу с помощью BusinessObjects DeskI, но она возвращает синтаксическую ошибку. Это моя формула:Синтаксис формулы BusinessObjects
=IF(length(<Dt_Credit>=0) then <Dt_Credit>=(TODATE("01011900","ddMMyyyy"))
ELSE <DT_Credit>
В вашей формуле много неправильного. Давайте разложим его:
=IF (length(<Dt_Credit>=0)
then <Dt_Credit>= (
TODATE("01011900","ddMMyyyy")
)
ELSE <DT_Credit>
Во-первых, у вас нет закрывающей круглой скобки. Скобки не требуются в If/Then, поэтому вы можете просто отбросить ее после If
. Вам также не нужны скобки вокруг функции ToDate
. Итак, мы имеем:
=IF length(<Dt_Credit>=0)
then <Dt_Credit> = TODATE("01011900","ddMMyyyy")
ELSE <DT_Credit>
Далее вы делаете задание на <Dt_Credit>
объекта в формулу, что невозможно. Таким образом, мы будем считать, что из:
=IF length(<Dt_Credit>=0)
then TODATE("01011900","ddMMyyyy")
ELSE <DT_Credit>
Далее, я предполагая, что<Dt_Credit>
на самом деле является Date
объектом, а не Number
. Если это так, то функция Length()
не будет работать, поскольку она не принимает даты в качестве параметров. Если вы тестируете на пустой <Dt_Credit>
, то вы должны использовать вместо IsNull()
:
=IF IsNull (<Dt_Credit>)
then TODATE("01011900","ddMMyyyy")
ELSE <DT_Credit>
Наконец, я предполагаю, что вы используете DeskI. Если это WebI, то синтаксис немного отличается. Замените <> на [].
Большое вам спасибо, я очень благодарен – hollyx