次の方法で共有


ActionTargetType 列挙体

Action を検出できる場所を識別します。

名前空間:  Microsoft.AnalysisServices
アセンブリ:  Microsoft.AnalysisServices (Microsoft.AnalysisServices.dll)

構文

'宣言
<GuidAttribute("4B273BB8-914C-4b23-A8D2-7DED53B5D185")> _
Public Enumeration ActionTargetType
'使用
Dim instance As ActionTargetType
[GuidAttribute("4B273BB8-914C-4b23-A8D2-7DED53B5D185")]
public enum ActionTargetType
[GuidAttribute(L"4B273BB8-914C-4b23-A8D2-7DED53B5D185")]
public enum class ActionTargetType
[<GuidAttribute("4B273BB8-914C-4b23-A8D2-7DED53B5D185")>]
type ActionTargetType
public enum ActionTargetType

メンバー

メンバー名 説明
Cube キューブで検出しました。

アクションのクエリを実行する場合、対応する座標はキューブの仕様である必要があります。

Cells セルまたはサブキューブのセットで検出しました。

アクションのクエリを実行する場合、対応する座標はセルの仕様である必要があります。

Set セットで検出しました。

アクションのクエリを実行する場合、対応する座標はセットの仕様である必要があります。

Hierarchy ディメンションの単一階層で検出しました。

アクションのクエリを実行する場合、対応する座標はディメンションの仕様である必要があります。

Level ディメンションのレベルで検出しました。

アクションのクエリを実行する場合、対応する座標はレベルの仕様である必要があります。

DimensionMembers ディメンションで検出しました。

アクションのクエリを実行する場合、対応する座標はディメンションの仕様である必要があります。

HierarchyMembers ディメンションの単一階層のメンバで検出しました。

アクションのクエリを実行する場合、対応する座標はディメンションの仕様である必要があります。

LevelMembers ディメンションのレベルのメンバで検出しました。

アクションのクエリを実行する場合、対応する座標はレベルの仕様である必要があります。

AttributeMembers 属性メンバで検出しました。

アクションのクエリを実行する場合、対応する座標は属性メンバである必要があります。

説明

新規 :2006 年 7 月 17 日

使用例

このセクションには、AMO を使用してアクションをセットアップするサンプルと、ADOMD.NET クライアントを使用してクライアント コードからアクションを取得するサンプルが記載されています。

次のサンプルは、AMO を使用してアクションをセットアップする方法を示しています。このサンプルでは、AMOAdventureWorks サンプル データベースに接続し、パラメータとして渡されるキューブが "Adventure Works" であることを前提としています。

AMO コードのアクション ターゲット タイプが Cells として定義されており、アクションがメジャー グループ "Reseller Sales" のすべてのセルに対して定義されていることに注意してください。ADOMD.NET コードでは、対応する座標の種類は MDACTION_COORDINATE_CELL = 6 であり、アクションを検出する座標として ([Measures].[Reseller Order Quantity], [Product].[Category].&[3]) という組が付属しています。

コードは C# で記述されています。

#region Using directives
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Diagnostics;
using System.Globalization;
using System.Text;
using System.Data;
using System.Data.OleDb;
using System.Data.Sql;
using Microsoft.AnalysisServices;
#endregion 
private void CreateActions(Cube cube)
{
    #region Adding a drillthrough action
    //Create a Drillthrough action
    DrillThroughAction action = new DrillThroughAction("Reseller Details", "Drillthrough Action");

    //Define the Action
    action.Invocation = ActionInvocation.Interactive;
    action.Type = ActionType.DrillThrough;
    action.TargetType = ActionTargetType.Cells;
    action.Target = "MeasureGroupMeasures(\"Reseller Sales\")";
    action.Caption = "DrillThrough...";
    action.CaptionIsMdx = false;

    //Adding Measure columns
    MeasureBinding mb1 = new MeasureBinding();
    mb1.MeasureID = "Reseller Sales Amount";
    action.Columns.Add(mb1);
    
    MeasureBinding mb2 = new MeasureBinding();
    mb2.MeasureID = "Reseller Order Quantity";
    action.Columns.Add(mb2);

    MeasureBinding mb3 = new MeasureBinding();
    mb3.MeasureID = "Reseller Unit Price";
    action.Columns.Add(mb3);

    //Adding Dimension Columns
    CubeAttributeBinding cb1 = new CubeAttributeBinding();
    cb1.CubeID = cube.ID;
    cb1.CubeDimensionID = "Reseller";
    cb1.AttributeID = "Reseller";
    cb1.Type = AttributeBindingType.All;
    action.Columns.Add(cb1);

    CubeAttributeBinding cb2 = new CubeAttributeBinding();
    cb2.CubeID = cube.ID;
    cb2.CubeDimensionID = "Product";
    cb2.AttributeID = "Product Name";
    cb2.Type = AttributeBindingType.All;
    action.Columns.Add(cb2);

    //Add the defined action to the cube
    cube.Actions.Add(action);
    #endregion
}

次のサンプルは、ADOMD.NET クライアントを使用してアクションのサンプルが正しく定義されていることを検証する方法を示しています。

パラメータは次のように指定されています。

CATALOG_NAME=AMOAdventureworks

CUBE_NAME= Adventure Works

COORDINATE=([Measures].[Reseller Order Quantity], [Product].[Category].&[3])

COORDINATE_TYPE=6

コードは C# で記述されています。ServerName はフォームの System.Windows.Forms.TextBox オブジェクトです。

#region Using directives
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using adoMdClient = Microsoft.AnalysisServices.AdomdClient;
#endregion

...

private enum COORDINATE_TYPE
{
    MDACTION_COORDINATE_CUBE = 1,
    MDACTION_COORDINATE_DIMENSION = 2,
    MDACTION_COORDINATE_LEVEL = 3,
    MDACTION_COORDINATE_MEMBER = 4,
    MDACTION_COORDINATE_SET = 5,
    MDACTION_COORDINATE_CELL = 6
}

...

private void readActionsUsingADOMDClient(String catalogName, String cubeName, String coordinate, COORDINATE_TYPE coordinateType)
{
    adoMdClient.AdomdRestrictionCollection restrictions = new adoMdClient.AdomdRestrictionCollection();

    restrictions.Add("CATALOG_NAME", catalogName);

    restrictions.Add("CUBE_NAME", cubeName);

    restrictions.Add("COORDINATE", coordinate);

    restrictions.Add("COORDINATE_TYPE", (int)coordinateType);
    foreach (adoMdClient.AdomdRestriction restriction in restrictions)
    {
Debug.WriteLine(restriction.Name + "=" + restriction.Value);
    }
    using (adoMdClient.AdomdConnection cnxAmoAdventureworks = new adoMdClient.AdomdConnection())
    {
if (serverName.Text.Length == 0)
{
    cnxAmoAdventureworks.ConnectionString = "Data Source=localhost;Catalog=AMOAdventureworks";
}
else
{
    cnxAmoAdventureworks.ConnectionString = "Data Source=" + serverName.Text + ";Catalog=AMOAdventureworks";
}
cnxAmoAdventureworks.Open();

DataTable actionsTable = cnxAmoAdventureworks.GetSchemaDataSet("MDSCHEMA_ACTIONS", restrictions).Tables[0];
Debug.WriteLine("Table [" + actionsTable.TableName + "] has " + actionsTable.Rows.Count.ToString() + " rows");
int j = 0;
foreach (DataRow actionRow in actionsTable.Rows)
{
    for (int i = 0; i < actionRow.ItemArray.Length; i++)
    {
Debug.WriteLine("[" + j.ToString().PadLeft(4) + "]\t" + actionsTable.Columns[i].ColumnName + ": " + actionRow.ItemArray[i].ToString());
    }
    j++;
}
    }

}

コードの実行後、次の結果が表示されます。

Table [rowsetTable] has 1 rows

[ 0] CATALOG_NAME: AmoAdventureWorks

[ 0] SCHEMA_NAME:

[ 0] CUBE_NAME: Adventure Works

[ 0] ACTION_NAME: Reseller Details

[ 0] ACTION_TYPE: 256

[ 0] COORDINATE: ([Measures].[Reseller Order Quantity], [Product].[Category].&[3])

[ 0] COORDINATE_TYPE: 6

[ 0] ACTION_CAPTION: DrillThrough...

[ 0] DESCRIPTION:

[ 0] CONTENT: DRILLTHROUGH Select ([Measures].[Reseller Order Quantity], [Product].[Category].&[3]) on 0 From [Adventure Works] RETURN [Reseller Sales].[Reseller Sales Amount],[Reseller Sales].[Reseller Order Quantity],[Reseller Sales].[Reseller Unit Price],[$Reseller].[Reseller],[$Product].[Product Name]

[ 0] APPLICATION:

[ 0] INVOCATION: 1