Warning that format rule status can be expensive and slow down your app's user experience

ISNOTBLANK(INTERSECT(LIST(“High”, “Middle”, “Low”), SELECT(Table[Status],[_THISROW].[ID] = [ID])))

I create format rules with this expression, but

"The condition of format rule 'Status Rule' may be expensive and slow the user experience of your app"

I'm getting a warning. What expression should I use to avoid getting the error?

0 7 241
7 REPLIES 7


@Pointer wrote:

SELECT(Table[Status],[_THISROW].[ID] = [ID])))


Since [ID] is mentioned in the expression, could you update if it is key column of the table and if so, will it return just [Status] value?

 

The correct [ID] column is the key column. But there is no ref row connection, there is an Enum ref connection.

There are two things that affect Format Rules.
1) How expensive your expression is
2) How powerful the device in which the app is running is

Try with a very simple format rule expression and see how it behaves in the device you are using the app, that could give you the baseline of how speedy will format rules work.


@Pointer wrote:

I'm getting a warning. What expression should I use to avoid getting the error?


Expressions that use SELECT() in general are the most intensive, because you are telling the system to check the "Status" column value of all records in "Table" and then just take the ones where "ID" equales "[_THISROW].[ID]".

Maybe you already have a [Related something] column, use that instead of checking all the records in the "Table" table

Since synchronization was slow, I changed the ref row columns to enum ref row, so there is no related table

That's a weird decision. If sync is affected, maybe your expression where not efficient in the first place.

Using related columns help a lot when using SELECT() expression that requires to just check children records

What would your suggestion be?

Top Labels in this Space