2 Replies Latest reply on Jan 6, 2010 3:24 PM by Thonnawan

    Sorting of Olap Dimensions

    Thonnawan

      I've been trying to figure out a way to do some sorting on my olap members.  In my searching I came across this page:

      http://livedocs.adobe.com/flex/3/html/help.html?content=olapdatagrid_2.html

       

      Which if you scroll to the bottom says this:

       

      You cannot sort columns by clicking on headers in the OLAPDataGrid control. Sorting is supported at the dimension level so that you can change the order of members of that dimension.

       

      Can anybody point me in the direction of where this is documented?  I have been unable to figure it out myself.

       

      Thanks,

       

      Nate

        • 1. Re: Sorting of Olap Dimensions
          Thonnawan Level 1

          Still looking for a solution to this if anybody is aware of one.

           

          Thanks,

          Nate

          • 2. Re: Sorting of Olap Dimensions
            Thonnawan Level 1

            I've come up with a solution that works, though I would still prefer an actual answer if anybody has one.

             

            Posted for anybody else who might be trying to figure this out:

             

             

            private function cubeProgress(e:CubeEvent):void

            {

             

             

            //Cube progress is not just creation of dimensions, so track total number of dimensions

             

             

            if (e.message && e.total == numOfDimensions)

            {

             

            //Message contains "Processing Dimension xxxxDIM"

             

             

            var testDim:String = e.message.slice(22,e.message.length - 3);

             

            var sort:Sort = new Sort();

             

             

             

            var sortName:SortField = new SortField();

             

            switch (testDim)

            {

             

            case "SalesRep":

            sortName.name =

            "@salesrep";

             

            break;

             

            case "Territory":

            sortName.name =

            "@territory";

             

            break;

             

            //Our numbers come in as strings, so add a compare function

             

             

            case "Probability":

            sortName.name =

            "@probability";

            sortName.compareFunction = compareProbability;

             

            break;

            ............

            ..........

            }

            sort.fields = [sortName];

            list.sort = sort;

            list.refresh();

             

            -Nate