İşleme nesneleri (xmla)
De Microsoft SQL Server Analysis Services, işleme ' adım veya dizi adımlar bu dönüş veri bilgi İş analizi. İşlem nesnesi türüne bağlı olarak farklı, ancak işleme hep dönüm veri bilgi parçasıdır.
Süreç bir Analysis Servicesnesne, sen-ebilmek kullanma süreci komut. ProcessKomutu, üzerinde aşağıdaki nesneler işleyebilir bir Analysis Servicesörneği:
Küpleri
Veritabanları
Boyutlar
Ölçü birimi grupları
Incelemesi modelleri
Incelemesi yapıları
Bölümler
Nesneleri, işleme denetlemek için Processkomutu ayarlanabilir çeşitli özellikler vardır. ProcessKomutu denetleyen özellikleri vardır: ne kadar işlem yapılacaktır, hangi nesneleri işlenir, satır dışı bağlamaları kullanılıp kullanılmayacağını, hatalarının nasıl işleneceğini ve writeback tablolar yönetme.
İşleme seçeneklerini belirtme
Türü özelliği Processkomutunu belirtir nesnesi işlenirken işleme seçeneği. Işleme seçenekleri hakkında daha fazla bilgi için bkz: Işleme seçenekleri ve ayarları (Analiz Hizmetleri).
Sabitleri aşağıdaki tabloda Typeözelliği ve her sabit kullanılarak işlenebilir çeşitli nesneler.
Typedeğer |
Geçerli nesneleri |
---|---|
ProcessFull |
Küp, veritabanı, boyut, ölçü birimi grubu, incelemesi modeli, incelemesi yapısı, Bölüm |
ProcessAdd |
Boyut, Bölüm |
ProcessUpdate |
Boyut |
ProcessIndexes |
Boyut, küp, ölçü birimi grubu, Bölüm |
ProcessData |
Boyut, küp, ölçü birimi grubu, Bölüm |
ProcessDefault |
Küp, veritabanı, boyut, ölçü birimi grubu, incelemesi modeli, incelemesi yapısı, Bölüm |
ProcessClear |
Küp, veritabanı, boyut, ölçü birimi grubu, incelemesi modeli, incelemesi yapısı, Bölüm |
ProcessStructure |
Küp incelemesi yapısı |
ProcessClearStructureOnly |
Incelemesi yapısı |
ProcessScriptCache |
Küp |
İşlem hakkında daha fazla bilgi için Analysis Servicesnesnelerine görmek Çok boyutlu Model nesne işleme.
İşlenecek nesneleri belirtme
Nesnesinin özelliği Processkomutu içeren işlenecek nesne nesne tanımlayıcısını. Tek bir nesne olarak belirtilebilir bir Processkomutu, ancak nesne işleme Ayrıca, tüm alt nesneleri işler. Örneğin, bir ölçü birimi grubu tüm bölümler için ölçü birimi grubu, bir veritabanı işleme küpler, Boyutlar ve incelemesi yapıları gibi tüm nesneleri işlerken bir küp işlemlerinde işlem, veritabanı tarafından bulunur.
Eğer ProcessAffectedObjectsözniteliği Processkomut true olarak ilgili belirtilen nesne işleme tarafından etkilenen nesne Ayrıca işlenir. Örneğin bir boyut artımlı olarak kullanılarak güncelleştirilir, ProcessUpdateseçeneği işleme Processkomutu, üyeler eklendiğini veya silindiğini de tarafından işlenen nedeniyle olan toplamalardan geçersiz kılınan herhangi bir bölümünün Analysis Services, ProcessAffectedObjectsayarlanır true. Bu durumda, tek bir Processkomutu birden çok nesne üzerinde işleyebilir bir Analysis Servicesörneği, ama Analysis Serviceshangi yanında belirtilen tek nesne nesneleri belirler Processkomut gerekir Ayrıca işleme.
Ancak, aynı anda birden fazla kullanarak boyutları gibi çoklu nesneleri işleyebilir Processiçindeki komutları bir Batchkomut. Toplu işlemleri implantların daha hassas bir denetim düzeyi nesneleri seri veya paralel işleme için bir Analysis Servicesörneği kullanarak daha ProcessAffectedObjectsözniteliği ve işleme yaklaşımınız için ayarlamak için izin daha büyük Analysis Servicesveritabanları. Toplu işlemler gerçekleştirme hakkında daha fazla bilgi için bkz: Toplu işlemler (xmla) gerçekleştirme.
Satır dışı bağlamaları belirtme
Eğer Processkomut değil tarafından bulunan bir Batchkomutu, isteğe bağlı satır dışı bağlamaları de belirtebilirsiniz bağlarını, DataSource, ve DataSourceView özelliklerini Processcommand nesnelerinin işlenmesini. Satır dışı bağlamaları olan veri kaynakları, veri kaynak görünümleri ve bağlama yalnızca yürütme sırasında bulunduğu diğer nesnelere başvurular Processkomutu ve hangi işlenen nesnelerle ilişkili herhangi bir varolan bağlantıları geçersiz. Satır dışı bağlamaları belirtilmezse, işlenmek üzere şu anda nesnelerle ilişkili bağlamaları kullanılır.
Satır dışı bağlamaları, aşağıdaki durumlarda kullanılır:
Artımlı bir bölüm içinde bir alternatif bilgi tablosunun veya varolan bilgi tablosunun filtre satırları iki kez sayılmaz emin olmak için belirtilmelidir, işleniyor.
Bir veri akışı görev kullanarak Microsoft SQL Server Integration Servicesboyut, incelemesi modeli veya bölüm işlenirken veri sağlamak için.
Satır dışı bağlamaları are described as part of Analysis Services Scripting Language (assl). assl içindeki satır dışı bağlamaları hakkında daha fazla bilgi için bkz: Veri kaynakları ve bağlar (Analiz Hizmetleri - çok boyutlu verilerle).
Bölümler artımlı olarak güncelleştirme
Önceden işlenmiş bir bölümü genellikle artımlı olarak güncelleştirmek çünkü bölüm içinde bölüm başvuruları bulgular tablo verileri için önceden belirtilen bağlama toplanan bir out-in-satırı bağlama gerektirir. Artımlı olarak önceden işlenmiş bir bölümünü kullanarak güncelleştirdiğinizde Processkomutu, Analysis Servicesaşağıdaki eylemleri gerçekleştirir:
Geçici bir bölüm yapısı ile aynı bölümün artımlı olarak güncelleştirilmesi için oluşturur.
Belirtilen satır dışı bağlama kullanarak geçici bölümünü işler Processkomut.
Seçilen bölüm ile geçici bölüm birleştirir.
xml Analysis (xmla) kullanarak bölümler birleştirme hakkında daha fazla bilgi için bkz: Birleştirme bölümler (xmla).
İşleme hatalarını işleme
ErrorConfiguration özelliği Processkomut nesne işlenirken karşılaşılan hatalarının nasıl işleneceğini belirlemenizi sağlar. Örneğin, bir boyut işleme sırasında Analysis Servicesanahtar özniteliği anahtar sütun yinelenen değer karşılaşır. Öznitelik anahtarları benzersiz olmalıdır çünkü Analysis Servicesyinelenen kayıtları atar. Temel KeyDuplicate özelliği ErrorConfiguration, Analysis Servicesolabilir:
Hatayı yoksaymak ve boyut işleme devam edin.
Bildiren bir ileti dönmek Analysis Servicesyinelenen anahtar karşılaştı ve işleme devam edin.
Var olan birçok benzer koşullar ErrorConfigurationsırasında seçenekler sunar bir Processkomut.
Writeback tablolar yönetme
Eğer Processkarşılaştığında komut yazma etkin bir bölüm ya da değil zaten tam olarak işlenen böyle bir bölüm, bir küp veya ölçü birimi grubu, bu Bölüm writeback tablo zaten olmayabilir. WritebackTableCreation özelliği Processkomutu belirler mi Analysis Servicesbir writeback tablo oluşturmalısınız.
Örnekler
Açıklama
Aşağıdaki örnek tam işler Adventure Works DW Multidimensional 2012 örnek Analysis Servicesveritabanı.
Kodu
<Process xmlns="https://schemas.microsoft.com/analysisservices/2003/engine">
<Object>
<DatabaseID>Adventure Works DW Multidimensional 2012</DatabaseID>
</Object>
<Type>ProcessFull</Type>
<WriteBackTableCreation>UseExisting</WriteBackTableCreation>
</Process>
<Process xmlns="https://schemas.microsoft.com/analysisservices/2003/engine">
<Object>
<DatabaseID>Adventure Works DW Multidimensional 2012</DatabaseID>
</Object>
<Type>ProcessFull</Type>
<WriteBackTableCreation>UseExisting</WriteBackTableCreation>
</Process>
Açıklama
Aşağıdaki örnek artımlı işler Internet_Sales_2004 bölüm içinde Internet satış ölçü birimi grubu Adventure Works dw içinde küp Adventure Works DW Multidimensional 2012 örnek Analysis Servicesveritabanı. ProcessKomutunu ekleyerek toplamalardan sipariş için en geç 31 Aralık 2006 tarihleri bölüme bir out-in-satırı sorgu bağlamasında kullanarak Bindingsözelliği Processhangi bölüme eklenecek toplamalardan oluşturmak gerçek tablo satırlarını almak için komutu.
Kodu
<Process ProcessAffectedObjects="true" xmlns="https://schemas.microsoft.com/analysisservices/2003/engine">
<Object>
<DatabaseID>Adventure Works DW Multidimensional 2012</DatabaseID>
<CubeID>Adventure Works DW</CubeID>
<MeasureGroupID>Fact Internet Sales 1</MeasureGroupID>
<PartitionID>Internet_Sales_2006</PartitionID>
</Object>
<Bindings>
<Binding>
<DatabaseID>Adventure Works DW Multidimensional 2012</DatabaseID>
<CubeID>Adventure Works DW</CubeID>
<MeasureGroupID>Fact Internet Sales 1</MeasureGroupID>
<PartitionID>Internet_Sales_2006</PartitionID>
<Source xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="QueryBinding">
<DataSourceID>Adventure Works DW</DataSourceID>
<QueryDefinition>
SELECT
[dbo].[FactInternetSales].[ProductKey],
[dbo].[FactInternetSales].[OrderDateKey],
[dbo].[FactInternetSales].[DueDateKey],
[dbo].[FactInternetSales].[ShipDateKey],
[dbo].[FactInternetSales].[CustomerKey],
[dbo].[FactInternetSales].[PromotionKey],
[dbo].[FactInternetSales].[CurrencyKey],
[dbo].[FactInternetSales].[SalesTerritoryKey],
[dbo].[FactInternetSales].[SalesOrderNumber],
[dbo].[FactInternetSales].[SalesOrderLineNumber],
[dbo].[FactInternetSales].[RevisionNumber],
[dbo].[FactInternetSales].[OrderQuantity],
[dbo].[FactInternetSales].[UnitPrice],
[dbo].[FactInternetSales].[ExtendedAmount],
[dbo].[FactInternetSales].[UnitPriceDiscountPct],
[dbo].[FactInternetSales].[DiscountAmount],
[dbo].[FactInternetSales].[ProductStandardCost],
[dbo].[FactInternetSales].[TotalProductCost],
[dbo].[FactInternetSales].[SalesAmount],
[dbo].[FactInternetSales].[TaxAmt],
[dbo].[FactInternetSales].[Freight],
[dbo].[FactInternetSales].[CarrierTrackingNumber],
[dbo].[FactInternetSales].[CustomerPONumber]
FROM [dbo].[FactInternetSales]
WHERE OrderDateKey > '1280'
</QueryDefinition>
</Source>
</Binding>
</Bindings>
<Type>ProcessAdd</Type>
<WriteBackTableCreation>UseExisting</WriteBackTableCreation>
</Process>
<Process ProcessAffectedObjects="true" xmlns="https://schemas.microsoft.com/analysisservices/2003/engine">
<Object>
<DatabaseID>Adventure Works DW Multidimensional 2012</DatabaseID>
<CubeID>Adventure Works DW</CubeID>
<MeasureGroupID>Fact Internet Sales 1</MeasureGroupID>
<PartitionID>Internet_Sales_2006</PartitionID>
</Object>
<Bindings>
<Binding>
<DatabaseID>Adventure Works DW Multidimensional 2012</DatabaseID>
<CubeID>Adventure Works DW</CubeID>
<MeasureGroupID>Fact Internet Sales 1</MeasureGroupID>
<PartitionID>Internet_Sales_2006</PartitionID>
<Source xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="QueryBinding">
<DataSourceID>Adventure Works DW</DataSourceID>
<QueryDefinition>
SELECT
[dbo].[FactInternetSales].[ProductKey],
[dbo].[FactInternetSales].[OrderDateKey],
[dbo].[FactInternetSales].[DueDateKey],
[dbo].[FactInternetSales].[ShipDateKey],
[dbo].[FactInternetSales].[CustomerKey],
[dbo].[FactInternetSales].[PromotionKey],
[dbo].[FactInternetSales].[CurrencyKey],
[dbo].[FactInternetSales].[SalesTerritoryKey],
[dbo].[FactInternetSales].[SalesOrderNumber],
[dbo].[FactInternetSales].[SalesOrderLineNumber],
[dbo].[FactInternetSales].[RevisionNumber],
[dbo].[FactInternetSales].[OrderQuantity],
[dbo].[FactInternetSales].[UnitPrice],
[dbo].[FactInternetSales].[ExtendedAmount],
[dbo].[FactInternetSales].[UnitPriceDiscountPct],
[dbo].[FactInternetSales].[DiscountAmount],
[dbo].[FactInternetSales].[ProductStandardCost],
[dbo].[FactInternetSales].[TotalProductCost],
[dbo].[FactInternetSales].[SalesAmount],
[dbo].[FactInternetSales].[TaxAmt],
[dbo].[FactInternetSales].[Freight],
[dbo].[FactInternetSales].[CarrierTrackingNumber],
[dbo].[FactInternetSales].[CustomerPONumber]
FROM [dbo].[FactInternetSales]
WHERE OrderDateKey > '1280'
</QueryDefinition>
</Source>
</Binding>
</Bindings>
<Type>ProcessAdd</Type>
<WriteBackTableCreation>UseExisting</WriteBackTableCreation>
</Process>