Variable : is a table that for each user contains his own data, the key is USEREMAIL
Var_V_ACCESS_L : is a virtual column that contains the list of module the user can access
This slice display for each user the modules he can access
When i test this slice, it works well. i’ve got this
@Stephane_Liema This is a known challenge with the combination of Slice & IN() and EnumList() which is causing this weird behavior… and that’s why it’s not working correctly. We have a fix for this, but we haven’t released it yet… and I’m afraid I don’t have exact timeline for it.
never see the problem (not notifice before I mean) in terms of In and Enumlis combination.
I m not exactly sure what the nature of the problem is, but we do a trick to convert IN expression into CONTAINS expression by flating down the list type of data. We applied IN expressoin to filter out the records on the security filter and other place, but after flatting down (convert to contains expression) it massively improved performance as well.
i suppose it is faster for the AppsheetEngine because
the where clause for the select is only ([Var_Mail_ID] = USEREMAIL()), and Var_Mail_ID is a unique key
and CONCATENATE, SPLIT and IN are i suppose very few time consuming.
I suppose also this :
SELECT(
Variable[Var_V_ACCESS_L],
([Var_Mail_ID] = USEREMAIL())
Is executed only once for all the table that i filter
For
FILTER(
“Variable”,
AND(
([Var_Mail_ID] = USEREMAIL()),
IN([_THISROW].[Mod_ID], [Var_V_ACCESS_L])
)
)
The where condition of the filter as to be executed for each row of my table to slice, because it use [_THISROW].[Mod_ID] in the where condition, and this value change for each row
Do you know if there is a debug tool on appsheet to check the time consuming, for me to compare and to choose the best script ?