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 DasHi 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 Thankstry 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
SunilHi 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
PrathibDear,
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.
GuillermoHi 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,
NatalieHi 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,
AlejandroHi,
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!
/KarstenHi 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. MeklerHi,
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 GopeHi,
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 sundaramFor 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 HegdeHi 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...
-
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.