メタデータの取得 - ADOMD.NET オブジェクト モデルの操作

ADOMD.NET は、分析データ ソース内のキューブと下位オブジェクトを表示するためのオブジェクト モデルです。 ただし、分析データ ソースのすべてのメタデータを、このオブジェクト モデルで操作できるわけではありません。 このオブジェクト モデルでアクセスできるのは、ユーザーがコマンドを対話的に作成する際、クライアント アプリケーションに表示されると役立つ情報だけです。 提示するメタデータの複雑さが軽減されたことで、ADOMD.NET オブジェクト モデルがより使いやすくなりました。

ADOMD.NET オブジェクトモデル AdomdConnection では、オブジェクトを使用して、分析データソースに定義されているオンライン分析処理 (OLAP) キューブとマイニングモデル、およびディメンション、名前付きセット、マイニングアルゴリズムなどの関連オブジェクトに関する情報にアクセスできます。

OLAP メタデータの取得

AdomdConnection オブジェクトには、ユーザーまたはアプリケーションが使用できるキューブを表すオブジェクトの CubeDef コレクションがあります。 オブジェクトは CubeDef 、キューブに関する情報と、ディメンション、主要業績評価指標、メジャー、名前付きセットなど、キューブに関連するさまざまなオブジェクトを公開します。

可能な限り、オブジェクトを使用 CubeDef して、複数の OLAP サーバーをサポートするように設計されたクライアントアプリケーション、または一般的なメタデータの表示とアクセスの目的で、メタデータを表す必要があります。

注意

プロバイダー固有のメタデータが必要な場合、または詳細なメタデータの表示やアクセスを行う場合は、スキーマ行セットを使用してメタデータを取得する必要があります。 詳細については、「 Working with Schema Rowsets in ADOMD.NET」を参照してください。

次の例では、オブジェクトを使用 CubeDef して、表示可能なキューブとそのディメンションをローカルサーバーから取得します。

private string RetrieveCubesAndDimensions()
{
    System.Text.StringBuilder result = new System.Text.StringBuilder();

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

        //Loop through every cube
        foreach (CubeDef cube in conn.Cubes)
        {
            //Skip hidden cubes.
            if (cube.Name.StartsWith("$"))
                continue; 

            //Write the cube name
            result.AppendLine(cube.Name);

            //Write out all dimensions, indented by a tab.
            foreach (Dimension dim in cube.Dimensions)
            {
                result.Append("\t");
                result.AppendLine(dim.Name);
            }
        }

        //Close the connection
        conn.Close();
    }

    //Return the results
    return result.ToString();
}

データ マイニング メタデータの取得

AdomdConnection オブジェクトには、データソースのデータマイニング機能に関する情報を提供するいくつかのコレクションがあります。

  • MiningModelCollectionには、データソース内のすべてのマイニングモデルの一覧が含まれています。

  • は、 MiningServiceCollection 使用可能なマイニングアルゴリズムに関する情報を提供します。

  • は、サーバー上のマイニング構造に関する情報を公開し MiningStructureCollection ます。

サーバー上のマイニングモデルに対してクエリを実行する方法を決定するには、MiningModel コレクションを反復処理します。 各 MiningModelColumn オブジェクトは、次の特性を公開します。

  • オブジェクトが入力列であるかどうか ( IsInput )。

  • オブジェクトが予測列かどうか ( IsPredictable )。

  • 不連続列に関連付けられている値 ( Values )

  • 列のデータの型 ( Type )。