=mooW(“[VARIABLE_NAME]([DIMENSION1_NAME] '[DIMENSION_VALUE]')”, [VALUE], [OPTION])


Enables cell based write back of data to an Oracle OLAP variable within an Analytic Workspace.


Syntax

               =mooW("[VARIABLE_NAME]([DIMENSION1_NAME] '[DIMENSION_VALUE]')", [VALUE], [OPTION])


Return Value


               OBJECT

Arguments


The mooW function is called through three arguments:


       Qualified Data Reference

        

            The first component is a qualified data reference indicating a unique triangulated coordinate within an Oracle OLAP Analytic Workspace variable.


             =mooW("UNITS_CUBE_COST ( customer 'ACCOUNT_BAVARIAN IND' TIME 'MONTH_2006.02'  channel 'TOTAL_TOTAL' product 'TOTAL_TOTAL')", 10, 0)


         In the example above we are triangulating within the UNITS_CUBE_COST to a single cell, the intersection of the specified Customer, Channel, Time and Product dimensions.


       User Supplied value.


         This is the value you wish to upload to the specified intersecting co-ordinates within the OLAP variable.


       =mooW("UNITS_CUBE_COST ( customer 'ACCOUNT_BAVARIAN IND' TIME 'MONTH_2006.02'  channel 'TOTAL_TOTAL' product 'TOTAL_TOTAL')", 10, 0)


       This can be a cell reference to a value within another Excel cell, worksheet or workbook.


       Option


       =mooW("UNITS_CUBE_COST ( customer 'ACCOUNT_BAVARIAN IND' TIME 'MONTH_2006.02'  channel 'TOTAL_TOTAL' product 'TOTAL_TOTAL')", 10, 0)


          The third argument tells the mooW function what you want to do:


               Option   0                

        

                    Passing 0 does nothing on re-calculation of the Excel formula, other than display the value passed as the User Supplied value.

                    This can be useful when working disconnected from the Oracle OLAP data source.


               Option   1


                    Passing 1 writes the User Supplied value back to the Oracle Analytic workspace variable to the intersection supplied in the Qualified Data

                        Reference.


               Option   2                                


                    Passing 2 essentially converts the mooW function into the mooQ function and retrieves the data supplied by the Qualified Data Reference

                        from the intersecting co-ordinates within the Oracle OLAP Analytic Workspace variable.              


Data Types permissible with mooQ


       ALL (with the exception of RAW)


Example


               Option   0 Show the local user supplied value


               =mooW("UNITS_CUBE_COST ( customer 'ACCOUNT_BAVARIAN IND' TIME 'MONTH_2006.02'  channel 'TOTAL_TOTAL' product 'TOTAL_TOTAL')", 10, 0)


                    Option   1 write the user supplied value back to the database


               =mooW("UNITS_CUBE_COST ( customer 'ACCOUNT_BAVARIAN IND' TIME 'MONTH_2006.02'  channel 'TOTAL_TOTAL' product 'TOTAL_TOTAL')", 10, 1)


                    Option   2 shows the database value


               =mooW("UNITS_CUBE_COST ( customer 'ACCOUNT_BAVARIAN IND' TIME 'MONTH_2006.02'  channel 'TOTAL_TOTAL' product 'TOTAL_TOTAL')", 10, 2)


Example Output


               10

               10

               10



Notes


•        mooW can be seen interacting with the OLAP engine through the Oracle OLAP RECAP DML statement.  


•        myObjectiveOLAP supports retrieving and writing of data using mooW on Oracle OLAP cubes of all dimension numbers.


•        No mechanism is supplied to permanently store the written data within the Analytic workspace. This could easily be accomplished by the end-user or

         developer by  using a VBA macro which makes a call through the

       run_nonQ function to attach the AW RW, followed by the data upload, an update; commit and a call to mooAWDetach.

       Alternative controlled and audited write back is available as part the mooServer or Escendo server side products.