Consolidation

Another problem is making sure you choose the most appropriate control mechanism to achieve the end goal. Most individual mechanisms can implement the same behavior in one way or the other. However, some may require much less computational logic.

An example of this is that a DCV can contain a boaUserID, which can allow for a cell to be controlled exclusively off of the boaUserID. For instance:

SELECT boaUserSel.[UserID] as boaUserID,

[Table].[KeyField],

CASE WHEN boaUserSel.[UserID] like ‘a%’ THEN 1 ELSE 0 END as [ControlledField]

FROM [Table] CROSS JOIN boaUserSel

Instead of a DCV, this should be a UCV, which would reduce the logic to

SELECT boaUserSel.[UserID] as boaUserID,

‘ControlledField’ as boaColumn,

CASE WHEN boaUserSel.[UserID] like ‘a%’ THEN 1 ELSE 0 END as [boaControlStatus]

FROM boaUserSel

This would result in the pages performance scaling linearly against the applications User count, as opposed to a multiplication of Users * Table Data.