Jaa


SetBuilder Class

Provides the functionality to create immutable sets.

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

Syntax

'Declaration
<DefaultMemberAttribute("Item")> _
Public NotInheritable Class SetBuilder
    Implements IDisposable
[DefaultMemberAttribute("Item")] 
public sealed class SetBuilder : IDisposable
[DefaultMemberAttribute(L"Item")] 
public ref class SetBuilder sealed : IDisposable
/** @attribute DefaultMemberAttribute("Item") */ 
public final class SetBuilder implements IDisposable
DefaultMemberAttribute("Item") 
public final class SetBuilder implements IDisposable

Inheritance Hierarchy

System.Object
  Microsoft.AnalysisServices.AdomdServer.SetBuilder

Example

The following example takes a set and a return count, 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();
}

Thread Safety

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

Platforms

Development Platforms

For a list of the supported platforms, see Hardware and Software Requirements for Installing SQL Server 2005.

Target Platforms

For a list of the supported platforms, see Hardware and Software Requirements for Installing SQL Server 2005.

See Also

Reference

SetBuilder Members
Microsoft.AnalysisServices.AdomdServer Namespace