Beispiel zum Erstellen eines Modells mit Anmeldung und Package-Datenquelle
In diesem Beispiel wird das Erstellen eines Modells mit Anmeldung und Package-Datenquelle dargestellt.
Sub Example38()
Dim objTransApp As Object
Dim model As Model
Dim package As Package
Dim query As Query
Dim column As Column
Dim signon As Signon
Dim connection As PackageDatasourceConnection
Dim measure As Measure
objTransApp = CreateObject("IBMCognosTransformer.ApplicationCtrl.1")
'Create a new model
model = objTransApp.NewModel
'Create a new package and add it to the model
package = model.Packages.Add()
With package
.Name = "GO Data Warehouse (query)"
.Path = "/content/package[@name='GO Data Warehouse (query)']"
.Update()
End With
'Create signon before adding the PackageDatasourceConnection
signon = model.Signons.Add()
With signon
.Name = "great_outdoors_warehouse"
.Description = "Signon used for package data source"
.SignOnNamespace = "Cognos"
.UserID = "sa"
.Password = "sa"
.SignonType = xtrSignonType.trCognosSignon
.AutoLogon = True
.Update()
End With
'Add PackageDatasourceConnection
connection = package.PackageDatasourceConnections.Add()
With connection
.DataSource = "great_outdoors_warehouse"
.Connection = "great_outdoors_warehouse"
.Signon = "great_outdoors_warehouse"
.TransformerSignon = "great_outdoors_warehouse"
.AlwaysUseTransformerSignon = True
.Update()
End With
'Create a new query and add it to the package
query = package.Queries.Add()
With query
.Name = "Sales Revenue"
.AutoSummary = True
.MaximizeSpeed = True
.SetsCurrentPeriod = True
.Update()
End With
'Create 3 new columns and add them to the query
column = query.Columns.Add()
With column
.Name = "Date"
.OriginalName = "[Sales (query)].[Time dimension].[Date]"
.Update()
End With
column = query.Columns.Add()
With column
.Name = "Region"
.OriginalName = "[Sales (query)].[Retailer site].[Region]"
.Update()
End With
column = query.Columns.Add()
With column
.Name = "Revenue"
.OriginalName = "[Sales (query)].[Sales fact].[Revenue]"
.Update()
End With
'Add Revenue column as a measure
measure = model.Measures.Add()
With Measure
.AssociateWith(column, xtrAssociationRole.trAssociationSource)
.Update()
End With
'Auto Design, build cube, and save model
With model
.Name = "Sales Revenue"
.DoAutoDesign()
.TestBuild(20, True)
.Update()
.SaveAs("GO Data Warehouse (query)X.mdl")
.Close()
End With
objTransApp = Nothing
End Sub