Aracılığıyla paylaş


ActionTargetType Numaralandırması

Yeri tanımlayan bir Action yer alabilir.

Ad Alanı:  Microsoft.AnalysisServices
Derleme:  Microsoft.AnalysisServices (Microsoft.AnalysisServices içinde.dll)

Sözdizimi

'Bildirim
<GuidAttribute("4B273BB8-914C-4b23-A8D2-7DED53B5D185")> _
Public Enumeration ActionTargetType
'Kullanım
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

Üyeler

Üye adı Açıklama
Cube Bir küp üzerinde yer alır.

Eylem için bir sorgu çalıştırdığınızda, karşılık gelen koordinat küp belirtimi olmalıdır.

Cells Üzerinde bulunan bir küme hücreleri veya bir subcube.

Eylem için bir sorgu çalıştırdığınızda, karşılık gelen koordinat hücre belirtimi olmalıdır.

Set Bir küme üzerinde yer alır.

Eylem için bir sorgu çalıştırdığınızda, karşılık gelen koordinat küme belirtimi olmalıdır.

Hierarchy Bir boyut bir tek hiyerarşisinden yer.

Eylem için bir sorgu çalıştırdığınızda, karşılık gelen koordinat boyut belirtimi olmalıdır.

Level Üzerinde bulunan bir düzey bir boyutun.

Eylem için bir sorgu çalıştırdığınızda, karşılık gelen koordinat düzey belirtimi olmalıdır.

DimensionMembers Üzerinde bulunan bir boyut.

Eylem için bir sorgu çalıştırdığınızda, karşılık gelen koordinat boyut belirtimi olmalıdır.

HierarchyMembers Bir tek hiyerarşisinden üyeleri üzerinde bulunan bir boyut.

Eylem için bir sorgu çalıştırdığınızda, karşılık gelen koordinat boyut belirtimi olmalıdır.

LevelMembers Üyeleri üzerinde bulunan bir düzey bir boyutun.

Eylem için bir sorgu çalıştırdığınızda, karşılık gelen koordinat düzey belirtimi olmalıdır.

AttributeMembers Bir öznitelik üye bulunur.

Eylem için bir sorgu çalıştırdığınızda, karşılık gelen koordinat bir öznitelik üye olmanız gerekir.

Açıklamalar

Yeni: 17 Temmuz 2006

Örnekler

Bu bölümde iki örnek içerir; bir örnek için ÇYN kullanarak küme eylem ve adomd kullanarak başka bir örnek.İstemci, istemci kodundan eylem almak için net.

Aşağıdaki örnek ÇYN kullanır, Eylem küme gösterilmiştir.Bu örnek, AMOAdventureWorks örnek veritabanına bağlanır ve parametresi olarak geçirilen küp "Havacılık" olduğunu varsayar.

ÇYN kodunda eylem hedef türü olarak tanımlanan dikkat edin Cells ve eylem tüm hücreler için tanımlanan ölçü grubu "Bayi satış".De ADOMD.NET kodu, ilgili koordinat türü olan MDACTION_COORDINATE_CELL tarafından tanımlama grubu eşlik eden 6, = ([ölçümleri]. [Bayi sipariş miktarı], [Product].[Kategori].&[3]) olarak eylem bulmak için koordinatı.

C# kodu yazılır.

#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 kullanan aşağıdaki örnek.net istemci, eylem örnek doğru biçimde tanımlandığını doğrulayın gösterilmiştir.

Parametreleri aşağıdaki gibi verildi.

catalog_name AMOAdventureworks =

cube_name = Adventure Works

KOORDİNAT = ([ölçümleri]. [Bayi sipariş miktarı], [Product].[Kategori].&[3])

COORDINATE_TYPE = 6

C# kodu yazılır.Sunucuadı, bir System.Windows.Forms.TextBox nesnesi bir Form üzerinde.

#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++;
}
    }

}

Kodu çalıştırdıktan sonra aşağıdaki sonuçlar göreceksiniz.

Tablo [rowsetTable] 1 satır vardır.

[0] CATALOG_NAME: AmoAdventureWorks

[0] SCHEMA_NAME:

[0] CUBE_NAME: Adventure Works

ACTION_NAME [0]: Bayi ayrıntıları

[0] ACTION_TYPE: 256

[0] KOORDİNATI: ([Ölçümleri].[Bayi sipariş miktarı] [Product].[Kategori].&[3])

[0] COORDINATE_TYPE: 6

[0] ACTION_CAPTION: DrillThrough...

[ 0] AÇIKLAMASI:

[0] İÇERİĞİ: DRILLTHROUGH seçin ([ölçümleri]. [Bayi sipariş miktarı], [Product].[Kategori].&[3]) üzerinde 0 [Adventure Works]-[bayi satış] return.[Bayi satış tutarı], [bayi satış].[Bayi sipariş miktarı] [bayi satış].[Bayi birim fiyat], [$bayi].[Bayi], [$Product].[Ürün adı]

[0] UYGULAMA:

[0] ÇAĞIRMA: 1

Ayrıca bkz.

Başvuru