nilanjana2012 --
So, there are a bunch of string functions and math functions available inside NX now... These are found very near the spreadsheet functions you've mentioned:
There are also some new spreadsheet functions in NX 9 that might be of interest. In particular, [tt]ug_read_list()[/tt] and [tt]ug_read_fixed_list()[/tt] are quite similar to the OFFSET and INDEX function you mentioned.
There is a [tt]position()[/tt] function in KF that is very similar to MATCH, but the answer it returns when it
can't find a match in the list doesn't play very well with expressions, so I always either formulate the problem differently (to use the [tt]nth()[/tt] function, for instance) or make sure my logic and options are rock-solid.
For ADDRESS, I just use normal string operations to do this, because the cell references in the NX spreadsheet functions are just strings. And you can concatenate strings with the "plus" operator like this:
[pre]row = "12"
column = "C"
address = column + row = "C12"[/pre]
As for logical functions... While Excel uses functions for logical operations, NX uses key words and/or operators within expression formulas. For instance, you would set up the basic [tt]if-then-else[/tt] pattern like this:
[pre]if (height >= 12) then (6) else (2)[/pre]
...and you can build up more complex statements using the "pipe" symbol (|) to represent "or" and the "ampersand" symbol (&) to represent "and", like this:
[pre]if ( ( (height > 12) & (height <= 48) ) | (width < 1) ) then (6) else (2)[/pre]
...or...
[pre]if ( ( (height > 12) & (height <= 48) ) ) then (6) else if (width < 1) then (1) else (3)[/pre]
And you can get very creative with these logical statements, up to about 1000 characters. Customers do some amazing things here.
Does this help?
And as John mentions, you certainly have the option of adding to the function list, using a bit of Knowledge Fusion programming. (In fact, now that I think about it, the "rounding functions" and "tba_excel_calc" categories in the image above are both custom sets of functions.) Knowledge Fusion has some ODBC database access functionality that might be of use to you here, if that's really critical. And of course, once you make the leap into customization programming, you could also start to leverage .NET, Java, C++ etc. if needed.
I'm curious about the specific workflow you're trying to accomplish here, and/or the
new DesignLogic functions you need to perform these things. Can you tell us more?
Taylor Anderson
NX Product Manager, Knowledge Reuse and NX Design
Product Engineering Software
Siemens Product Lifecycle Management Software Inc.
(Phoenix, Arizona)