Compare Characteristic Values

I have run into a situation where I need to compare 2 characteristic values in a query.  I have one characteristic named "Sales PNL" and one characteristic named "Financial PNL".  The values for these characteristics are text like "BREAD" or "CEREAL".  I need to create a query that returns all the rows where "Sales PNL" does not equal "Financial PNL".  So, a row where both characteristics equal each other should not be returned from the query, but a row where one characteristic equals "CEREAL" and one equals "BREAD" should be returned from the query.  Any ideas on how to accomplish this?

Hi Mark,
What do these chars have as a Key Value (assuming BREAD is the text value)? And then does Sales PNL 101 (Bread) = Financial PNL 101 (Bread)?
If yes, then you can create a formula variable that will be replaced with the key value (101). This converts it into a KF and then you can compare the values in a formula to return 0 or 1. Then create a condition on this formula to display the rows as reqd.
Hope this helps...

Similar Messages

  • Can a Calculated key figure be derived from characteristic value?

    Hi,
    I would like to know whether BW allows to derive a calculated key figure based on a characteristic value. Let us say we have a row like
    PLANT-DAY-INVENTORYQTY
    and based on my plant value, I want to have another column 'CALCULATEDSCRAP' which is derived from 'PLANT' and INVENTORYQTY (I know this is a crude example, but will do for my need)
    Is there any way in BW to get this logic implemented?
    Thanks,
    Ajay Das

    Hi Tom,
    I have a very similar problem. In my if logic i compare to dates  but I don´t understand what you meen by
    "Therefore I suggested to add an attribute to convert the characteristic in a number and use this number for the if logic."
    For the moment, the condition calculates each field individualy correctly but doesn´t treat them as numbers when aggregating.
    Thanks in advance,
    Victor.

  • RSRV Check Check if characteristic values of text table exist in SID table

    Hello Guys,
    I have run the RSRV check Check if characteristic values of text table exist in SID table and I got a warning
    when I check the Text table and compare it to attribute table, total entries in text table is more than entries in attribute table..
    TEXT TABLE DONT HAVE ANY LANGUAGE...
    is it possible that there are more entries in text rather than attributes... again THERE are no language..
    Many Thanks

    try to do a 'select * from table' and catch the
    exception as it might fail if the table doesn't exist.Which might take quite a time if the table is big! If you really want to do that I'd use SELECT * FROM table WHERE 1=2
    A better way is, to ask the DatabaseMetadata object to retrieve information about the table...
    Thomas

  • Conversion of Characteristic Values to SIDs is taking long time

    Hi Experts,
        Cube load is taking more than 7 hrs to complete for 6 million records. Max time is at Conversion of Characteristic Values to SIDs. Cube consists of 500 fields. Load is from DSO to Cube. DSO has 10 fileds with no SID flag check for activation. Remaining fields in the CUBE are pouplated looking in to other DSO's. Start and End routines are executing very fast. How to fasten Conversion of Characteristic Values to SIDs step.  I need to load 15 million records daily as part of delta. any suggestions.
    Thanks
    Sunil

    Hi Sunil,
    Go through the below link, it will be useful
    http://aq33.com/business-warehouse/Articles-05269.html
    Regards,
    Marasa.

  • Get batch characteristic value

    Hi Experts,
    I need to get the characteristic value of a batch if I provide with batch number and characteristic name as parameters.
    Is there any standard function module for this?
    Regards
    Thanks in advance
    Prathib

    Dear,
    BAPI_CLASS_SELECT_OBJECTS gets objects for a class. If you want to retrieve the characteristics, try using BAPI_CLASS_GET_CHARACTERISTICS.
    or check FM CLFM_SELECT_AUSP
    Regards,
    R.Brahmankar

  • Populate Batch characteristic values in create sales order BAPI

    Can anybody help me in populating the batch characteristic values using BAPI_SALESORDER_CREATEFROMDAT2?
    I have checked the related notes provided by SAP, like, 567348 but it will be great if someone can send some code snippet on this.

      Subramanian, Brad and Raja.
      Thanks for your suggestions its were useful, with
      these i can resolve my problem.
       !!! Best Regards !!!
    Raja
      I used the se37 to test bapis, is more easy and fast !!
      and you can save data like variant, and you can simulate the real execution without write any code abap,
    and re-process the times that you need,
    when you know what fields you need you write your abap code faster.
       Thanks !!!
    Message was edited by: Noemi Huerta

  • Performance - Conversion of characteristic values to SID

    Greetings:
    Yesterday I load 556.000 record into an infocube.
    No transformations of any kind. Direct assign for every infoobject. Very simple
    It lasted 1 h 30m to complete the loading.
    It started loading  7 datapackage of 50.000 records each.
    I realized that 3 of those datapackage (#2, #4 and #7) lasted from 41:47min to 41:59min in the "Conversion of characteristic values to SID" task. The other 5 lasted ... seconds.
    Any idea of that could be going on during this conversion?
    I don't understant why some datapackages last so long and other don't.
    Does anybody has any idea about this?
    Thanks in regards.
    Guillermo

    Hi Daniel,
    The SID generation is based upon the Dimension Table and Master data.
    If you see the dimension table can be build with different types like:
    one to many
    many to one
    many to many
    one to one
    So, if the dimension's for that datapacket data is many to many then it has to get all the relations and then it has to assign an SID.
    If it is one to one then there will be no more work to be done by the system to assign the SID's
    Hope you understood the back-end process.
    With Regards,
    Ravi Kanth.

  • Slow dataload into Infocube- Conversion of Characteristic values to SIDs

    Hi All,
    we are facing a slow delta load issue when loading from a DSO into an InfoCube ( approx 150,000 recs).
    After checking the monitor found that
    - The Conversion of Characteristic values to SIDs is taking time
    - The Start Routine time is real quick ( in secs)
    The underlying DSO is hugh and there is no SIDs Generation upon Activation flag set for it
    Master data is loaded first and than we are loading the transaction data.
    i've tried refreshing the stats of the Cube, Reduce the size of the data package,
    Deletion of Indexes than Loading and recreation of Indexes, no joy at all.
    Any comments and recommendations are much appreciated.
    Thanks,
    Natalie

    Hi Natalie,
    The problem for your slow delta load from DSO to cube is because the SIDs Generation upon Activation flag is unchecked at DSO level .
    Becasue of which your activation is faster but your loading from DSO to cube will be slower as you only mentioned that SIDs are being generated .
    One recommendation will be to switch on the property of the DSO SIDs Generation upon Activation flag .
    Are there any secondary indexes also in DSO ?
    You can try deleting them also during loading the data from DSO to cube .
    I guess your change log table is also huge in this case . If possible we can think of deleting the log table also . Then for the new records let it get filled .
    Hope the above reply was helpful.
    Regards,
    Ashutosh Singh .
    Edited by: DEADLOCKS on Apr 21, 2011 5:08 PM

  • Conversion of Characteristic Values to SIDs. Load Very slow

    Hi Experts,
                     We have a slow load issue when loading from a Write-Optimized DSO into an InfoCube. 8 millon recs in 10 hours.
    We check the start, end, and rules routines and every is ok but for all the package the load was very slow in the Conversion of Characteristic Values to SIDs.
    Can any help me with this?
    Thanks a lot,
    Alejandro

    Hi,
    It is because the SIDs Generation upon Activation flag is unchecked at DSO level .
    One recommendation will be to switch on the property of the DSO SIDs Generation upon Activation flag .
    Are there any secondary indexes also in DSO ?
    You can try deleting them also during loading the data from DSO to cube .
    Also load your master data first and activate it before loading it to cube.
    Thanks,

  • BI-IP: Change of characteristic value in ABAP EXIT planning function

    Hi
    I have created a planning function of the type EXIT with reference data without blocks. In method IF_RSPLFA_SRVTYPE_IMP_EXEC_REF~EXECUTE I am going to implement my code.
    Now, one of the purposes is to update the VALIDTO of an existing record. Is it possible to modify the characteristic values directly in C_TH_DATA (thus allowing me to just update the date directly on the record) or can I only append records?
    Cheers!
    /Karsten

    Hi Larse,
    Yes you can change directly your value in a record withou appending a new one,but still it will create 2 records in the delta buffer ready to be save to the cube.
    Reagrds,
    Eitan.

  • BI-IP change characteristic value in FOX

    Hello Guys,
    i want to change the characteristic value in FOX.
    Therefore the FOX runs through all char combinations to identify the highest
    number for the char test.
    This step works fine, but i cant write the value for maxloop in the cube.
    If i try, only the old row is deleted, but i dont get a new row with the calculated value for maxloop.
    the code looks like this:
    DATA LOOP TYPE test.
    DATA MINLOOP TYPE test.
    DATA MAXLOOP TYPE test.
    MINLOOP = 00000.
    MAXLOOP = 00000.
    FOREACH LOOP.
    MINLOOP = LOOP.
    IF MINLOOP > MAXLOOP.
    MAXLOOP = MINLOOP.
    ENDIF.
    ENDFOR.
    MAXLOOP = MAXLOOP + 00001.
    {Amount, EUR, #, #, 00200, 00000000, #, 2007, #, #, #, #, #, #, #} =
    {Amount, EUR, #, #, maxloop, 00000000, #, 2007, #, #, #, #, #, #, #}.
    Any suggestions what is wrong here?
    Regards
    T. Mekler

    Hi,
    You have written
    {Amount, EUR, #, #, 00200, 00000000, #, 2007, #, #, #, #, #, #, #} =
    {Amount, EUR, #, #, maxloop, 00000000, #, 2007, #, #, #, #, #, #, #}.
    But as per the statement  MAXLOOP = MAXLOOP + 00001 the MAXLOOP conatins a new figure. Obviously there will not be any record in the cube for this value of MAXLOOP.
    You are assigning this to the record with MAXLOOP = 00200, so system is assigning zero to  0AMOUNT for the record that is having MAXLOOP=00200 value.
    Make the below corrections and test again:
    DATA NEWLOOP type test.
    NEWLOOP = MAXLOOP + 00001.
    {Amount, EUR, #, #, NEWLOOP, 00000000, #, 2007, #, #, #, #, #, #, #} =
    {Amount, EUR, #, #, MAXLOOP, 00000000, #, 2007, #, #, #, #, #, #, #}.
    Regards,
    Deepti

  • How To get Characteristic values for an Equipment in a particular Class ?

    Hi All,
    How i will get  Characteristic values for an Equipment in a particular Class ?
    Any table or FM ?
    Thanks in advance
    Srikanta Gope

    Hi,
    You can use the FM BAPI_OBJCL_GETDETAIL to fetch the characteristic values for an equipment from the table parameters ALLOCVALUESNUM; ALLOCVALUESCHAR; ALLOCVALUESCURR.
    Or u can use the tables EQUI, KLAH, KSSK, AUSP, CABN
    Regards,
    Aditya

  • How to get Characteristic Values assigned to the line item of Sales Order?

    Hi,
    I want to get the Characteristic Values( Variant Configuration )assigned to First Line Item of Sales Order.
    I was using the Fn. Mod.: VC_I_GET_CONFIGURATION_IBASE,
    this fn. mod. giving all the Characters but not the assigned characteristic values.
    Is there any other way to find characteristic values of sales order.
    Thanks,
    vinayak.
    Message was edited by: vinayaga sundaram

    For example, please see this example program.
    It lists the characteristic names, the values, and the description of the values which are tied to a sales document.
    report zrich_0001.
    * Internal Table for Characteristic Data
    data: begin of i_char occurs 0.
            include structure comw.
    data: end of i_char.
    data: xcabn type cabn.
    data: begin of xcawn,
          atwtb type cawnt-atwtb,
          end of xcawn.
    data: xvbap type vbap.
    parameters: p_vbeln type vbap-vbeln,
                p_posnr type vbap-posnr.
    start-of-selection.
      select single * from vbap into xvbap
                 where vbeln = p_vbeln
                   and posnr = p_posnr.
      clear i_char.  refresh i_char.
    * Retrieve Characteristics.
      call function 'CUD0_GET_VAL_FROM_INSTANCE'
           exporting
                instance           = xvbap-cuobj
           tables
                attributes         = i_char
           exceptions
                instance_not_found = 1.
      loop at i_char.
        clear xcabn.
        select single * from cabn into xcabn
                 where atinn = i_char-atinn.
        clear xcawn.
        select single cawnt~atwtb into xcawn
                   from cawn
                     inner join cawnt
                       on cawn~atinn = cawnt~atinn
                      and cawn~atzhl = cawnt~atzhl
                          where cawn~atinn = i_char-atinn
                            and cawn~atwrt = i_char-atwrt.
        write:/ xcabn-atnam, i_char-atwrt, xcawn-atwtb.
      endloop.
    Regards,
    RIch Heilman

  • Create a new column in a table that compares the value of one column with its previous value

    The DDL:
    DECLARE
    @T TABLE
    IDNO
    int,
    name
    varchar(40),
    [Date]
    datetime2,
    Price1
    float,
    Price2
    float
    DECLARE
    @K TABLE
    IDNO
    int,
    name
    varchar(40),
    [Date]
    datetime2,
    Price1
    float,
    Price2
    float
    INSERT
    INTO @T
    VALUES(22,'C_V_Harris','2014-01-02 10:23:49.0000000',
    23.335,      
    23.347)
    INSERT
    INTO @T
    VALUES(21,'C_V_Harris','2014-01-02 10:05:13.0000000',
    23.357,      
    23.369)
    INSERT
    INTO @T
    VALUES(20,'C_V_Harris','2014-01-02 09:56:15.0000000',
    23.364,      
    23.377)
    INSERT
    INTO @T
    VALUES(19,'C_V_Harris','2014-01-02 09:45:26.0000000',
    23.351,      
    23.367)
    INSERT
    INTO @T
    VALUES(18,'C_V_Harris','2014-01-02 09:43:20.0000000',
    23.380,      
    23.396)
    INSERT
    INTO @T
    VALUES(17,'C_V_Harris','2014-01-02 09:34:28.0000000',
    23.455,      
    23.468)
    INSERT
    INTO @T
    VALUES(16,'C_V_Harris','2014-01-02 09:30:37.0000000',
    23.474,      
    23.486)
    INSERT
    INTO @T
    VALUES(15,'C_V_Harris','2014-01-02 09:18:12.0000000',
    23.419,      
    23.431)
    INSERT
    INTO @T
    VALUES(14,'C_V_Harris','2014-01-02 09:16:06.0000000',
    23.360,      
    23.374)
    INSERT
    INTO @K
    SELECT
    ROW_NUMBER()
    OVER (ORDER
    by IDNO)
    AS RN,*
    FROM
    @T
    SELECT
    * FROM
    @K
    --not working:
    SELECT
    a.RN,a.Price2
    FROM
    @K a
    INNER
    JOIN @K
    b
    ON
    a.RN=b.RN-1
    WHERE
    a.Price2>b.Price2
    I need to create  a view with a column (say 'Comp' below) that compares the value of each row in Price2 with the previous Price2 row, and it is greater then +1, the
    same 0, and less -1.
    The processed table should be:
    IDNO
    name
    Date
    Price1
    Price2
    Comp
    22
    C_V_Harris
    1/2/2014 10:23:49
    23.335
    23.347
    0
    21
    C_V_Harris
    1/2/2014 10:05:13
    23.357
    23.369
    1
    20
    C_V_Harris
    1/2/2014 9:56:15
    23.364
    23.377
    1
    19
    C_V_Harris
    1/2/2014 9:45:26
    23.351
    23.367
    -1
    18
    C_V_Harris
    1/2/2014 9:43:20
    23.38
    23.396
    1
    17
    C_V_Harris
    1/2/2014 9:34:28
    23.455
    23.468
    1
    16
    C_V_Harris
    1/2/2014 9:30:37
    23.474
    23.486
    1
    15
    C_V_Harris
    1/2/2014 9:18:12
    23.419
    23.431
    -1
    14
    C_V_Harris
    1/2/2014 9:16:06
    23.36
    23.374
    -1
     How can I structure the statement to get (the most recent - order by date ) result for Comp?

    Satheesh Variath, I just had to make some corrections from your script to get the correct answer:
    CREATE
    VIEW vw_Comp
    AS
    SELECT
    TOP 1 t.IDNO,t.name,t.[Date],t.Price1,t.Price2,
    CASE
    WHEN t.Price2
    > LAG(Price2,1)
    OVER (PARTITION
    BY name
    ORDER BY IDNO) 
    THEN 1
    WHEN t.Price2
    < LAG(Price2,1)
    OVER (PARTITION
    BY name
    ORDER BY IDNo) 
    THEN -1
    ELSE 0
    END
    AS Comp
    FROM 
    @T t
    ORDER
    BY DATE
    DESC
    The adjustments: the selection of the most recent comparison (Top 1) and the use of the function LAG (instead of LEAD) to get the previous value of the column.

  • SSRS Expression to compare two values and get data from another dataset

    Hi,
    I have a requirement where in i need to compare a value of a dataset (not the one which table is poiting to)
    with the value of a text box, and return the count if it matches else 0, the expression is as below. Here 
    industryName and recCount are from the dataset ds_MedimOrLowImpactEntities.  whats wrong in this expression
    =Sum(IIF(Fields!industryName.Value = reportItems!hpapra_name.Value, Fields!RecCount.Value, 0), "ds_MediumOrLowImpactEntities")
    This is the error that i am getting:
    Any help on this is appreciated
    Kruthi Hegde

    Hi Kruthi,
    After testing the issue in my local environment, I can reproduce it. Just the error message said, “Aggregate function can be used only on report items contained in page headers and footers”. So the sum function that contains report items should be stayed
    at page headers or footers. Besides, you said the hpapra_name textbox contain a field from another dataset, not the ds_MedimOrLowImpactEntities dataset. While in Reporting Services, Report item expressions can only refer to other report items within the same
    grouping scope or a containing grouping scope. So consider the two issues, we should use some other expression to instead the “reportItems!hpapra_name.Value” expression.
    Take a look at the "Looking up values from another dataset" topic here:
    http://msdn.microsoft.com/en-us/library/ms159673.aspx#LookupFunctions
    Hope this helps.
    Thanks,
    Katherine Xiong
    Katherine Xiong
    TechNet Community Support

Maybe you are looking for

  • Keep cardinality with lookup-operator?!

    Hi I am using a lookup operator to get values from a source table. The match criteria often results in multiple search results. (on purpose) What I want to do is, to take only the first searchresult of the lookup and put it in my destination table...

  • Revert to version 5.1

    I was told by my service provider that they had changed a "switch" in my community and that was the reason their modem can't talk to my airport. The fix is to revert to version 5.1 on my firmware. I have no idea how to do that and I can't find a vers

  • Display Select list only once in the report

    Hi, select CLS.NAME "Name", CLI.SECTION "Section", CLI.DESCRIPTION "Description", htmldb_item.select_list(5,R.REVIEWER_CONFIRM,'YES;YES,NA;NA,NO;NO') "Reviewer Confirm", htmldb_item.text(6,R.REVIEW_COMMENT,60,60) "Reviewer Comment", R.ID "ID" from CH

  • Swiping to go back only works in safari

    Swiping with three fingers to go back or forward was a gesture I used a lot in Snow Leopard. Now its with two fingers, AND it only works in safari. I don't know if this is true, but it seems like there are fewer gestures in Lion than in Snow Leopard.

  • Can i charge my iPod with iPad charge

    I don't want to take both charges while bicycle touring. They have very similar outputs. Anybody used them interchangably H.