Characteristics Comparison in Query - Ideas

Hello Everyone
I am hoping to get some ideas for my problem.  We have a handful of cubes that have cost center charged and cost center originating.  Many user request to be able to just report on cross charging (originating not equal to charged).  I have written a macro in the refresh event that eliminates record where the two are the same.  It works very well and allows all normal BW operations to be performed.  But it is not efficient from the perspective that it can only analyze the records after they have been returned (so excel limitations for number of records takes over before I can reduce the amount of records with the macro).
Does anyone have ideas on how else I could handle this?  I looked at the option of creating a "cross charge" characteristic in the cubes. Just a Y/N indicator, but that poses issues I would rather not deal with. 
Any suggestions would be much appreciated.  I'm sure there is something obvious I am not thinking of, or am just not aware of.
Thanks
Eric

Hi Eric,
You could create characteristic variables for both the Cost Centers of type replacement path and replace them by the key value of Cost center.
Then have a Formula to check for Cost Center 1 = Cost Center2 and eliminate all the ones that match by a condition where Formula Not equal to 1.
You can refer to this document which gives you an idea about calculating with attributes.
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/biw/g-i/how to calculate with attributes
Hope this helps..
Let me know if you require any further clarification.
ashish

Similar Messages

  • Limitation of Characteristics in a Query

    Hey Guys,
    Is the limit of characteristics in a query restricted to 50?  I have an error message stating that: "Maximun number (50) of drilldown characteristics is exceeded".
    Please advise.
    Timi Jones

    Hi,
    Read note 1117281 "reasons and Prerequisites".
    Rgds
    Manoj kumar

  • Formulas and restrictions on characteristics in a query

    Hi Guys
    This might seem like a strange question but can you perform formulas on characteristics in a query or just key Figures.  
    For instance for one query I have to substring the key to just the last two characters and on another I'd like to be able to display the product id twice based on the product type (like a restricted key figure)
    I can't see how to do this in the query is there a way or should this be done in the info cube or in the report once the results have been obtained?

    hi rachel,
    u can create in routine in either transfer rules or the update rules that would restrict your characteristic value to only the last two characters.Now it is up to you to decide whether to restrict the original characteristic or create another characteristic which gets its value from these routine.
    for the second part of your question i think the restricted keyfigure will do its job.
    reward if it helps,
    ajay

  • Hierarchy nodes as characteristics in a query

    Hi all,
    I would like to ask if there is a way to use hierarchy nodes of InfoObject 0cost_elemnt as characteristics in a query.
    In other words I have a grouping of cost elements in R/3 and uploaded this group as a hierarchy in BW. Now the users want to have the ability to drag and drop in a query report any node of this hierarchy.
    Can this be done?
    Thanks in advance,
    Panos

    Hi,
    I guess, if I am getting you correctly the user wants to see teh hierarchy levels individually or on adhoc basis.
    Is that right?
    Regards,
    Ray

  • Concatenate 4 Characteristics in a Query

    Hello,
    Can someone tell me how to concatenate 4 characteritics into 1 cell in a report without using Visual Basic?
    We want combine these four characteristics into 1 field, so we have something like a very long tekststring in a query.
    Regards,
    Jos

    hi Jos,
    check the how to doc
    basically the idea is hide the other columns and concatenate it to one column using table interface (abap class se24)
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/f0aca990-0201-0010-0380-f3aac4127a57
    and search with 'more than 60 char' and 'sdn forum' may lead to some thread discuss this
    Concatinating text char
    60 Character Limitation - Dirk Herzog please help
    Bypassing 60 char limit in an InfoObject
    How to show character length > 60 ,If we split and distribute..??
    hope this helps.

  • Compare characteristics in a query

    Hello,
    we have an InfoCube for FI transactional data and a Master data InfoObject for 'Terms of Payment'. We would like to create a query which compares the 'Terms of Payment' values in the transactional data, as booked by users, with the 'should-be' values of 'Terms of Payment' in the master data, i.e. how the value was posted compared to the value that should be posted.
    Using an infoset our query lists the data of the infocube and infoobject for characteristic 'Terms of Payment'.
    However, we would only like to see the values that are not equal to eachother. If 'Terms of Payment' was a keyfigure, we could use conditions or exceptions but the field in question is a characteristic.
    We could run a macro in Excel and run the report in BEx but the requirement is for web.
    Has anyone an idea how we can compare the characteristic values in a query so that only the unequal values are displayed?
    Thank you,
    Florian

    Hi Florian,
    In that case you will have to use virtual Key figure. Include it in the cube. Since, it is populated at query runtime, no need to refresh data in the cube.
    In the BADI u can check the terms of payment from transaction data and master data and if found equal u can set the virtual KF as 1. And then u can apply a condition in the query not to show records where the KF is 1.
    Best Wishes,
    Mayank

  • Issue with compounding characteristics in the query

    Hello guyz
    I have an issue with 2 chars one compounding the other in the query. The 2 chars are : Action Type and Action Reason in HR. Action type is the compounding char. for action reason.
    For example: we have
    Action Type    Action Reason
    01                        A1
    01                        A2
    02                        A1         
    02                        A2
    Now I want to restrict a key figure based on specific action reasons and types. But when I pick AT: 01, AR: A1, it selects AT: 02, AR: A1. The reason why it does this is because, there are 2 A1s under action reason and it picks the one at the end (ie last record with value A1 in the table)
    But my compounding works when i create variables for the same and have them as user entry variables.
    My question: How do i pick specific action reasons for specific action types (for restricting key figures) in the above example?
    Thanks.

    Well.. thank you Ashish for your help so far.
    Now, these Chars. are coming directly from a data source to the cube. From my previous example again, the thing that i dont understand is:
    When i try restrict the KF with AR, on the left hand side of the pop up window i see:
           AR
    [01, A1] --> Very good
    [01, A2] --> Good
    [02, A3[ --> OK
    [02, A4] --> Bad
    [02, A1] --> Very Bad
    But, when i drag 'A1' (Very Good)  to restrict on the KF on the right hand side of the window, I only get:
    A1 (Very good), what i want to drag is [01, A1] --> very good.. action type value should come along with action reason.. right??
    when i save the query, logout and log back in, I see:
    A1 (Very Bad)
    Question: Why dosen't Action type char come along with action reason on the right hand side.. its a compounding char right?? So it should determine what value action reason takes?
    Any idea??

  • Table names to get list of characteristics used in Query

    Hello,
    I am trying to get separate list of characteristics & key figures used in query. i want that particular table which will give me the list of characteristics. & other table which will give me list of key figures used in that query. I want these characteristics & keyfigures specifically used in query.I don't want the global list dependant on infoprovider but dependant on query like (ZSJM_ZSD_C05_Q001).
    Can anybody help in getting the table names?
    Thanks in advance.

    Hi Deepak,
    You need to go to RSRREPDIR - to get the GUID of the query.
    Then you can work your way through  RS* X *REF (type in this name in SE11/SE16 and press F4 ) table to find the query elements.
    There is also a text table where you can read the component names... but dont have the system at hand, hence cant furnish you that info... I think, it may be RSZELTTXT.
    Also in my opinion the best way to get this information is from metadata repository view in admin workbench.(RSA1). Keep drilling down from the query to its characteristics.. you shall get what you need.
    Also you may use transport connection to display the elements of the query. Just go to the transport connection , in the object list, choose the required query and and transfer it to the collector area. Diplay the elements as a list... you shall then find all your query elements...
    You may not need to traverse through the tables to retrieve this information.
    Hope it helps,
    Best regards,
    Sunmit.

  • Characteristics in IP Query

    Hi,
    I have to create a Input- ready query. for that purpose i have defined a aggregation level over a customized Sales Cube taking data from 2lis_13_vditm. In my aggregation level below chars are invloved -
    Profit center, controlling are (1 fixed value), Company code (Single value), Calender yr month, version, sales group, currency and two key figures 1- for actual Net item value and other is Planing key figure.
    I have created the ready input query marked it to open in change mode, with planning key figure also as input ready.
    But im facing the problem like if i put all the chars  used in my aggregation level in the rows n query than i get Planning key figure as input enabled, and if i put the characteristics in the free chars which i need not to display in the report like cal month (this char i required to restrict various columns to be displayed in the rport like Value for Quarter, Value for a year etc)  it disables the planning column input option.
    So is it mandatory to put all the chars in the rows in query which are used in aggregation level. If we put them in free chars will it not work ?
    Kindly provide the suggestion
    Thanks
    Edited by: Krishanu Saha on Jul 12, 2010 1:28 PM

    Hi,
    For a query to be input ready you can check for following conditions:
    1.Check if the underlying realtime cube is in "Planning Mode:Loading not allowed" state in rsa1
    2. If you have created an aggregation level, Check if the most detailed information is available at that Aggregation Level(i.e, include characteristics so that the record can be uniquely identified at that aggregation level).Best would be to include all characteristics and create a query first and ensure it works.Then remove unwanted charecteristics one by one, so that you can fix the issue.Best thing to start with is to create the aggregation level on top the real time cube itself.
    3. Check for any characteristic restrictions been defined for the real-time cubes.If so, try removing them temporarily and execute the query
    4.Also check if any data slices has been created on the real time cube. If so, try removing it temporarily and then execute the query.
    5. Set the property for Planning "Start query in Change Mode"- this is for the Query
    6. Set the 'Key Figure' Planning Property to "Can be changed Manually or via Planning Functions" for the appropriate KeyFigures- this is for the key figures
    7. Try removing the currency/unit from row/column. Try restricting them in filters rather than in row/columns.
    8. Check if there are any locks occurring due to filter., i.e if you are using a filter and even if 1 record of this selection locks with another user's selection you lose the input readiness.
    Thanks
    Pratyush

  • Characteristic Value comparison at query level

    HI,
    I have to identify the invoices as local or upcountry on the basis of below logic.
    if 0customer->region & country = 0plant->region & country then the invoice is considered as Local Otherwise it is Upcountry..
    How can i do this at query level ?
    If i do  the same at cube level then if a particular cusotmer's region or country is changed then that will not be reflected in the posted data.
    Any help will be appreciated.
    Thanks

    Hi,
    Use the replacement path to convet the characteristica and use it in formula and compare using IF statement.
    Regards,
    Jo

  • Checking text query validity without actually running the query: ideas?

    Hi,
    I would like to implement a sort of function that does a preliminary check on the validity of the search string and ideally this function should work with both CTXCAT and CONTEXT indexes (and grammars).
    Initially I thought that CTXQUERY.EXPLAIN function could do this for me, but, unless I am missing something, it only works with CONTEXT indexes and it doesn't accept a string containing a text query rewrite using CTXCAT grammar (it throws DRG-11119: operation is not supported by this index type).
    Plan B would be to create an empty table with a CONTEXT index and then run the query either with the CONTEXT grammar or the CTXCAT grammar via query rewrite and if the query runs, returning no rows, presumably fast enough for this purpose, then the query string is assumed to be valid.
    What I don't like much about plan B is the need for an additional table plus the "dummy" context indexes just to perform the parsing of the text query, but so far I didn't come up with more brilliant ideas.
    Any thoughts?
    Am I missing something that does the magic without hassle?
    Thanks
    Flavio

    Under normal circumstances I wouldn't do this, as you say I'd just run the query and catch the error, but I need to do this inside a report refresh performed via AJAX (using Oracle Apex) and the catch is that when such refresh fails owing to a syntax error, the partial refresh mechanism of APEX becomes broken, so even if you amend the query and submit a new valid string, it won't show up any more.
    That's why I need to be sure that the string is valid before running the query, hence the syntax checking function.
    The google-style parser sounds interesting, may be I can try to implement it in a future release of my app!
    Thanks
    Flavio

  • Display of Time Characteristics in a Query

    Hi all,
    Is there a<b> way to display a query as follows</b>:
            Month1_____Month2______Month3____Quarter1  
            Shipments__Shipments___Shipments_Shipments
    Material 150_________50_________100________300
    How can I do that in the query designer?
    Thanks a lot
    Christian

    Hello Christian,
    Create a user entry variable for calendar period/year. this will have month1 value ( say 01/2006). Create restricted keyfigures using shipments KF and TimeCharacteristic Calendar Period/Year. For this time characteristic restrict it with the variable that you have created.
    For other two create the restricted kfs or new selection keyfigures in the structure using variable as user exit type with single value. In the exit read the above variable and derive these values.
    For the quaterly values use variable offset using the first created user entry variable.
    Hope this helps,
    GSM.

  • Fonts for drilldown characteristics on web query

    How can I change the fonts of the drilldown characteristics which are part of a Navigation block in a web template? Thanks

    Hi Niten,
    Not usre on this. But these are defined in a stylesheet so I guess you can change that either in the HTML code tab in the web template in WAD. If that is not possible then change it in Report deisgner or change the stylesheet in MIME repository.
    Bye
    Dinesh

  • DAte comparison hampering query??

    Hi,
    I have the following query which is taking 17 seconds to retreive 10 records if date range spans more than 12 months. The explain plan is given below:
    SELECT trunc(calendar_date,'MM'),sum(man_days_demand)
    FROM (
    SELECT TRUNC(cal.calendar_date) calendar_date,
    (-- in line column qry to count the service reqs falling on that specific day
    SELECT nvl(sum(count(ssrj.assigned_field_service_rep)),0)
    FROM sop_service_request_job ssrj, sop_service_request ssr
    WHERE (((cal.calendar_date between ssrj.scheduled_start_date AND
    get_end_date(ssrj.scheduled_start_date,
    ssrj.expected_service_hours,
    ssrj.weekend)))
    OR
    (cal.calendar_date < ssrj.scheduled_start_date and
    cal.calendar_date > get_end_date(ssrj.scheduled_start_date,
    ssrj.expected_service_hours,
    ssrj.weekend)))
    and ssrj.service_request_id = ssr.service_request_id
    and ssrj.assigned_field_service_rep is not null
    and trunc(calendar_date,'MM') = trunc(cal.calendar_date,'MM')
    group by cal.calendar_date
    ) Man_Days_demand
    FROM sop_fiscal_calendar_v cal, sop_service_user ssu, sop_service_request ssr,
    sop_service_request_job ssrj, CSA_PLATFORM_MASTER cpm
    WHERE
    trunc(calendar_date,'MM') between trunc(to_date('&date_range_start_date','mm/dd/yyyy'),'MM')
    AND trunc(to_date('&date_range_end_date','mm/dd/yyyy'),'MM')
    and ssu.sso_id = ssrj.assigned_field_service_rep
    and ssrj.service_request_id = ssr.service_request_id
    GROUP BY calendar_date
    GROUP BY trunc(calendar_date,'MM')
    SELECT STATEMENT, GOAL = CHOOSE
    SORT GROUP BY
      VIEW
       SORT GROUP BY
        FILTER
         NESTED LOOPS
          HASH JOIN
           TABLE ACCESS FULL
           MERGE JOIN CARTESIAN
            MERGE JOIN CARTESIAN
             INDEX FAST FULL SCAN
             BUFFER SORT
              INDEX FULL SCAN
            BUFFER SORT
             INDEX FULL SCAN
          INDEX UNIQUE SCANThe above query returns sum of demand for each month.
    How can i tune this query to perform faster?
    Thanks,
    JP

    Maybe rethink your TRUNC statements?
    One condition in your SELECT statement is:
    trunc(calendar_date,'MM') between trunc(to_date('&date_range_start_date','mm/dd/yyyy'),'MM')
    AND trunc(to_date('&date_range_end_date','mm/dd/yyyy'),'MM')
    You could change that to_
    calendar_date BETWEEN TRUNC(TO_DATE('&date_range_start_date', 'mm/dd/yyyy'), 'MM')
                      AND ADD_MONTHS(TRUNC(TO_DATE('&date_range_end_date','mm/dd/yyyy'), 'MM'), 1)
    not tested
    C.

  • My Comparison of some IDEs in UI Design.

    Hello, all. Right now I am trying to develop some complex UI for an application, and I tried several IDE to do that.
    Eclipse - Visual Editor is shit, it does not support XY Layout, which is very convienent and important for UI designers.
    JBuilder - for some point JBuilder is best - it supports XY Layout, and what's more? You can use XY Layout first, and later on, switch back GridBagLayout! JBuilder tries to do data transfer for you - the components on the frame is almost the same as it is placed with XY Layout! In this way, you are not restricted by some uncommon packages; for other points JBuilder is not best - It is not very steady, if the source code of Java files becomes larger, when I click design button, and tried to see my result, it crashes!
    IntelliJ IDEA - I don't know how to describe my fealing. It introduces some new ideas by using XML as well as Horizental Spacer and Vertical Spacer. But when I look at the code, there is nothing about component properties.
    NetBeans - Well, It supports several good Layouts - Free Layout and Null Layout etc. But if you use these layout, you are bound to some paticular packages, although NetBeans does provide some automatically insertions into jar files.
    Sun One Studio - I am going to try that........................
    Well, above is only some grouse of a novice UI programmer, sorry to waste your time if you don't like it. Anyway, I tried to find and download and install and run some programs and compare resulsts on three IDEs today, and going to try another one. BTW, I use Eclipse for common coding.

    I am looking forward to hearing about your experience with Sun One Studio. I have primarily been using eclipse for coding but recently started a project where the team had been using JBuilder for coding. I got acquainted with JBuilder and began to develop a front end with it. I have gotten some functioning SWING mockups up rather quickly. However, all of my hopes came tumbling down when trying to use the IDE to work with JTabbedPanes. Eclipse's Visual Editor seems to have good support for JTabbedPain, however, like you indicated, I saw no support for the XYLayout manager which I used in JBuilder.
    Boy, I come from VB, VC++ and .Net world and UI development with these technologies is much, much easier. Looking forward to your experience on Sun One, which by the way, I have also tried, but, at the time, not focused on SWING development.

Maybe you are looking for