関数 (DMX)

データ マイニング拡張機能 (DMX) を使用して Microsoft SQL Server Analysis Services のオブジェクトにクエリを行う場合、データ マイニング モデルまたは入力データセットの列内の値よりも多くの情報を返す関数を使用できます。たとえば、DMX クエリを使用して、予測が正しい可能性が高いとしても、列の予測値だけを返さないようにすることができます。DMX 関数だけでなく、Microsoft Visual Basic for Applications (VBA)、Microsoft Excel、およびストアド プロシージャの関数を使用することもできます。

DMX 関数

DMX 関数は、次のタスクの実行に使用できます。

  • 予測を返す。

  • 確立およびサポートなど、予測についての統計情報を返す。

  • クエリ結果をフィルタする。

  • テーブル式を並べ替える。

ほとんどの DMX 関数は、予測のサポートなど、スカラ値を返します。しかし、いくつかは表形式の結果を返します。たとえば、PredictHistogram 関数は、指定された各予測可能列に対するサポートと確率を含む表を返します。結果は、新しい表形式の列として表示されます。

詳細情報 :クエリ型への関数のマップ (DMX)」、「データ マイニング拡張機能 (DMX) 関数リファレンス

Visual Basic for Applications (VBA) と Excel 関数

さらに、DMX 関数は、DMX ステートメントからさまざまな VBA と Excel の関数を呼び出すこともできます。たとえば、lCase 関数を使用して、TM_Decision_Tree モデル コンテンツ内の Attribute_Name 列の表示方法を修正できます。次のサンプル コードにこれを示します。

SELECT lCase([Attribute_Name]) 
FROM [TM_Decision_Tree].CONTENT

VBA と Excel の両方に同じ関数が存在する場合、VBA または Excel のどちらかを使用して、DMX ステートメントの関数名にプレフィックスを付ける必要があります。たとえば、VBA!Log または Excel!Log を使用します。使用する VBA または Excel の関数が DMX または多次元式 (MDX) にも存在する場合、あるいは関数にドル記号 ($) が含まれる場合、角かっこを使用して関数をエスケープする必要があります。たとえば、関数呼び出しは [VBA!Format] のようになります。

ストアド プロシージャ

共通言語ランタイム プログラミング言語を使用して、DMX の機能を拡張するストアド プロシージャを作成できます。たとえば、回帰ツリー マイニング モデルは、回帰式を示す A、B などの係数を返しますが、A+Bx = y などの式自体は返しません。ただし、データ マイニング モデル オブジェクトを使用して、コンテンツ スキーマを操作し、出力として回帰式を返すストアド プロシージャは記述できます。この場合、DMX ステートメントは、クエリ結果の一部として回帰式の一覧を返すことができます。

詳細情報:アセンブリ (Analysis Services - 多次元データ)