Add a "FIRSTNONBLANK()" function that will evaluate each of the arguments and return the first one that is not blank. This would allow for formulas like the following to be greatly simplified and potentially better performing: Example 1: IF ISNOTBLANK( line item A) THEN line item A ELSE IF ISNOTBLANK( line item B) THEN line item B ELSE IF ISNOTBLANK( line item C) THEN line item C ELSE default value Alternative with a FIRSTNONBLANK() function: FIRSTNONBLANK( line item A, line item B, line item C, default value) In the case above, the performance difference is probably not that much, but it is much simpler. But here is an example where the the performance difference could be significant IF ISNOTBLANK(FINDITEM( list, code 1)) THEN FINDITEM( list, code 1) ELSE IF ISNOTBLANK(FINDITEM( list, code 2)) THEN FINDITEM( list, code 2) ELSE IF ISNOTBLANK(FINDITEM( list, code 3)) THEN FINDITEM( list, code 3) ELSE BLANK Here the FINDITEM is potentially being done twice when it is found. This formula can be greatly simplified and improved from a performance standpoint if there were a FIRSTNONBLANK() function: FIRSTNONBLANK(FINDITEM( list, code 1), FINDITEM( list, code 2), FINDITEM( list, code 3))
... View more
A model will save after 60 or 600 seconds of changes have accumulated depending on factors such as "Model in deployed mode" or "6 or more users active on the model". The saves happen when necessary changes accumulate. And can disrupt the users on the model. Depending on the size of the model, this could be a minute or more. It would be nice to be able to trigger the model save during periods of model inactivity. That way the number of model saves that happen while the model is being used are reduced. There are several ways this could work: 1) Automatic: Right before the model is unloaded because of inactivity, it should go ahead and do a model save, processing all changes, and setting the counter of saves back to 0. That way when the model opens, it has the most time before performing another save. 2) Scheduled: Be able to configure periods of time where model saves would not disrupt end users. When this time starts, all model saves are processed. And right before this period is over, all model saves are processed again. The goal of this request is to avoid model saves while users are on the model.
... View more