Skip to main content
Announcements
SYSTEM MAINTENANCE: Thurs., Sept. 19, 1 AM ET, Platform will be unavailable for approx. 60 minutes.
cancel
Showing results for 
Search instead for 
Did you mean: 
vikasgupta
Creator
Creator

GetCurrentField optimization

The following  script is used as conditional expression in table  (10 column)  due to this expression sheet is running very slow and some time crash so can any one suggest how can i improve this ? The size of this application is 1.4 GB. means 4 years transaction records.

if(min({1} TOTAL QV_ACCESS_LEVEL) < 3,

if(

    GetCurrentField([Sales_Dashboard_Group]) = 'OWNED'

    OR GetCurrentField([Sales_Dashboard_Group]) = 'TYPE'

    OR GetCurrentField([Sales_Dashboard_Group]) = 'CODE'

    OR GetCurrentField([Sales_Dashboard_Group]) = 'NAME'

    OR GetCurrentField([Sales_Dashboard_Group]) = 'STATE'

    OR GetCurrentField([Sales_Dashboard_Group]) = 'MARKET_NAME',

    1,

    0

),

if(

    GetCurrentField([Dashboard-Group]) = 'OWNED'

    OR GetCurrentField([Dashboard-Group]) = 'TYPE'

    OR GetCurrentField([Dashboard-Group]) = 'CODE'

    OR GetCurrentField([Dashboard-Group]) = 'NAME'

        OR GetCurrentField([Dashboard_Group]) = 'STATE'

    OR GetCurrentField([Dashboard-Group]) = 'MARKET_NAME',

    1,

    0

)

)

Thanks

Vikas

2 Replies
Sokkorn
Master
Master

Hi Vikas,

Maybe like this

if(min({1} TOTAL QV_ACCESS_LEVEL) < 3,

if(

    Match(GetCurrentField([Sales_Dashboard_Group]),'OWNED','TYPE','CODE','NAME','STATE','MARKET_NAME'),

    1,

    0

),

if(

    Match(GetCurrentField([Dashboard-Group]),'OWNED','TYPE','CODE','NAME','STATE','MARKET_NAME'),

    1,

    0

)

)

Regards,

Sokkorn

Anonymous
Not applicable

The GetCurrentSelections functions can be turned into variables:

vSalesDashboardGroup  = if(Match(GetCurrentField([Sales_Dashboard_Group]),'OWNED','TYPE','CODE','NAME','STATE','MARKET_NAME'),1,0)

vDashboardGroup =

if(Match(GetCurrentField([Dashboard-Group]),'OWNED','TYPE','CODE','NAME','STATE','MARKET_NAME'),1,0)

These can then be used without them needing to be recaculated multiple times:

if(min({1} TOTAL QV_ACCESS_LEVEL) < 3,vSalesDashboardGroup,vDashboard-Group)

Jonathan