SetBuilder Class

Provides the functionality to create immutable sets.

Object
  Microsoft.AnalysisServices.AdomdServer.SetBuilder

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

public sealed class SetBuilder : IDisposable

The SetBuilder type exposes the following members.

  NameDescription
Public methodSetBuilder()Initializes a new instance of the SetBuilder class.
Public methodSetBuilder(Tuple)Initializes a new instance of the SetBuilder class, with a given Tuple.
Top

  NameDescription
Public propertyCountGets the number of Tuple objects in the set.
Public propertyItemGets the specified Tuple object.
Top

  NameDescription
Public method{dtor}Releases all resources used by the SetBuilder.
Public methodAddAdds a Tuple to the set.
Public methodDisposeReleases all resources used by the SetBuilder.
Public methodEquals (Inherited from Object.)
Public methodGetHashCode (Inherited from Object.)
Public methodGetType (Inherited from Object.)
Public methodToSetGets a Set based on the specified Tuple objects.
Public methodToString (Inherited from Object.)
Top

The following example takes a set and a count that indicates the number of tuples to return, and randomly retrieves tuples from the set, returning a final subset.

public Set RandomSample(Set set, int returnCount)
{
    //Return the original set if there are fewer tuples
    //in the set than the number requested.
    if (set.Tuples.Count <= returnCount)
        return set;

    System.Random r = new System.Random();
    SetBuilder returnSet = new SetBuilder();

    //Retrieve random tuples until the return set is filled.
    int i = set.Tuples.Count;
    foreach (Tuple t in set.Tuples)
    {
        if (r.Next(i) < returnCount)
        {
            returnCount--;
            returnSet.Add(t);
        }
        i--;
        //Stop the loop if we have enough tuples.
        if (returnCount == 0)
            break;
    }
    return returnSet.ToSet();
}

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Community Additions

Show: