February 24, 200520 yr Hi Is it possible to use the or operator in in calculations? So if you have a calculation like this... If( Status(CurrentUserName) = "James" or Status(CurrentUserName) = "John", "True", "False") I've just tried it and it doesn't seem to be working. I realise I could use Case() rather than nested If() statements, and I am doing so in the meantime. But I just wondered why I couldn't get it to work. Any ideas? Thanks Batfastad
February 24, 200520 yr Hi, indeed it is possible and your calc is correct. One thing to ensure is your calculation is not stored.
February 24, 200520 yr You can use "or" and any one of the logical operators with If(), Case() or any other function. It helps to remember that in FMP, True is 1, and False is 0. This allows some neat shortcuts in calcs, e.g. instead of: Case ( a = b ; number ; 0 ) you can write: number * ( a = b )
February 24, 200520 yr Author Yeah I think I may have forgotten to switch the calculation to unstored. Is there a limit to the number of 'or' operators you can have in an expression? If(Name = "John" or Name = "James" or Name = "Mike" or Name = "Barry", "true", "false") Thanks Batfastad
February 24, 200520 yr There's no limit that I know of, but it does get tiresome, so at some point you'd want to switch to PatternCount() or Position(), e.g. Case ( Position ( "John James Mike Barry" , Name, 1 , 1 ) , "true" , "false" )
February 24, 200520 yr Author So doing... Position("John James Nick Barry" Having the space in there in effect does the 'or' bit? How does that work? Why doesn't it search the field for the text "John James Nick Barry" all in one string? Thanks Batfastad
February 24, 200520 yr It searches the string for the field, not the other way around (see the Position() syntax in FMP help). The space is there to prevent a false match, e.g. "PeterRyanNellie" are false match for Terry and Anne.
February 24, 200520 yr Author Ah so the position returned, is the position in string, not the position in field of the string. Never realised that and I've been using Position() for years.
February 24, 200520 yr It depends - you could have: Position ( field1 ; field2 ; 1 ; 1 ) To put it in general: Position ( textToSearchIn ; stringToSearchFor ; start; occurrence )
Create an account or sign in to comment