How to optimize a MDX aggregation functions containing "Exists"?

I have the following calculated measure:
sum(([D Player].[Player Name].[All],
exists([D Match].[Match Id].children,([D Player].[Player Name].currentmember,[Measures].[In Time]),"F Player In Match Stat" ))
,[Measures].[Goals])
Analyzing this calculated measure (the one with "nonempty") in MDX Studio shows "Function
'Exists' was used inside aggregation function - this disables block computation mode".
Mosha Pasumansky spoke about this in one of his posts titled "Optimizing
MDX aggregation functions" where he explains how to optimize MDX aggregation functions containing "Filter",
"NonEmpty", and "Union", but he said he didn't have time to write about Exists, CrossJoin, Descendants, or EXISTING (he posted this in Oct. 2008 and the busy man didn't have time since that date :P )... so anyone knows an article that continues
on what Mosha miss or forgot? how to optimize a MDX aggregation function containing "Exists"? what can I do to achieve the same as this calculated measure but in block mode not cell-by-cell mode ?

Sorry for the late replay.
I didn't check if your last proposed solution is faster or not, but I'm sorry to say that it gave the wrong result, look at this:
Player Name
Players Team
Goals Player Scored with Team
A
Team's Goals in Player's Played Matches
Lionel Messi
Argentina
28
28
110
Lionel Messi
Barcelona
341
330
978
The correct result should be like the green column. The last proposed solution in the red column.
If you look at the query in my first post you will find that the intention is to find the total number of goals a team scored in all matches a player participated in. So in the above example Messi scored 28 goals for Argentina (before the last world cup:)
)  when the whole Argentinian team scored 110 goals (including Messi's goals) in those matches that Messi played even one minute in.

Similar Messages

  • How to optimize a acceleration / friction function more

    Hello !
    In few words what the code does:
    It starts rotating from a speed of 2 deg and for 5 secs it accelerates to 20 deg per sec.
    after that , the speed of rotation stays 20deg  for 10 secs and after the 10 secs are over
    it gets in the friction function where it slows down back to 2deg a sec.
    but ! as I am not that good with optimization and writing clean code I see myself in a need to ask if this is a good code or it can be done even better (more optimized and cleaner).
    The code is this :
    Box() is a simple box shape ,nothing more
              import flash.display.MovieClip;
              import flash.events.Event;
              public class Main extends MovieClip
                        protected var _box:Box = new Box();
                        private var fps:Number = stage.frameRate;
                        private var step:Number = 20;
                        private var minStep:Number = 2;
                        private var time:Number = 5;
                        private var increment:Number = (step - minStep) / (time * fps);
                                                                                              // 20 - 2 / 5 * 30
                                                                                              // 18 / 150
                                                                                              // 0.12
                        protected var timePassed:Number = 0
                        public function Main()
                                  _box.x = stage.stageWidth/2 - _box.width/2;
                                  _box.y = stage.stageHeight/2 - _box.height/2;
                                  this.addChild(_box);
                                  stage.addEventListener(Event.ENTER_FRAME, constantMovement);
                        private function friction():void
                                   _box.rotation += step;
                                      step -= increment;
                                      step = Math.max(2, step);
                        private function acceleration():void
                                   _box.rotation += minStep;
                                   minStep += increment;
                                   minStep = Math.min(minStep, 20);
                        private function constantMovement(event:Event)
                                  if(minStep < 20)
                                            acceleration()
                                  else if(minStep >= 20 && timePassed <= 10)
                                            _box.rotation += 20;
                                            timePassed += 10 / (time * fps)
                                            trace("timePassed :" + timePassed)
                                  else if (minStep >= 20 && timePassed >= 10)
                                            friction();
    If there is something more it can be done please tell me/ help me.

    You can do the following:
    1. Replace the last else if (minStep >= 20 && timePassed >= 10) with simply else, as the condition would always be true if control reaches there.
    2. Store the value 10 / (time * fps) in a private variable and use that directly, rather than evaluating it each time as the value remains constant.
    You can also try replacing the if-else-if block with a switch-case block on a state variable in the class (with values as 0, 1, 2 signifying accelerating, constant speed and decelerating, you can define symbolic constants to hold the values). Initialize the variable with value 0 (accelerating), change it to 1 when minStep becomes 20 and so on. Point#2 still holds good in this case too.
    -Dharmendra

  • I erroneously deleted some background icons, that now have left me with only thumbnail images, what appears when I want to enlarge is a grey circle containing a black exclamation symbol, how can I get back full function and undo my mistake

    I have erroneoulsy deleted icons repetious images from the computer which then affected my iphoto images, leaving me in some cases only with the thembnail image.   When I try to enlarge or perform any other function all that appears is a black field containing a grey circle with a black exclamation symbol( !)
    within it.  How to I get back full function of these affected images and undo my goof up.   I have tried restore, but my attempts have not proved successful. 
    Help !!!
    silvercoho

    What exactly did you do to delete these?
    How did you try to "restore" and what did you try to restore?
    Probably the only solution is to restore your backup of the iPhoto library  from before you did this
    LN

  • Mdx-queries: how to optimize their processing?

    hi there. I have a problem with mdx-queries processing. For now mdx-queries are processed as follows:
    if I refer a dimension in an mdx-query the OLAP processor while creating a cube downloads into internal memory the whole SID-table and then the whole P- and Q- tables for the corresponding charachteristic are being downloaded as well. And it doesn't take in account any filters used in a query on this stage, i.e. the whole axis is downloaded.
    Does anyone know if there is a possibility to optimize the mdx-queries processing in  SAP BW? How to make it take in account filters on the stage of downloading master data for the cube?
    We use the SAP BW 3.5 version.

    hi there. I have a problem with mdx-queries processing. For now mdx-queries are processed as follows:
    if I refer a dimension in an mdx-query the OLAP processor while creating a cube downloads into internal memory the whole SID-table and then the whole P- and Q- tables for the corresponding charachteristic are being downloaded as well. And it doesn't take in account any filters used in a query on this stage, i.e. the whole axis is downloaded.
    Does anyone know if there is a possibility to optimize the mdx-queries processing in  SAP BW? How to make it take in account filters on the stage of downloading master data for the cube?
    We use the SAP BW 3.5 version.

  • How to optimize this sql by writing MINUS function.

    Hi all,
    how to optimize the sql by writing MINUS function.
    these are my tables
    1. CREATE TABLE POSTPAID
    RECORD VARCHAR2(2000 BYTE),
    FLAG NUMBER
    Record format:
    Mobile no in 1:10 of that length
    2. CREATE TABLE SUBSCRIBER
    PHONE_NO VARCHAR2(10 BYTE)
    My requirement is following sql need write using ‘minus’ as this one is very slow
    select record record from POSTPAID where substr(record,9,10) NOT in (select PHONE_NO from SUBSCRIBER)
    Thanks

    Why are you very particular about using "MINUS". You can optimize the sql by using "NOT EXISTS" instead of "NOT IN" as below:
    SELECT RECORD FROM POSTPAID A WHERE NOT EXISTS (SELECT 1 FROM SUBSCRIBER B WHERE SUBSTR(A.RECORD,9,10) = B.PHONE_NO)

  • Create a View with Aggregation Function (COUNT)

    I've been looking up and down for a way to create a view with a few basic fields and some other fields containing aggregation function.
    For instance:
    To display a view that contain all the Contract Agreement and the corresponding count of the PO releases.
    Agreement Nbr, Total PO releases
    I need this view so that I can create a search help with this view.
    I found something about the "CREATE VIEW" statement, but I don't have any idea how to use it.
    Any helps toward this matter is very much appreciated, thanks.

    Hello Aldern
    I guess you have read about the SQL statement "CREATE VIEW". When we create a view in the dictionary this SQL statement is finally called to create the view on the DB. Thus, since we do not have any aggregation options in views you cannot achieve what you want using views.
    The solution for your problem is to create a <b>search help</b> having a <b>search help exit</b>. Within the exit you can do your aggregation functions and add these values to the displayed search help data.
    Regards
      Uwe

  • Dimension table to support Hierarchy and the aggregation functions

    Hello expert,
    Now I seem to know why those aggregation functions e.g. SUM, COUNT failed whenever the report is executed.
    I have a fact table REJECT_FACT contains all the information of rejects:
    Reject ID
    Reject Category
    Reject Code
    Reject Desc
    Site Desc
    Site Code
    Region Desc
    Age Group
    Reject Date
    So I created a alias REJECT_DIM based on REJECT_FACT. After several trials, I think that the aggregation functions do not work with alias because after I remove the REJECT_DIM, the aggregation seem working.
    Is my concept right? Or I am missing something? I don't understand that the data model for datawarehouse should be simple, why do we need to create many dimension tables to support the hierarchy?

    Hello expert,
    Thank you very much for your reply.
    Actually the data model is very simple. There is only one physical table REJECT_FACT. The structure is as follows:
    Reject ID (NUMBER)
    Reject Category (VARCHAR2)
    Reject Code (VARCHAR2)
    Reject Code Desc (VARCHAR2)
    Site Desc (VARCHAR2)
    Site Code (VARCHAR2)
    Region Desc (VARCHAR2)
    Age Group (VARCHAR2)
    Reject Date (DATE)
    The hierarchy required is as follows:
    Reject Category -> Reject Code Desc -> Site Desc -> Region Desc -> Age Group -> Reject Date.
    I want to produce count on each hierachy level.
    How to populate the hierachy structure effectively?
    Thanks......

  • Aggregation function for field in ALV Webdynpro ABAP

    Dear all,
    Can I create aggregation function on one field of ALV WDA which that is currency type field and then display the result based on currency key field?
    i've tried using code as shown below
      lo_wd_field = lo_model->if_salv_wd_field_settings~get_field( 'TOTAL' ).
      DATA: lo_field_aggr TYPE REF TO cl_salv_wd_aggr_rule.
      lo_field_aggr = lo_wd_field->if_salv_wd_aggr~create_aggr_rule( ).
      CALL METHOD lo_field_aggr->set_aggregation_type
        EXPORTING
          value = if_salv_wd_c_aggregation=>aggrtype_total.
      lo_wd_field->set_reference_field_type( if_salv_wd_c_field_settings=>reffieldtype_curr ).
      lo_wd_field->set_reference_field( 'WAERS' ).
    and then i've tried enabled standard function as shown below
    lo_model->if_salv_wd_std_functions~set_aggregation_allowed( abap_true ).
    But Why result of aggregation is not formatted based on currency key?
    Best regards,
    Agnis Virtinova Avency

    Hi Virtonova,
    My requirement is also simillar.
    I want to aggregate total based on Currency key.
    In the total for sub groups and final total with out any text or Description getting only single or double or triple ( dots ). .
    Is it possible to populate / change with useful text or decription for those rows.
    I am not getting Currency type after the total/sub totals.
    how to fix this in ALV list after using aggregate for the ALV.
    Thanks in advance.
    Dav

  • How to use BO as a Rule Container?

    Hi Gurus,
    my requirement is Based on Fundcenter and FMArea in FMBBC to fetch the User(BOSSID) from FMSB Application.
    i created two containers (Fundcenter & FMArea) by using FMFCTR table. but the screen field values (Fundcenter & FMArea) in FMBBC are not passing to the rule container. i think by using BO we can pass those values (Fundcenter & FMArea).
    FMArea is avialble in BUS0050, but fundcenter is delegated to ZBUS0050.
    i created a rule for FMBBC Application. but i want to create a rule container by using BO BUS0050. how can we call it in Function Module.
    SWC_GET_ELEMENT 'BUS0050' L_BUS0050
    how can i declare it is in declaration of FM?
    I need Input parameters are FundCentre and FMArea from BUS0050 to fetch the User (BOSSID) from FMSB Application?
    Plz help me, how can i use BO as a container to my requirement ?

    Hi Agardipkar,
    i cheked the Rule. but iam unable to understand , iam a new one. i already wrote a code for Rule. please tell me if i use the BO, what are the changes required in my code. plzzzz
    Workflow Container is BO -> BUS0050.
    Rule container is BO->BUS0050 
    My Input parameters are FMAREA and FUNDCENTER, to fetch the BOSSID.
    FUNCTION ZFM_RULE_BUDGET.
    ""Local Interface:
    *" TABLES
    *" AC_CONTAINER STRUCTURE SWCONT
    *" ACTOR_TAB STRUCTURE SWHACTOR
    *" EXCEPTIONS
    *" FMAREA_NOT_FOUND
    *" FUNDCENTER_NOT_FOUND
    *" AUTHORIZER_NOT_FOUND
    INCLUDE <CNTN01>.
    TABLES : FMFCTR.
    DATA : L_FMAREA TYPE FMFCTR-FIKRS,
    L_FUNCEN TYPE FMFCTR-FICTR,
    WA_ACTOR TYPE SWHACTOR,
    L_BOSSID TYPE FMFCTR-BOSSID,
    NUM_LINES TYPE I.
    CONSTANTS: C_VALUE(2) TYPE C VALUE 'US'.
    SWC_GET_ELEMENT AC_CONTAINER 'FMAREA' L_FMAREA.
    IF SY-SUBRC NE 0.
    RAISE FMAREA_NOT_FOUND.
    ENDIF.
    SWC_GET_ELEMENT AC_CONTAINER 'FUNDCENTER' L_FUNCEN.
    IF SY-SUBRC NE 0.
    RAISE FUNDCENTER_NOT_FOUND.
    ENDIF.
    IF L_FMAREA IS NOT INITIAL AND L_FUNCEN IS NOT INITIAL.
    to get the authorizer from FMSB Application by using fundcenter and FMArea.
    SELECT SINGLE BOSSID FROM FMFCTR INTO L_BOSSID
    WHERE FIKRS = L_FMAREA
    AND FICTR = L_FUNCEN.
    IF SY-SUBRC EQ 0.
    WA_ACTOR-OTYPE = C_VALUE.
    WA_ACTOR-OBJID = L_BOSSID.
    APPEND WA_ACTOR TO ACTOR_TAB.
    ENDIF.
    ENDIF.
    DESCRIBE TABLE ACTOR_TAB LINES NUM_LINES.
    IF NUM_LINES IS INITIAL.
    RAISE AUTHORIZER_NOT_FOUND.
    ENDIF.
    ENDFUNCTION.

  • How to find the type of objects contained in a Stored Package?

    Hello,
    I need to populate all the procedures and functions contained in a package. I have rewritten a query like this
    "SELECT PROCEDURE_NAME FROM ALL_PROCEDURES WHERE OBJECT_NAME = 'MYPACKAGENAME'
    Above Query returns a record, having NULL PROCEDURE_NAME value. Why?
    I also want the 'type' of object (stored procedure/function ) contained in the a package.
    How to fetch it?
    Following query always returns object type 'PACKAGE', which is of no use for me. I want to know if it is stored procedure or function.
    SELECT PROCEDURE_NAME, *OBJECT_TYPE* FROM ALL_PROCEDURES WHERE OBJECT_NAME = 'MYPACKAGENAME'
    Cheers,
    Machhindra

    Hi,
    Just thinkin Out of Box way... :-
    Microsoft Windows [Version 5.2.3790]
    (C) Copyright 1985-2003 Microsoft Corp.
    F:\Documents and Settings\Administrator>sqlplus scott/tiger@service1
    SQL*Plus: Release 10.2.0.1.0 - Production on Fri Sep 26 21:49:03 2008
    Copyright (c) 1982, 2005, Oracle.  All rights reserved.
    Connected to:
    Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
    With the Partitioning, OLAP and Data Mining options
    SQL> CREATE OR REPLACE PACKAGE emp_mgmt AS
      2  FUNCTION hire (last_name VARCHAR2, job_id VARCHAR2,
      3     manager_id NUMBER, salary NUMBER,
      4     commission_pct NUMBER, department_id NUMBER)
      5     RETURN NUMBER;
      6  FUNCTION create_dept(department_id NUMBER, location_id NUMBER)
      7     RETURN NUMBER;
      8  PROCEDURE remove_emp(employee_id NUMBER);
      9  PROCEDURE remove_dept(department_id NUMBER);
    10  PROCEDURE increase_sal(employee_id NUMBER, salary_incr NUMBER);
    11  PROCEDURE increase_comm(employee_id NUMBER, comm_incr NUMBER);
    12  no_comm EXCEPTION;
    13  no_sal EXCEPTION;
    14  END emp_mgmt;
    15  /
    Package created.
    SQL>
    SQL> SELECT PROCEDURE_NAME FROM ALL_PROCEDURES WHERE OBJECT_NAME = 'EMP_MGMT';
    PROCEDURE_NAME
    CREATE_DEPT
    HIRE
    INCREASE_COMM
    INCREASE_SAL
    REMOVE_DEPT
    REMOVE_EMP
    6 rows selected.
    Now you requirement
    SQL> SELECT PROCEDURE_NAME,A.OBJECT_NAME,OBJECT_TYPE FROM ALL_PROCEDURES A, USER_OBJECTS UO WHERE UO.OBJECT_NAME = A.O
    BJECT_NAME AND A.OBJECT_NAME='EMP_MGMT';
    PROCEDURE_NAME                 OBJECT_NAME
    OBJECT_TYPE
    REMOVE_EMP                     EMP_MGMT
    PACKAGE
    REMOVE_DEPT                    EMP_MGMT
    PACKAGE
    INCREASE_SAL                   EMP_MGMT
    PACKAGE
    PROCEDURE_NAME                 OBJECT_NAME
    OBJECT_TYPE
    INCREASE_COMM                  EMP_MGMT
    PACKAGE
    HIRE                           EMP_MGMT
    PACKAGE
    CREATE_DEPT                    EMP_MGMT
    PACKAGEIn oder to know the type of Object why don't you simple decribe in order know the Object definition it self.. instead of firing queries...Don't you thinl it easy of use.. !! you will get better Explanation about your Package
    SQL> desc EMP_MGMT;
    FUNCTION CREATE_DEPT RETURNS NUMBER
    Argument Name                  Type                    In/Out Default?
    DEPARTMENT_ID                  NUMBER                  IN
    LOCATION_ID                    NUMBER                  IN
    FUNCTION HIRE RETURNS NUMBER
    Argument Name                  Type                    In/Out Default?
    LAST_NAME                      VARCHAR2                IN
    JOB_ID                         VARCHAR2                IN
    MANAGER_ID                     NUMBER                  IN
    SALARY                         NUMBER                  IN
    COMMISSION_PCT                 NUMBER                  IN
    DEPARTMENT_ID                  NUMBER                  IN
    PROCEDURE INCREASE_COMM
    Argument Name                  Type                    In/Out Default?
    EMPLOYEE_ID                    NUMBER                  IN
    COMM_INCR                      NUMBER                  IN
    PROCEDURE INCREASE_SAL
    Argument Name                  Type                    In/Out Default?
    EMPLOYEE_ID                    NUMBER                  IN
    SALARY_INCR                    NUMBER                  IN
    PROCEDURE REMOVE_DEPT
    Argument Name                  Type                    In/Out Default?
    DEPARTMENT_ID                  NUMBER                  IN
    PROCEDURE REMOVE_EMP
    Argument Name                  Type                    In/Out Default?
    EMPLOYEE_ID                    NUMBER                  IN
    SQL>- Pavan Kumar N

  • How to optimize xquery expression ?

    hi,
    i got berkeley db xml database with containers: dicom.dbxml and instancemetadata.dbxml.
    dicom.dbxml contains documents as follow:
    <?xml version="1.0" encoding="UTF-8"?>
    <instance docid="dicom_1009">
         <dicom_item>
              <dicom_header>
                   <dicom_tag group="0002" element="0000" vr="UL">194</dicom_tag>
                   <dicom_tag group="0002" element="0001" vr="OB"/>
                   <dicom_tag group="0002" element="0002" vr="UI">1.2.840.10008.5.1.4.1.1.2</dicom_tag>
                   <dicom_tag group="0002" element="0003" vr="UI">2.16.840.1.113662.2.1.4519.41582.4105152.419990505.410523251</dicom_tag>
                   <dicom_tag group="0002" element="0010" vr="UI">1.2.840.10008.1.2.1</dicom_tag>
                   <dicom_tag group="0002" element="0012" vr="UI">2.16.840.1.113662.2.1.1</dicom_tag>
                   <dicom_tag group="0002" element="0016" vr="AE">PHOENIXSCP</dicom_tag>
              </dicom_header>
              <dicom_body>
                   <dicom_tag group="0008" element="0000" vr="UL">596</dicom_tag>
                   <dicom_tag group="0008" element="0005" vr="CS">ISO_IR 100</dicom_tag>
                   <dicom_tag group="0008" element="0008" vr="CS">ORIGINAL\PRIMARY\AXIAL</dicom_tag>
                   <dicom_tag group="0008" element="0012" vr="DA">1999.05.05</dicom_tag>
                   <dicom_tag group="0008" element="0013" vr="TM">10:52:34.530000</dicom_tag>
                   <dicom_tag group="0008" element="0016" vr="UI">1.2.840.10008.5.1.4.1.1.2</dicom_tag>
                   <dicom_tag group="0008" element="0018" vr="UI">2.16.840.1.113662.2.1.4519.41582.4105152.419990505.410523251</dicom_tag>
                   <dicom_tag group="0008" element="0020" vr="DA">1999.05.05</dicom_tag>
                   <dicom_tag group="0008" element="0021" vr="DA">1999.05.05</dicom_tag>
                   <dicom_tag group="0008" element="0022" vr="DA">1999.05.05</dicom_tag>
                   <dicom_tag group="0008" element="0023" vr="DA">1999.05.05</dicom_tag>
                   <dicom_tag group="0008" element="0030" vr="TM">10:52:34.530000</dicom_tag>
                   <dicom_tag group="0008" element="0031" vr="TM">10:52:34.530000</dicom_tag>
                   <dicom_tag group="0008" element="0032" vr="TM">10:52:34.530000</dicom_tag>
                   <dicom_tag group="0008" element="0033" vr="TM">10:52:32.510000</dicom_tag>
                   <dicom_tag group="0008" element="0060" vr="CS">CTTR</dicom_tag>
              </dicom_body>
         </dicom_item>
    </instance>
    instancemetadata.dbxml contains documents as follow:
    <?xml version="1.0" encoding="UTF-8"?>
    <instancemetadata xmlns="imuba.med" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="imuba.med Instancemetadata.xsd">
              <name/>
              <notes/>
              <id>instancemetadata_1</id>
              <instanceid>dicom_1</instanceid>
              <createusername>dd</createusername>
              <createdate>Tue May 02 21:08:06 CEST 2006</createdate>
              <lastmodusername>dd</lastmodusername>
              <lastmoddate>Tue May 02 21:08:06 CEST 2006</lastmoddate>
         </instancemetadata>
    and i got XQuery expression:
    declare namespace n = "imuba.med";
    declare variable $insCont external;
    for $ins in collection(concat(concat("dbxml:containers/", string($insCont)),".dbxml"))/instance,
         $met in collection("dbxml:containers/instancemetadata.dbxml")/n:instancemetadata
    where
    $ins/dicom_item/dicom_body/dicom_tag[@group='0008' and @element='0060'] = "CTTR" and
    $ins/@docid = $met/n:instanceid
    return
    <row>
    { $ins/@docid }
    { $met/n:name }
    { $met/n:notes }
    { $met/n:id }
    { $met/n:instanceid }
         { $met/n:createusername }
    { $met/n:createdate }
    { $met/n:lastmodusername }
    { $met/n:lastmoddate }
    </row>
    while i got 5000 documents in dicom container, the xquery execution time is close to 10 secs. i've tried to create indices using commands:
                        XmlIndexSpecification is = xcDicom.getIndexSpecification();
                        is.addIndex("", "docid", "unique-node-attribute-equality-string");
    and
                        XmlIndexSpecification iss = xcIns.getIndexSpecification();
                        iss.addIndex("imuba.med", "instanceid", "unique-node-element-equality-string");
    And then the execution time is nearly about 7-8 sec, but it's still big (the database contains only 5000 documents).
    Have you any idea how to optimize it ? I suppose the index on element i'm using in the WHERE clause would be helpful (dicom_item/dicom_body/dicom_tag[@group='0008' and @element='0060']). Well, i haven't found concept how to add index on element which can be shown using xpath expression.
    thanks for any help
    Darek

    Hi Darek,
    First off, why not try adding these indexes to see what happens:
    is.addIndex("", "dicom_tag", "node-element-equality-string");
    is.addIndex("", "group", "node-attribute-equality-string");
    is.addIndex("", "element", "node-attribute-equality-string");
    Secondly, what storage model are you using? I would expect you to get better query times using a NodeContainer, with the DBXML_INDEX_NODES flag enabled.
    Thirdly, your "instance" document is not very "XML" like, so you will struggle to get very good query times using that format. If you have control over the format of the document, I would suggest incorporating one or more of the "group", "element", and "vr" attributes into the name of the element - so that you will get multiple elements with different names, instead of one element name with multiple permutations of attributes. Selecting an element by name will always be faster than selecting it by some kind of value.
    Let me know how you get on with these suggestions,
    John

  • How to call a Oracle Proc,which contains Object Type as in Param, from java

    Hi
    Would like to know how to call a Oracle Procedure which contains the Object Type Parameter from java.
    Here is my code will look like...
    1. CREATE OR REPLACE TYPE emp AS OBJECT
    Empno NUMBER,
    Ename VARCHAR2(50)
    [COLOR=royalblue]In step1 I have created object type.[COLOR]
    2.CREATE OR REPLACE PACKAGE ref_pkg IS
    TYPE tab_emp IS TABLE OF emp;
    END ref_pkg;
    [COLOR=royalblue]In step2,I have created a table type which is of type emp;[COLOR]
    3. CREATE OR REPLACE PROCEDURE p_emp(p_emptab IN ref_pkg.tab_emp) as
    BEGIN
    FOR I IN 1..p_emptab.COUNT
    LOOP
    Some code written here
    END LOOP;
    END;
    [COLOR=royalblue]In step3 I have passed tabletype which is of type emp as argument.[COLOR]
    Now I need to invoke this procedure from JAVA.
    Calling a procedure doesn�t matter.
    But how I can map objecttype ? how will java recognize oracle object ?
    How can I implement this ?
    Any Help/Clues is Appreciated.
    Thanks
    Krishna

    Hi Bob
    You can call a stored proc from a database control with the jc:sql annotation itself.
    Assume a stored proc taking one In parameter
    * @jc:sql statement="call sp_updateData({id})"
    void call_sp_updateCust(int id);
    You can even call stored proc with OUT parameters using
    * @jc:sql statement="{call sp_MyProc(?, ?)}"
    void call_sp_MyProc(SQLParameter[] params)
    You can also call stored functions via db control.
    More info and diff ways to call at
    http://e-docs.bea.com/workshop/docs81/doc/en/workshop/guide/controls/database/conStoredProcedures.html
    Thanks
    Vimala

  • Help: How to call a user defined function in a data block query?

    I created a string aggregation function in the program unit, see reference:
    http://www.oracle-base.com/articles/10g/StringAggregationTechniques.php
    I now like to call the function in my data block query. I got the error: ORA-00904: 'concatenate_list' invalid identifier.
    Please help.
    Thank you in advance.
    Jimmy

    Hi,
    You can write UDFs in java in Graphical mapping to enhance your XI Graphical mapping functionality
    The steps for doing it would be:
    1. Click on Create New function Button found on Bottom left corner on your XI Mapping window.
    2. Write your java code.
    3. Run the Mapping Test as usual.
    >>The module that is given here ...where and how it is used.
    The adapters in the Adapter Framework convert XI messages to the protocols of connected external systems and the other way around. When doing so, some
    functionality might need to be added specific to a situation which is possible with the use of custom modules.
    Typical example would be validation of file content when using a File Adapter or modification of the message payload to a common content structure which is not supported by any of the standard SAP modules.
    An Adapter module is developed as an Enterprise Java Bean and is called locally by the Adapter.
    An example on modules :
    <a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/da5675d1-0301-0010-9584-f6cb18c04805">How to develop a module for reading file name in a sender file adapter XI 3.0</a>
    Cheers,
    Chandra

  • I bought Numbers because my Excel files would not work with Mavericks. How can I import a non-functioning Excel file into numbers? (As of now, the file NAME transfers but data is not.) but

    I bought Numbers because my Excel files would not work with Mavericks. How can I import a non-functioning Excel file into numbers? (As of now, the file NAME transfers but data does not.)

    HI Dave,
    I'm surprised you get no message when you attempt opening the Excel document in Numbers.
    I'm assuming Numbers 3.1, since you are running Mavericks.
    Does the Numbers file that opens show any content?
    Does it contain a table?
    How large?
    Does it contain more than one tab (indicating more than one sheet)?
    Do those other tabs contain a table?
    Have you checked those tables for data content?
    There have been cases in the past of imported documents opening with white text on a white background, giving the appearance of containing nothing. Check for this by selecting a block of cells, then applying a Fill colour or a Text colour using the Format button (paintbrush).
    I'd also suggest attempting to open the Excel files using LibreOffice, which can be downloaded from the linked website.
    Regards,
    Barry

  • How to wrte the MDX language in 'Edit Column Formual' in Answer

    Hi Experts,
    Is itpossible to implement the following requirement in OBIEE 11G ?
    How to wrte the MDX language in 'Edit Column Formual' in Answer, like below express in Logic Layer in BMM:
    EVALUATE_AGGR('MAX( %1.members,[Is_Close])', "Sales Cube"."Sales".""."Sales"."Gen5,Time" )
    or
    EVALUATE_AGGR('MAX( Time.currentmember.siblings,%1)', "Sales Cube"."Sales".""."Sales"."Is_Close" )

    Hi JaiG ,
    I have done it, but is it possible to write MDX in Answer? I also look at the 'EVALUATE_AGGR' function in 'Edit Column Formual'.
    The reason I want to do is that some column is dynamical calculation.
    For example:
    I want to Count Store for Sales,so in ESSBASE it has one flag column,if one store has sales in one day, it will be '1', else '0'.
    However, it sum the flag column in ESSBASE Or logical layer in OBIEE for MDX, it will generate wrong result when I select several days.
    The expected result is that I want to calculate MAX store count in several days, not sum. How to write MDX? Thanks.
    The current case is as below:
    I select one day , it will be correct result, such as 1600 stores.
    If I select one more days, it will be sum stores in these days, not MAX. such as 4700 stores(3 days).

Maybe you are looking for

  • Ideas For a Simple Program?

    I need some ideas for a simple program for a project in class. Can anyone help me?

  • Cannot set Windows 7 default printer in Boot Camp

    I discovered today that I cannot set a default printer in Windows 7.  I right click, and try to make one of the printers default but there is no check mark.  One of the programs that I use says I do not have a printer installed.  I can print to my pr

  • Parameterized mapping in pi 7.1

    Hi All In PI 7.1 you can make use of parameters, I want to use the import parameter to pass to my java mapping. The question is can the import parameters only be constants or is there a way to make the fields dynamic? For instance get the value from

  • Characters chopped off when using 'ps -ef'

    Hello all: When I monitor a java process, I use this commond: ps -ef | grep MyJavaServiceit appears that MyJavaService has a long jar file list prepended as the classpath, the above command didn't show all the file names on the console - it's chopped

  • RESTORED WINDOWS ,NOW HAVING ISSUES

    HELLO folks, i had to reinstall windows on my comp, i thought I had backed up my itunes, at any rate i reinstalled i tunes, and when i connected my ipod it recognizes it but i can't add any songs to the ipod and how do i import my songs on ipod to it