Strategy SQL Generation Engine embeds security filters with the report filter. The security filter allows the administrator to set views for each user without having to create additional tables in the warehouse.
Security filters are created at the project level and users must apply the MDSecurityFilter interface.
The MDSecurityFilter:
Strategy Grandmaster Badges Receive a badge for being recognized as a Strategy Grandmaster. Former Strategy Grandmasters will also be recognized with an alumni badge. Community Influencer Badges Receive a badge for being recognized as a Community Influencer. Former Community Influencers will also be recognized with an alumni badge. DossBoss Badge Receive a badge for winning our monthly data visualization challenge, DossBoss. Learn more about the competition here. MethodDescriptionTypeBottomLevelA bottom level specifies the lowest analysis level that the security filter is applied.IDSSDimtyExpressionSecurity filter.IDSSExpressionInfoThe IDSSObjectInfo interface for the MD security filter.IDSSObjectInfoPopulate ( object as IDSSMDSecurityFilter)Populate this filter's value from an existing MD security filter. RootA shortcut to Expression.Root.IDSSNodeTopLevelA top level specifies the highest analysis level that the security filter is applied without changing the dimensionality of metrics. IDSSDimty | Strategy Grandmaster Badges Receive a badge for being recognized as a Strategy Grandmaster. Former Strategy Grandmasters will also be recognized with an alumni badge. Community Influencer Badges Receive a badge for being recognized as a Community Influencer. Former Community Influencers will also be recognized with an alumni badge. DossBoss Badge Receive a badge for winning our monthly data visualization challenge, DossBoss. Learn more about the competition here. MethodDescriptionTypeBottomLevelA bottom level specifies the lowest analysis level that the security filter is applied.IDSSDimtyExpressionSecurity filter.IDSSExpressionInfoThe IDSSObjectInfo interface for the MD security filter.IDSSObjectInfoPopulate ( object as IDSSMDSecurityFilter)Populate this filter's value from an existing MD security filter. RootA shortcut to Expression.Root.IDSSNodeTopLevelA top level specifies the highest analysis level that the security filter is applied without changing the dimensionality of metrics. IDSSDimty | Strategy Grandmaster Badges Receive a badge for being recognized as a Strategy Grandmaster. Former Strategy Grandmasters will also be recognized with an alumni badge. Community Influencer Badges Receive a badge for being recognized as a Community Influencer. Former Community Influencers will also be recognized with an alumni badge. DossBoss Badge Receive a badge for winning our monthly data visualization challenge, DossBoss. Learn more about the competition here. MethodDescriptionTypeBottomLevelA bottom level specifies the lowest analysis level that the security filter is applied.IDSSDimtyExpressionSecurity filter.IDSSExpressionInfoThe IDSSObjectInfo interface for the MD security filter.IDSSObjectInfoPopulate ( object as IDSSMDSecurityFilter)Populate this filter's value from an existing MD security filter. RootA shortcut to Expression.Root.IDSSNodeTopLevelA top level specifies the highest analysis level that the security filter is applied without changing the dimensionality of metrics. IDSSDimty |
Strategy Grandmaster Badges Receive a badge for being recognized as a Strategy Grandmaster. Former Strategy Grandmasters will also be recognized with an alumni badge. Community Influencer Badges Receive a badge for being recognized as a Community Influencer. Former Community Influencers will also be recognized with an alumni badge. DossBoss Badge Receive a badge for winning our monthly data visualization challenge, DossBoss. Learn more about the competition here. MethodDescriptionTypeBottomLevelA bottom level specifies the lowest analysis level that the security filter is applied.IDSSDimtyExpressionSecurity filter.IDSSExpressionInfoThe IDSSObjectInfo interface for the MD security filter.IDSSObjectInfoPopulate ( object as IDSSMDSecurityFilter)Populate this filter's value from an existing MD security filter. RootA shortcut to Expression.Root.IDSSNodeTopLevelA top level specifies the highest analysis level that the security filter is applied without changing the dimensionality of metrics. IDSSDimty | Strategy Grandmaster Badges Receive a badge for being recognized as a Strategy Grandmaster. Former Strategy Grandmasters will also be recognized with an alumni badge. Community Influencer Badges Receive a badge for being recognized as a Community Influencer. Former Community Influencers will also be recognized with an alumni badge. DossBoss Badge Receive a badge for winning our monthly data visualization challenge, DossBoss. Learn more about the competition here. MethodDescriptionTypeBottomLevelA bottom level specifies the lowest analysis level that the security filter is applied.IDSSDimtyExpressionSecurity filter.IDSSExpressionInfoThe IDSSObjectInfo interface for the MD security filter.IDSSObjectInfoPopulate ( object as IDSSMDSecurityFilter)Populate this filter's value from an existing MD security filter. RootA shortcut to Expression.Root.IDSSNodeTopLevelA top level specifies the highest analysis level that the security filter is applied without changing the dimensionality of metrics. IDSSDimty | Strategy Grandmaster Badges Receive a badge for being recognized as a Strategy Grandmaster. Former Strategy Grandmasters will also be recognized with an alumni badge. Community Influencer Badges Receive a badge for being recognized as a Community Influencer. Former Community Influencers will also be recognized with an alumni badge. DossBoss Badge Receive a badge for winning our monthly data visualization challenge, DossBoss. Learn more about the competition here. MethodDescriptionTypeBottomLevelA bottom level specifies the lowest analysis level that the security filter is applied.IDSSDimtyExpressionSecurity filter.IDSSExpressionInfoThe IDSSObjectInfo interface for the MD security filter.IDSSObjectInfoPopulate ( object as IDSSMDSecurityFilter)Populate this filter's value from an existing MD security filter. RootA shortcut to Expression.Root.IDSSNodeTopLevelA top level specifies the highest analysis level that the security filter is applied without changing the dimensionality of metrics. IDSSDimty |
Strategy Grandmaster Badges Receive a badge for being recognized as a Strategy Grandmaster. Former Strategy Grandmasters will also be recognized with an alumni badge. Community Influencer Badges Receive a badge for being recognized as a Community Influencer. Former Community Influencers will also be recognized with an alumni badge. DossBoss Badge Receive a badge for winning our monthly data visualization challenge, DossBoss. Learn more about the competition here. MethodDescriptionTypeBottomLevelA bottom level specifies the lowest analysis level that the security filter is applied.IDSSDimtyExpressionSecurity filter.IDSSExpressionInfoThe IDSSObjectInfo interface for the MD security filter.IDSSObjectInfoPopulate ( object as IDSSMDSecurityFilter)Populate this filter's value from an existing MD security filter. RootA shortcut to Expression.Root.IDSSNodeTopLevelA top level specifies the highest analysis level that the security filter is applied without changing the dimensionality of metrics. IDSSDimty | Strategy Grandmaster Badges Receive a badge for being recognized as a Strategy Grandmaster. Former Strategy Grandmasters will also be recognized with an alumni badge. Community Influencer Badges Receive a badge for being recognized as a Community Influencer. Former Community Influencers will also be recognized with an alumni badge. DossBoss Badge Receive a badge for winning our monthly data visualization challenge, DossBoss. Learn more about the competition here. MethodDescriptionTypeBottomLevelA bottom level specifies the lowest analysis level that the security filter is applied.IDSSDimtyExpressionSecurity filter.IDSSExpressionInfoThe IDSSObjectInfo interface for the MD security filter.IDSSObjectInfoPopulate ( object as IDSSMDSecurityFilter)Populate this filter's value from an existing MD security filter. RootA shortcut to Expression.Root.IDSSNodeTopLevelA top level specifies the highest analysis level that the security filter is applied without changing the dimensionality of metrics. IDSSDimty | Strategy Grandmaster Badges Receive a badge for being recognized as a Strategy Grandmaster. Former Strategy Grandmasters will also be recognized with an alumni badge. Community Influencer Badges Receive a badge for being recognized as a Community Influencer. Former Community Influencers will also be recognized with an alumni badge. DossBoss Badge Receive a badge for winning our monthly data visualization challenge, DossBoss. Learn more about the competition here. MethodDescriptionTypeBottomLevelA bottom level specifies the lowest analysis level that the security filter is applied.IDSSDimtyExpressionSecurity filter.IDSSExpressionInfoThe IDSSObjectInfo interface for the MD security filter.IDSSObjectInfoPopulate ( object as IDSSMDSecurityFilter)Populate this filter's value from an existing MD security filter. RootA shortcut to Expression.Root.IDSSNodeTopLevelA top level specifies the highest analysis level that the security filter is applied without changing the dimensionality of metrics. IDSSDimty |
Strategy Grandmaster Badges Receive a badge for being recognized as a Strategy Grandmaster. Former Strategy Grandmasters will also be recognized with an alumni badge. Community Influencer Badges Receive a badge for being recognized as a Community Influencer. Former Community Influencers will also be recognized with an alumni badge. DossBoss Badge Receive a badge for winning our monthly data visualization challenge, DossBoss. Learn more about the competition here. MethodDescriptionTypeBottomLevelA bottom level specifies the lowest analysis level that the security filter is applied.IDSSDimtyExpressionSecurity filter.IDSSExpressionInfoThe IDSSObjectInfo interface for the MD security filter.IDSSObjectInfoPopulate ( object as IDSSMDSecurityFilter)Populate this filter's value from an existing MD security filter. RootA shortcut to Expression.Root.IDSSNodeTopLevelA top level specifies the highest analysis level that the security filter is applied without changing the dimensionality of metrics. IDSSDimty | Strategy Grandmaster Badges Receive a badge for being recognized as a Strategy Grandmaster. Former Strategy Grandmasters will also be recognized with an alumni badge. Community Influencer Badges Receive a badge for being recognized as a Community Influencer. Former Community Influencers will also be recognized with an alumni badge. DossBoss Badge Receive a badge for winning our monthly data visualization challenge, DossBoss. Learn more about the competition here. MethodDescriptionTypeBottomLevelA bottom level specifies the lowest analysis level that the security filter is applied.IDSSDimtyExpressionSecurity filter.IDSSExpressionInfoThe IDSSObjectInfo interface for the MD security filter.IDSSObjectInfoPopulate ( object as IDSSMDSecurityFilter)Populate this filter's value from an existing MD security filter. RootA shortcut to Expression.Root.IDSSNodeTopLevelA top level specifies the highest analysis level that the security filter is applied without changing the dimensionality of metrics. IDSSDimty | Strategy Grandmaster Badges Receive a badge for being recognized as a Strategy Grandmaster. Former Strategy Grandmasters will also be recognized with an alumni badge. Community Influencer Badges Receive a badge for being recognized as a Community Influencer. Former Community Influencers will also be recognized with an alumni badge. DossBoss Badge Receive a badge for winning our monthly data visualization challenge, DossBoss. Learn more about the competition here. MethodDescriptionTypeBottomLevelA bottom level specifies the lowest analysis level that the security filter is applied.IDSSDimtyExpressionSecurity filter.IDSSExpressionInfoThe IDSSObjectInfo interface for the MD security filter.IDSSObjectInfoPopulate ( object as IDSSMDSecurityFilter)Populate this filter's value from an existing MD security filter. RootA shortcut to Expression.Root.IDSSNodeTopLevelA top level specifies the highest analysis level that the security filter is applied without changing the dimensionality of metrics. IDSSDimty |
Strategy Grandmaster Badges Receive a badge for being recognized as a Strategy Grandmaster. Former Strategy Grandmasters will also be recognized with an alumni badge. Community Influencer Badges Receive a badge for being recognized as a Community Influencer. Former Community Influencers will also be recognized with an alumni badge. DossBoss Badge Receive a badge for winning our monthly data visualization challenge, DossBoss. Learn more about the competition here. MethodDescriptionTypeBottomLevelA bottom level specifies the lowest analysis level that the security filter is applied.IDSSDimtyExpressionSecurity filter.IDSSExpressionInfoThe IDSSObjectInfo interface for the MD security filter.IDSSObjectInfoPopulate ( object as IDSSMDSecurityFilter)Populate this filter's value from an existing MD security filter. RootA shortcut to Expression.Root.IDSSNodeTopLevelA top level specifies the highest analysis level that the security filter is applied without changing the dimensionality of metrics. IDSSDimty | Strategy Grandmaster Badges Receive a badge for being recognized as a Strategy Grandmaster. Former Strategy Grandmasters will also be recognized with an alumni badge. Community Influencer Badges Receive a badge for being recognized as a Community Influencer. Former Community Influencers will also be recognized with an alumni badge. DossBoss Badge Receive a badge for winning our monthly data visualization challenge, DossBoss. Learn more about the competition here. MethodDescriptionTypeBottomLevelA bottom level specifies the lowest analysis level that the security filter is applied.IDSSDimtyExpressionSecurity filter.IDSSExpressionInfoThe IDSSObjectInfo interface for the MD security filter.IDSSObjectInfoPopulate ( object as IDSSMDSecurityFilter)Populate this filter's value from an existing MD security filter. RootA shortcut to Expression.Root.IDSSNodeTopLevelA top level specifies the highest analysis level that the security filter is applied without changing the dimensionality of metrics. IDSSDimty | Strategy Grandmaster Badges Receive a badge for being recognized as a Strategy Grandmaster. Former Strategy Grandmasters will also be recognized with an alumni badge. Community Influencer Badges Receive a badge for being recognized as a Community Influencer. Former Community Influencers will also be recognized with an alumni badge. DossBoss Badge Receive a badge for winning our monthly data visualization challenge, DossBoss. Learn more about the competition here. MethodDescriptionTypeBottomLevelA bottom level specifies the lowest analysis level that the security filter is applied.IDSSDimtyExpressionSecurity filter.IDSSExpressionInfoThe IDSSObjectInfo interface for the MD security filter.IDSSObjectInfoPopulate ( object as IDSSMDSecurityFilter)Populate this filter's value from an existing MD security filter. RootA shortcut to Expression.Root.IDSSNodeTopLevelA top level specifies the highest analysis level that the security filter is applied without changing the dimensionality of metrics. IDSSDimty |
Strategy Grandmaster Badges Receive a badge for being recognized as a Strategy Grandmaster. Former Strategy Grandmasters will also be recognized with an alumni badge. Community Influencer Badges Receive a badge for being recognized as a Community Influencer. Former Community Influencers will also be recognized with an alumni badge. DossBoss Badge Receive a badge for winning our monthly data visualization challenge, DossBoss. Learn more about the competition here. MethodDescriptionTypeBottomLevelA bottom level specifies the lowest analysis level that the security filter is applied.IDSSDimtyExpressionSecurity filter.IDSSExpressionInfoThe IDSSObjectInfo interface for the MD security filter.IDSSObjectInfoPopulate ( object as IDSSMDSecurityFilter)Populate this filter's value from an existing MD security filter. RootA shortcut to Expression.Root.IDSSNodeTopLevelA top level specifies the highest analysis level that the security filter is applied without changing the dimensionality of metrics. IDSSDimty | Strategy Grandmaster Badges Receive a badge for being recognized as a Strategy Grandmaster. Former Strategy Grandmasters will also be recognized with an alumni badge. Community Influencer Badges Receive a badge for being recognized as a Community Influencer. Former Community Influencers will also be recognized with an alumni badge. DossBoss Badge Receive a badge for winning our monthly data visualization challenge, DossBoss. Learn more about the competition here. MethodDescriptionTypeBottomLevelA bottom level specifies the lowest analysis level that the security filter is applied.IDSSDimtyExpressionSecurity filter.IDSSExpressionInfoThe IDSSObjectInfo interface for the MD security filter.IDSSObjectInfoPopulate ( object as IDSSMDSecurityFilter)Populate this filter's value from an existing MD security filter. RootA shortcut to Expression.Root.IDSSNodeTopLevelA top level specifies the highest analysis level that the security filter is applied without changing the dimensionality of metrics. IDSSDimty | Strategy Grandmaster Badges Receive a badge for being recognized as a Strategy Grandmaster. Former Strategy Grandmasters will also be recognized with an alumni badge. Community Influencer Badges Receive a badge for being recognized as a Community Influencer. Former Community Influencers will also be recognized with an alumni badge. DossBoss Badge Receive a badge for winning our monthly data visualization challenge, DossBoss. Learn more about the competition here. MethodDescriptionTypeBottomLevelA bottom level specifies the lowest analysis level that the security filter is applied.IDSSDimtyExpressionSecurity filter.IDSSExpressionInfoThe IDSSObjectInfo interface for the MD security filter.IDSSObjectInfoPopulate ( object as IDSSMDSecurityFilter)Populate this filter's value from an existing MD security filter. RootA shortcut to Expression.Root.IDSSNodeTopLevelA top level specifies the highest analysis level that the security filter is applied without changing the dimensionality of metrics. IDSSDimty |
Strategy Grandmaster Badges Receive a badge for being recognized as a Strategy Grandmaster. Former Strategy Grandmasters will also be recognized with an alumni badge. Community Influencer Badges Receive a badge for being recognized as a Community Influencer. Former Community Influencers will also be recognized with an alumni badge. DossBoss Badge Receive a badge for winning our monthly data visualization challenge, DossBoss. Learn more about the competition here. MethodDescriptionTypeBottomLevelA bottom level specifies the lowest analysis level that the security filter is applied.IDSSDimtyExpressionSecurity filter.IDSSExpressionInfoThe IDSSObjectInfo interface for the MD security filter.IDSSObjectInfoPopulate ( object as IDSSMDSecurityFilter)Populate this filter's value from an existing MD security filter. RootA shortcut to Expression.Root.IDSSNodeTopLevelA top level specifies the highest analysis level that the security filter is applied without changing the dimensionality of metrics. IDSSDimty | Strategy Grandmaster Badges Receive a badge for being recognized as a Strategy Grandmaster. Former Strategy Grandmasters will also be recognized with an alumni badge. Community Influencer Badges Receive a badge for being recognized as a Community Influencer. Former Community Influencers will also be recognized with an alumni badge. DossBoss Badge Receive a badge for winning our monthly data visualization challenge, DossBoss. Learn more about the competition here. MethodDescriptionTypeBottomLevelA bottom level specifies the lowest analysis level that the security filter is applied.IDSSDimtyExpressionSecurity filter.IDSSExpressionInfoThe IDSSObjectInfo interface for the MD security filter.IDSSObjectInfoPopulate ( object as IDSSMDSecurityFilter)Populate this filter's value from an existing MD security filter. RootA shortcut to Expression.Root.IDSSNodeTopLevelA top level specifies the highest analysis level that the security filter is applied without changing the dimensionality of metrics. IDSSDimty | Strategy Grandmaster Badges Receive a badge for being recognized as a Strategy Grandmaster. Former Strategy Grandmasters will also be recognized with an alumni badge. Community Influencer Badges Receive a badge for being recognized as a Community Influencer. Former Community Influencers will also be recognized with an alumni badge. DossBoss Badge Receive a badge for winning our monthly data visualization challenge, DossBoss. Learn more about the competition here. MethodDescriptionTypeBottomLevelA bottom level specifies the lowest analysis level that the security filter is applied.IDSSDimtyExpressionSecurity filter.IDSSExpressionInfoThe IDSSObjectInfo interface for the MD security filter.IDSSObjectInfoPopulate ( object as IDSSMDSecurityFilter)Populate this filter's value from an existing MD security filter. RootA shortcut to Expression.Root.IDSSNodeTopLevelA top level specifies the highest analysis level that the security filter is applied without changing the dimensionality of metrics. IDSSDimty |
To create the MDSecurity filter, users can either populate the new MDSecurity filter with the definition of an existing filter or define the BottomLevel, TopLevel and Expression properties.
EXAMPLES:
Using the Populate method:
Set objMDFilter = mobjObjSource.NewObject(DssTypeMDSecurityFilter)
objMDFilter.Info.name = "HFilter"
Dim objSearch As IDSSSearch
Set objSearch = mobjObjSource.NewObject(DssTypeSearch)
'Set the search criteria...
objSearch.NamePattern = "*NewMD*"
'Set the flag to use WildCards
objSearch.Flags = DssSearchNameWildCard
objSearch.Types.Add DssTypeMDSecurityFilter
'Execute the search...
Set objSearchFolder = objSearch.Execute
'Set the objMDFilter2 to the first MDSecurityFilter found.
Dim objMDFilter2 As IDSSMDSecurityFilter
If objSearchFolder.count <> 0 then
Set objMDFilter2 = objSearchFolder.Item(1)
End if
'Populate the MDSecurityFilter
objMDFilter.Populate objMDFilter2
'Save the new MDSecurityFilter in the metadata
mobjObjSource.SaveObject objMDFilter.Info, objFolder
Populating the BottomLevel, TopLevel and Expression:
Set objMDFilter = mobjObjSource.NewObject(DssTypeMDSecurityFilter)
objMDFilter.Info.name = "HFilter"
'Create the Expression
Dim oNode As IDSSNode
Dim oParentNode As IDSSNode
Dim oAttribute As IDSSAttribute
Dim oConstant As IDSSConstant
'The search function returns the attribute Region as IDSSAtrribute
oAttribute = SearchAttribute("Region")
Set oNode = objMDFilter.Expression.AddRoot(DssNodeOperator)
oNode.ExpressionType = DSSFilterSingleBaseFormExpression
oNode.DimensionalityType = DssNodeDimtyNone
oNode.Special.FunctionType = DssFunctionLike
Set oParentNode = oNode
With oParentNode
Set oNode = .Root.Add(DssNodeFormShortcut)
Set oNode.Special.Attribute = oAttribute
Set oNode.Special.Form = oAttribute.BrowseForms(1)
Set oNode = .Root.Add(DssNodeConstant)
Set oConstant = oNode.Special
oConstant.Value = "%Canada%"
End With
'Add the Region attribute to BottomLevel dimensionality collection
objMDFilter.TopLevel.add oAttribute
'The search function returns the attribute Calling Center as IDSSAtrribute
oAttribute = SearchAttribute("Calling Center")
'Add the Calling Center Attribute to BottomLevel dimensionality collection
objMDFilter.BottomLevel.Add oAttribute
'Save the new MDSecurityFilter in the Metadata
mobjObjSource.SaveObject objMDFilter.Info, objFolder
Then link the property to the corresponding user and project. This is done by the use of Linked Properties. Linked Properties is a special type of properties that exist for a specific set of properties. In this particular case link the User to the MDSecurityFilter and to the Project.
The related interfaces are as follows:
- DSSLink
- DSSLinkItems
- DSSLinkItem
A DSSLink object stores properties on sets of objects. For example, a link object could store properties on a triple, consisting of a User, a Metric and a Template. Each set of objects in the link is known as a link item (DSSLinkItem).
The DSSLinkItems interface is just a collection of DSSLinkItems that exist for the particular DSSLink object.
NOTE: Users must to belong to a Security Role. Users can be added to a security Role by going to Desktop under the 'Configure Project' option.
The following is an example of how to link the MDSecurityFilter to the user for the particular Project:
Dim objDSSlink As IDSSLink
Dim objDSSProject As IDSSProject
Dim objUser As IDSSUser
Dim objDSSLinkitems As IDSSLinkItems
Dim objDSSLinkItem As IDSSLinkItem
Set objDSSProject = mobjObjSource.Project
'You have to set the objUser and objMDFilter
'First you define a link where you specify what type of objects it is 'linking and which
property are defined for that set of objects. In the
'case of security filters the link has been already defined:
'DSSSystemLinkMDSecurity
Set objDSSlink = objDSSProject.SystemLink(DssSystemLinkMDSecurity)
'Then you add a new collection of DSSLinks with the objects you want to
'link: User and Security Filter
Set objDSSLinkitems = objDSSlink.NewLinkItems
'Add the user and the new MDSecurityFilter
objDSSLinkitems.Uses.Clear
objDSSLinkitems.Uses.Add objUser
objDSSLinkitems.Uses.Add objMDFilter
'Add a new DSSLinkItem
Set objDSSLinkItem = objDSSLinkitems.AddItem
'Assign a value to the already defined property Exists. This property
'only indicates that there is a relationship between this User and this
'MDSecurityFilter for this Project. This property is contained in the
'PropertySet(1) and is the first and only property for this LinkItem:
'Item(1)
objDSSLinkItem.PropertySets(1).Item(1).Value = 1
'Save the LinkItem in the Metadata
objDSSLinkItem.Save
Code Customization:WARNING:
This customization is provided as a convenience to Strategy users and is only directly applicable to the version stated. While this code may apply to other releases directly, Strategy Technical Support makes no guarantees that the code provided will apply to any future or previous builds. In the event of a code change in future builds, Strategy may not be able to provide additional code on this matter even though this customization is provided at this time for this specific build.