2011-12-22 22 views

Trả lời

1

Check-out này: PowerSSAS

Nó không có hỗ trợ add phân vùng rõ ràng, vì vậy có thể bạn sẽ có để xây dựng một đoạn XMLA để làm phân vùng add và sau đó sử dụng PowerSSAS để đẩy nó vào máy chủ SSAS .

+1

PowerSSAS có thể thực hiện việc này mà không cần phải tạo XMLA. Bạn chỉ cần tham khảo nhóm đo sau đó gọi phương thức Thêm của bộ sưu tập phân vùng. –

6

này thêm một phân vùng cho khối Adventure Works DW 2008R2 (đặc biệt là Internet Khách hàng nhóm biện pháp trong Phiêu Works cube):

$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() 

Bạn sẽ phải thay đổi các biến lên hàng đầu, và các tài liệu tham khảo để các Microsoft.AnalysisServices.dll lắp ráp, nhưng khác hơn thế, điều này sẽ làm việc đào sâu sắc.

Bí quyết là gọi Update() trên đối tượng đã thay đổi và sau đó trên toàn bộ cơ sở dữ liệu.

Nếu bạn muốn để xử lý các phân vùng mới, cũng như, bạn có thể làm điều đó với dòng sau trước khi $srv.Disconnect:

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

Bạn có thể tìm hiểu thêm về phân tích quản lý đối tượng (AMO) here.

-2

bạn có thể sử dụng:

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

để triển khai cube của bạn AS với PowerShell.

+0

không trả lời câu hỏi. –