関数 (DMX)
データ マイニング拡張機能 (DMX) を使用して Microsoft SQL Server Analysis Services のオブジェクトにクエリを行う場合、データ マイニング モデルまたは入力データセットの列内の値よりも多くの情報を返す関数を使用できます。たとえば、DMX クエリを使用して、予測が正しい可能性が高いとしても、列の予測値だけを返さないようにすることができます。DMX 関数だけでなく、Microsoft Visual Basic for Applications (VBA)、Microsoft Excel、およびストアド プロシージャの関数を使用することもできます。
DMX 関数
DMX 関数は、次のタスクの実行に使用できます。
予測を返す。
確立およびサポートなど、予測についての統計情報を返す。
クエリ結果をフィルタする。
テーブル式を並べ替える。
ほとんどの DMX 関数は、予測のサポートなど、スカラ値を返します。しかし、いくつかは表形式の結果を返します。たとえば、PredictHistogram 関数は、指定された各予測可能列に対するサポートと確率を含む表を返します。結果は、新しい表形式の列として表示されます。
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 ステートメントは、クエリ結果の一部として回帰式の一覧を返すことができます。