Aracılığıyla paylaş


ADOMD.net istemci işlevselliği

ADOMD.Diğer olarak net Microsoft.net Framework veri sağlayıcıları, uygulama ve veri kaynağı arasında bir köprü olarak hizmet vermektedir. Ancak adomd.net diğer olduğunu .NET Framework veri sağlayıcıları bu adomd.net analitik verileri ile çalışır. adomd analitik verilerle çalışmak için.net diğerinden çok farklı işlevleri destekler.net Framework veri sağlayıcıları. ADOMD.net sadece verileri almak için ama aynı zamanda meta verileri almak ve analitik veri deposu yapısını değiştirmek sağlar:

  • Meta veri alma
    Uygulamaları yoluyla şema satır kümeleri ya da nesne modelini kullanarak meta veri alma, veri kaynağından alınan verileri hakkında daha fazla bilgi. Kullanılabilen türleri her anahtar performans göstergesinin (KPI) gibi bilgiler, küp ve incelemesi modelleri tarafından gerekli parametreleri boyutları tüm bulunabilir. Meta verileri için en önemli dinamik türü, derinlik ve kapsam veri alınacak belirlemek için kullanıcı girişi gerektiren uygulamalar. Örnekler, Sorgu Çözümleyicisi, Microsoft Excel ve diğer sorgulama araçları içerir. Meta verileri için daha az kritik Statik önceden tanımlanmış bir dizi eylem gerçekleştiren uygulamaları.

    Daha fazla bilgi için: Bir analitik veri kaynağı meta veri alma.

  • Verileri Alma
    Veri alma, veri kaynağında depolanan bilgileri gerçek alınmasını olduğunu. Veri alma "statik" birincil işlevidir uygulamalar, veri kaynağının yapısını biliyorum. Veri alımı da sonuç "dinamik" olduğunu uygulamalar. Gün, Bisiklet sayısı bir anda KPI değeri her mağaza için son bir saat içinde satılan ve çalışanların yıllık performans yöneten tüm örnekler alınabilir veri faktörlerdir. Veri alma, sorgulama herhangi bir uygulama için önemlidir.

    Daha fazla bilgi için: Bir analitik veri kaynağı veri alınıyor.

  • Analitik veri yapısını değiştirme
    ADOMD.net, aslında analitik veri deposu yapısını değiştirmek için de kullanılabilir. Bu genellikle analiz Management Objects (amo) nesne modeli aracılığıyla yapılır ama adomd kullanabilirsiniz.Oluşturmak, değiştirmek veya sunucu nesneleri silmek için Analysis Services Scripting Language (assl) komutları göndermek için net.

    Daha fazla bilgi için: Analitik veri kaynağı karşı Komutlar Yürütülüyor, Analiz Management Objects (amo) geliştirme,Çözümleme Hizmetleri komut dil başvurusu

Meta veri alma, veri alma ve veri yapısını değiştirerek belirli bir noktada, tipik bir adomd akışındaki oluşur.net bir uygulama.

Normal işlem akışı

Geleneksel adomd.net uygulamalar genellikle, analitik bir veritabanı ile çalışırken aynı iş akışı izleyin:

  1. İlk olarak, veritabanına bir bağlantı oluşturulur kullanarak AdomdConnectionnesnesini. Bağlantıyı açtığınızda AdomdConnectionnesne bağlı sunucu hakkında meta verileri sunar. Dinamik bir uygulama, bu bilgilerin bazıları genellikle gösterilir kullanıcıya böylece kullanıcı hangi küp sorgulamak gibi bir seçim yapabilirsiniz. Bu adımda oluşturduğunuz bağlantı birden çok kez yükü azaltarak uygulama tarafından yeniden kullanılabilir.

    Daha fazla bilgi için:adomd bağlantıları oluşturma.NET

  2. Bağlantı yapıldıktan sonra dinamik bir uygulama sonra daha özel meta verileri için sunucuyu sorgulamak. Statik bir uygulama için programcı önceden hangi nesnelerin uygulama, sorgulama ve böylece bu meta verileri almak gerekmez bilir. Alınan meta veriler için bir sonraki adım uygulama ve kullanıcı tarafından kullanılabilir.

    Daha fazla bilgi için:Bir analitik veri kaynağı meta veri alma

  3. Uygulama daha sonra sunucuda bir komut çalıştırır. Bu komut, ek meta veri alma, veri alma veya veritabanı yapısını değiştirme amacı olabilir. Bu görevlerden birisini uygulama önceden belirlenen bir sorgu kullandığınızda, veya başka ek sorgular oluşturmak için yeni alınan meta verileri kullanın.

    Daha fazla bilgi için: Bir analitik veri kaynağı meta veri alma, Bir analitik veri kaynağı veri alınıyor,Analitik veri kaynağı karşı Komutlar Yürütülüyor

  4. Bir kere komutu sunucuya gönderilen, sunucu istemciye veri ve meta verileri dönmek başlar. Bu bilgileri kullanarak görüntülenebilir bir CellSetnesnesi, bir AdomdDataReadernesnesi ya da bir System.XmlReadernesnesini.

Bu geleneksel iş akışı göstermek için aşağıdaki örnek veritabanına bir bağlantı açar, bilinen bir küp karşı bir komut yürütür ve sonuçları bir hücre alır bir yöntem içerir. Cellset sonra sütun başlıkları ve satır başlıkları hücre veri içeren Sekmeyle sınırlandırılmış bir dize döndürür.

string ReturnCommandUsingCellSet()
{
    //Create a new string builder to store the results
    System.Text.StringBuilder result = new System.Text.StringBuilder();

    //Connect to the local server
    using (AdomdConnection conn = new AdomdConnection("Data Source=localhost;"))
    {
        conn.Open();

        //Create a command, using this connection
        AdomdCommand cmd = conn.CreateCommand();
        cmd.CommandText = @"
                      WITH MEMBER [Measures].[FreightCostPerOrder] AS 
                            [Measures].[Reseller Freight Cost]/[Measures].[Reseller Order Quantity],  
                            FORMAT_STRING = 'Currency'
                      SELECT 
                            [Geography].[Geography].[Country].&[United States].Children ON ROWS, 
                            [Date].[Calendar].[Calendar Year] ON COLUMNS
                      FROM [Adventure Works]
                      WHERE [Measures].[FreightCostPerOrder]";

        //Execute the query, returning a cellset
        CellSet cs = cmd.ExecuteCellSet();

        //Output the column captions from the first axis
        //Note that this procedure assumes a single member exists per column.
        result.Append("\t");
        TupleCollection tuplesOnColumns = cs.Axes[0].Set.Tuples;
        foreach (Tuple column in tuplesOnColumns)
        {
            result.Append(column.Members[0].Caption + "\t");
        }
        result.AppendLine();

        //Output the row captions from the second axis and cell data
        //Note that this procedure assumes a two-dimensional cellset
        TupleCollection tuplesOnRows = cs.Axes[1].Set.Tuples;
        for (int row = 0; row < tuplesOnRows.Count; row++)
        {
            result.Append(tuplesOnRows[row].Members[0].Caption + "\t");
            for (int col = 0; col < tuplesOnColumns.Count; col++)
            {
                result.Append(cs.Cells[col, row].FormattedValue + "\t");
            }
            result.AppendLine();
        }
        conn.Close();

        return result.ToString();
    } // using connection
}

Ayrıca bkz.

Başvuru

ADOMD.net istemci programlama