Создание разделов куба SSAS 2008 с помощью Powershell? - PullRequest
7 голосов
/ 22 декабря 2011

Как мы можем создать разделы куба SSAS 2008 с помощью Powershell?

Ответы [ 3 ]

6 голосов
/ 04 января 2012

Это добавляет раздел к кубу Adventure Works DW 2008R2 (в частности, к группе измерений «Интернет-клиенты» в кубе Adventure Works):

$server_name = "localhost"
$catalog = "Adventure Works DW 2008R2"
$cube = "Adventure Works"
$measure_group = "Fact Internet Sales"
$old_partition = "Customers_2004"
$new_partition = "Customers_2009"
$old_text = "'2008"
$new_text = "'2009"

[Reflection.Assembly]::LoadFile("C:\Program Files\Microsoft SQL Server\100\SDK\Assemblies\Microsoft.AnalysisServices.DLL")
$srv = new-object Microsoft.AnalysisServices.Server
$srv.Connect("Data Source=" + $server_name)
$new_part = $srv.Databases[$catalog].Cubes[$cube].MeasureGroups[$measure_group].Partitions[$old_partition].Clone()
$new_part.ID = $new_partition
$new_part.Name = $new_partition
$new_part.Source.QueryDefinition = $new_part.Source.QueryDefinition.Replace($old_text, $new_text)
$srv.Databases[$catalog].Cubes[$cube].MeasureGroups[$measure_group].Partitions.Add($new_part)
$srv.Databases[$catalog].Cubes[$cube].MeasureGroups[$measure_group].Partitions[$new_partition].Update()
$srv.Databases[$catalog].Update()
$srv.Disconnect()

Вам нужно будет изменить переменные вверх, и ссылкув сборку Microsoft.AnalysisServices.dll, но кроме этого, это будет работать очень хорошо.

Хитрость заключается в том, чтобы вызвать Update() для измененного объекта, а затем для всей базы данных.

Если вы также хотите обработать новый раздел, вы можете сделать это с помощью следующей строки перед $srv.Disconnect:

$srv.Databases[$catalog].Cubes[$cube].MeasureGroups[$measure_group].Partitions[$new_partition].Process()

Подробнее об объектах управления анализом (AMO) здесь .

1 голос
/ 23 декабря 2011

Проверьте это: PowerSSAS

У него нет явной поддержки добавления разделов, поэтому вам, вероятно, придется создать фрагмент XMLA для создания раздела, а затем использовать PowerSSASотправить его на сервер SSAS.

0 голосов
/ 13 декабря 2012

вы можете использовать:

Microsoft.AnalysisServices.Deployment [ASdatabasefile] 
{[/s[:logfile]] | [/a] | [[/o[:output_script_file]] [/d]]}

для развертывания AS куба с powershell.

...