MSDN Library

AdomdConnection.CubeOpened Event

Occurs when the cube is opened.

Namespace:  Microsoft.AnalysisServices.AdomdServer
Assembly:  msmgdsrv (in msmgdsrv.dll)

Public Event CubeOpened As EventHandler
Dim instance As AdomdConnection 
Dim handler As EventHandler 

AddHandler instance.CubeOpened, handler

The following code is part of the Analysis Services Personalization Extensions (ASPE) and shows how to use CubeClosing and CubeOpened events.


The following sample code can also be downloaded from the Microsoft SQL Server Samples and Community Projects Web site.

using System;

using System.Collections.Generic;

using System.Text;

using Microsoft.AnalysisServices.AdomdServer;

namespace ISV_1.ASClientExtensions


public class SessionMgr


public SessionMgr()


Context.CurrentConnection.CubeOpened += new EventHandler(CubeOpened);

Context.CurrentConnection.CubeClosing += new EventHandler(CubeClosing);





public void CubeOpened(object sender, EventArgs e)


String username = Context.CurrentConnection.User.Name;

username = username.Substring(username.IndexOf('\\')+1).ToLowerInvariant();

//Verify and set user experience for opened cube

// that is define calculated members according to user profile.

AuthoringAndManagement.DefineMembers(Context.CurrentDatabaseName, Context.CurrentCube.Name, username);

// that is define KPIs according to user profile

AuthoringAndManagement.DefineKPIs(Context.CurrentDatabaseName, Context.CurrentCube.Name, username);

// that is define sets according to user profile.

AuthoringAndManagement.DefineSets(Context.CurrentDatabaseName, Context.CurrentCube.Name, username);


public void CubeClosing(object sender, EventArgs e)


//Close and discard any object that requires clean-up




Community Additions

© 2015 Microsoft