[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.AnalysisServices");
$ASConnectionString = "Data Source = lewis-server ; Initial Catalog = CapitalDW ; Provider = MSOLAP; Impersonation Level = Impersonate " ;
$ASServer = New-object Microsoft.AnalysisServices.Server ;
$ASServer.connect($ASConnectionString);
##get-content Variable::ASConnectionString
##get-content Variable::ASServer
$DatabaseName = "CapitalDW"
$DatabaseID = $ASServer.Databases.FindByName($DatabaseName).ToString() ;
##get-content Variable::DatabaseID;
write-host "Databaseid:$DatabaseID";
##Cube
$dbName = $ASServer.Databases[$DatabaseID];
##get-content Variable::dbName
foreach( $cube in $dbName.cubes)
{
##get-childitem Variable::cube;
write-host "cube name:$($cube.Name) "
foreach ( $measuregroup in $cube.measuregroups){
write-host "measuregroup name:$($measuregroup.name)"
foreach ( $partition in $measuregroup.partitions ){
write-host "partition name:$($partition.name)"
}
foreach ( $measuregroupdimenion in $measuregroup.dimensions )
{
write-host "measuregroupdimension: $($measuregroupdimension.name) "
}
}
foreach ( $cubedimenion in $cube.dimensions )
{
write-host "cubedimension: $($cubedimension.name)";
}
}
foreach ( $dimension in $dbName.dimensions)
{
write-host "dimensions: $($dimension.name) "
}
write-host "Dimension Processing..."
foreach ( $dimension in $dbName.dimensions)
{
write-host "Dimension Processing Now: $($dimension.name) "
$dimension.process("ProcessFull");
}
write-host "Cube Processing..."
foreach( $cube in $dbName.cubes)
{
write-host "Cube Processing Now: $($cube.name) "
$cube.process("ProcessFull");
}
$ASConnectionString = "Data Source = lewis-server ; Initial Catalog = CapitalDW ; Provider = MSOLAP; Impersonation Level = Impersonate " ;
$ASServer = New-object Microsoft.AnalysisServices.Server ;
$ASServer.connect($ASConnectionString);
##get-content Variable::ASConnectionString
##get-content Variable::ASServer
$DatabaseName = "CapitalDW"
$DatabaseID = $ASServer.Databases.FindByName($DatabaseName).ToString() ;
##get-content Variable::DatabaseID;
write-host "Databaseid:$DatabaseID";
##Cube
$dbName = $ASServer.Databases[$DatabaseID];
##get-content Variable::dbName
foreach( $cube in $dbName.cubes)
{
##get-childitem Variable::cube;
write-host "cube name:$($cube.Name) "
foreach ( $measuregroup in $cube.measuregroups){
write-host "measuregroup name:$($measuregroup.name)"
foreach ( $partition in $measuregroup.partitions ){
write-host "partition name:$($partition.name)"
}
foreach ( $measuregroupdimenion in $measuregroup.dimensions )
{
write-host "measuregroupdimension: $($measuregroupdimension.name) "
}
}
foreach ( $cubedimenion in $cube.dimensions )
{
write-host "cubedimension: $($cubedimension.name)";
}
}
foreach ( $dimension in $dbName.dimensions)
{
write-host "dimensions: $($dimension.name) "
}
write-host "Dimension Processing..."
foreach ( $dimension in $dbName.dimensions)
{
write-host "Dimension Processing Now: $($dimension.name) "
$dimension.process("ProcessFull");
}
write-host "Cube Processing..."
foreach( $cube in $dbName.cubes)
{
write-host "Cube Processing Now: $($cube.name) "
$cube.process("ProcessFull");
}