Key fields in a cube?
Hai all,
If we have an invoice, in ODS, its can be uniquely identified with a key(combination of, for example, company code, customer, sales district etc.)
But how can we identify a unique invoice in Cube.
I know that the basic model of ods is table and that of cube is multidimenational. The reason why I am asking this question is to clarify how two invoices get added up in the cube. For example, there is an invoice in the cube, with some amount 50, that was loded in a previous load and if a residual invoice comeup, with say 10,in the next load. Then in the cube they shoud get addedup showing 60. Or do they still appear distinct, in that case again the query, how can it report on a particular invoice? How does the system know that its the residual of the precious one. in ODS, its by the key, but in cube by what?
Thank you very much.
Hi,
Though, different records (even with the same invoice number) may be distinguished in the cube, as you pointed out, during a report run these invoice amounts might sum up. To prevent this you need to specify some other information, for example Movement Type, or Document Type, or something else. It is done very often in SAP applications. In SD you have invoices, returns, debit and credit memos etc.
I'd propose do not mix up with different by meaning amounts. I mean if you post some invoice amount, do not post a residual value of the invoice. You'd rather post 40 as some kind of reconciliation, or partial payment, or delivery etc. In this case all amount are of the same nature (cumulative) and using distinguish parameter (Document type) you can easily build reports you want.
Best regards,
Eugene
Message was edited by: Eugene Khusainov
Similar Messages
-
Significant of key field in Info cube table
Hi,
what is significant of key field in Info cube table?
Best regards,
dushyant.hi ,
key figures are very important in tables, when it is in cube it act as dimensions
for the reporting purpose see this scenario
the table has following fields
student no
student name
student attendance
student mark
in this scenario when we want report according to student no its normal we would get, but when we want according to attendance,marks we dont get report according to attendance and mark, so we put all those fields in key fields.
So we could say that Key fields are the dimensions and according to this we get reports
thank yu -
Data Extraction and ODS/Cube loading: New date key field added
Good morning.
Your expert advise is required with the following:
1. A data extract was done previously from a source with a full upload to the ODS and cube. An event is triggered from the source when data is available and then the process chain will first clear all the data in the ODS and cube and then reload, activate etc.
2. In the ODS, the 'forecast period' field was now moved from data fields to 'Key field' as the user would like to report per period in future. The source will in future only provide the data for a specific period and not all the data as before.
3) Data must be appended in future.
4) the current InfoPackage in the ODS is a full upload.
5) The 'old' data in the ODS and cube must not be deleted as the source cannot provide it again. They will report on the data per forecast period key in future.
I am not sure what to do in BW as far as the InfoPackages are concerned, loading the data and updating the cube.
My questions are:
Q1) How will I ensure that BW will append the data for each forecast period to the ODS and cube in future? What do I check in the InfoPackages?
Q2) I have now removed the process chain event that used to delete the data in the ODS and cube before reloading it again. Was that the right thing to do?
Your assistance will be highly appreciated. Thanks
Cornelius FaurieHi Cornelius,
Q1) How will I ensure that BW will append the data for each forecast period to the ODS and cube in future? What do I check in the InfoPackages?
-->> Try to load data into ODS in Overwrite mode full update asbefore(adds new records and changes previous records with latest). Pust delta from this ODS to CUBE.
If existing ODS loading in addition, introduce one more ODS with same granularity of source and load in Overwrite mode if possible delta or Full and push delta only subsequently.
Q2) I have now removed the process chain event that used to delete the data in the ODS and cube before reloading it again. Was that the right thing to do?
--> Yes, It is correct. Otherwise you will loose historic data.
Hope it Helps
Srini -
Selecting Semantic Group Key Fields for Cube to Cube DTP
Is it possible to use the semantic group key fields selection when performing a DTP between two infoCubes? When I try to select the key field of 0CALWEEK, i am unable to as the selection screen is grayed out like I'm in display mode even though I'm in change mode for the DTP.
Thanks,
MatthewHi,
Have you initialized the planning area for the 11th key figure to be loaded. Make sure that the key figure which you want to load is initialized for the planning version for the respective planning area.
Also check the loading period inside the variant is within the planning area initialized period for that key figure. And make sure that you have made the key figure assignment for the info cube and planning area inside the variant.
thanks and regards
Murugesan -
DSO - What key fields and data fields in dso
Hi experts,
I need to create a dso in between the cube and 2 data sources(2lis_11_vaitm, 2lis_12_vcscl) to stage the data. My question is: what key fields and data fields to choose for the dso? is there a standard dso to copy? please explain in detail the model to set up, whether to connect both the ds's to dso and then to cube or one ds to dso and the other to the cube. more details will help.Check this for standard DSO:
http://help.sap.com/saphelp_nw04/helpdata/en/43/fcdc387f34384f94c3227baf3837a8/content.htm
Thanks...
Shambhu -
Key Fields & Data Fields in DSO.
In Standard DSO, Maximum how many number of key fields and data fields we can enter in one DSO?
For e.g : In Cube Char - 248 KF - 233
In DSO Key Fields - ? Data Fields - ?
Regrards,
Nithi.Hi Nithi,
Since Key fields are decide by us we can add according to our requirement.
Key fields can only be 16 you cannot exceed this. but if you have more key fields, you can combine fields using a routine for a key field
Max Data Fields - 749 data fields can be added in a DSO.
Warm regards
Gokul -
Key Field not to be seen in report
Hi,
I have a DSO and in that I have 1 key field and 20 data fields.
I was able to load the data successfully in the DSO. And I am creating a report based on this DSO.
But when I create a report, I was unable to view the key field in the report.
I went to the query designer and checked, I could not see that particular key field also in my query designer, I could only see the data fields.
Could someone please guide me in this regard???
Would definitely assign points for the solution...
Thanks & Regards.Hi,
I have checked the info object and it is BEx enabled.
I am not able to see another 2 characteristics as well in query designer while creating the query.
I can view two sections, i.e. Key Figures and Dimensions.
And I am creating a report on DSO not in a cube. -
Adding fields into DSO in the Key Fields
Hello Experts,
I am using a Cube which loads data from DSO. Now, for some requirement I have to add one field into DSO in the key fields Part. But DSO already has 16 fields which I cannot remove.
So how can I add one more field into DSO in this case?
The cube I am using is 0FIGL_C10 and the DSO is 0FIGL_O10.
Regards,
Nirav ShahYou can create an Infoobject - acts as a custom key to concatenate multiple fields into one and make it a keyfield.
15 fields + custom key ( concatenate 2 fields ) = 16 Keyfields
Procedure - > Example
16th Key - > RVERS-Version-CHAR-3-0VERSION
17th Key - > RMVCT-TransactnType- CHAR-3-0MOVE_TYPE
1. Create one infoobject - ZKEY - Length = 6 ( add lenghts of the two objects)
2. Make ZKEY as a keyfield for the DSO.
3. Make 16th Key and 17th Key datafields.
Create a routine for ZKEY in the transformation or transfer rules to concatenate values coming from source into one.
TRFN Routine
Concatenate SOURCE_FIELDS-RVERS SOURCE_FIELDS-RMVCT into RESULT.
Or
Transfer Rules Routine
Concatenate COMM_STRUCTURE-RVERS COMM_STRUCTURE-RMVCT into RESULT.
This way nodata will be lost/overwritten due to less number of keyfields in the DSO.
We have as many as 21 Keyfields for GL Totals DSO. -
Hi Experts,
Can i use KEY FIGURES as KEY FIELDS in DSO
and
What is MAXIMUM no of Key Fields can i have in a DSO
ThanksHi
key figures are the amouts required for reporting, say you are working on sales data, then look at the report what amounts are required to get all the columns / key figurs in the report.
Granularity: is the level of detail you require, some times you only require the sales document level, other times at the sales document item level.
Unique identification of record: uniqueness of a record in ods is maintained by how you define the key fiedls in the ods. key fields in the ods are equal to the primany indexes on a table. eg: if you want the grain to be on the sales document level, then do not keep the item in the key fields. then probably company code, sales org, sales document and fiscal year.
affect on one level up the ods:
if you require item level data in the cube, then you need to keep the sales doc item in the ods key field.
There has to be at least one key field and one data field.
Additional restrictions:
- You can create a maximum of 16 key fields (if you have more key fields, you can combine fields using a routine for a key field (concatenate).)
- You can create a maximum of 749 fields
- You can use 1962 bytes (minus 44 bytes for the change log)
- You cannot include key figures as key fields
Assign points if it helps
Regards,
Sumit -
How to merge key field from external source system with SAP R/3 master
Hi,
In SAP BW 7.0 system, our scenario is Master Data for 0GL_ACCOUNT is coming from SAP R/3 alongwith the Transactional data records for standard FI cubes. Then, one more set of transaction data is coming from external source system, a flat file, into another custom DSO(ZDSO_FI), which also has this GL Account field.
This flat file's GL account, GL_file, has to be basically mapped/merged with the standard 0GL_ACCOUNT field so that at the time of loading the transactional data for custom DSO, ZDSO_FI (with transformation mapping GL_file > 0GL_ACCOUNT), system automatically refers to the 0GL_ACCOUNT master data to load these incoming transactional values, from the external flat file system. How can this be done?
To illustrate the scenario, say I have 5 records in 0GL_ACCOUNT, loaded from SAP R/3 into SAP BW-
0GL_ACCOUNT Short Description Source System
100 D1 R/3
200 D2 R/3
300 D3 R/3
400 D4 R/3
500 D5 R/3
Now suppose if my flat file has following sample transactional data, to be uploaded in SAP BW ZDSO_FI-
GL_file Key Figure1
400 789
200 567
Then after uploading this transactional data in ZDSO_FI (with transformation mapping GL_file > 0GL_ACCOUNT), the 0GL_ACCOUNT data becomes as below-
0GL_ACCOUNT Short Description Source System
400
200
100 D1 R/3
200 D2 R/3
300 D3 R/3
400 D4 R/3
500 D5 R/3
So note that the system did not refer the incoming GL's from flat file, although the field is mapped to 0GL_ACCOUNT in transformation, to the already available master data. Rather created 2 new data rows for the GL accounts coming from external system. Because of this I am not able to perform the calculations common from standard FI cube and ZDSO_FI, with GL account as key field. I need to synchronise these data values based on GL Account to proceed with further calculation and am badly stuck.
Request if anyone can please throw some light on how to achieve this seemingly simple requirement?
Thanks in advance.
NirmitBetter post this thread is in the [Enterprise Data Warehousing|Data Warehousing; forum.
-
Add a new key field in an InfoObject
Hi all,
I have to add a new key field in a standard InfoObject (0vendor) in order to extract data correctly from a table in R3 which has both the vendor and the plant as keys.
Doubts:
1. the 0vendor InfoObject is already used in several InfoCubes
2. it contains data
3. we have another object built with reference to 0vendor
Any problem with the existent InfoCubes and queries if I change the structure of this InfoObject?
Have I got to delete data on it first?
any problem on the object built with reference to 0vendor?
I have just thought of updating the object 0vendor (this would avoid lots of substitutions and lot of work) instead of developing a brand new object..
Do you agree with this kind of solution or would you do something different?
Thanks
ElisaHi Elisa,
"In R/3 the vendor sub-range is blank and we use only one Purch Org, so no matter."
This is OK but remind that it shall remain like this ALWAYS; because if you design your model with these assumptions and later you start getting sub ranges and/or a second P.O then you can forget your model...
Replacing 0VENDOR by ZVENDOR completely will depend on your requirement; I don't know which content you are using but you should try to keep 0VENDOR as such because ZVENDOR will be compounded with 0PLANT and that's not the same... (e.g. the key will be displayed like "PLANT/VENDOR" in reports unless you drilldown the PLANT in front of ZVENDOR... your users may perhaps not appreciate...)
In this matter, how are you going to proceed?
- fill the vendor ID in ZVENDOR and have 0PLANT as compounding key? In this case you'll have to add 0VENDOR attributes in ZVENDOR as well. With this scenario you will end with redundant data since attributes for 0VENDOR will be the same for each combination 0PLANT/ZVENDOR.
- wiser: have 0VENDOR and 0PLANT both in the compounding key. This way you could have ZVENDOR key CHAR1 and leave it empty (it would be a "dummy" key you wouldn't use in reports)
The good thing here is that you don't have to replicate your 0VENDOR design in the ZVENDOR. the bad thing for you is that you NEED to keep both IObjs; thus manage your DIM issue.
Your approach to fill the cubes is absolutely right! What are the sizes of your cubes?
You should take this opportunity to check you cubes datamodel:
- are the dimension well deisgned? (run report SAP_INFOCUBE_DESIGNS in order to see the cardinality of your DIMs). I am sure this can be improved.
- are the cubes partitioned? Every cube should be partitioned for performance reasons.
- if the cubes are huge, wouldn't it be good to do a logical partitioning? E.g have one cube per year and a multicube on top...
Finally use dimension number range buffering when loading data into an empty cube and other techniques like dropping all indexes in order to speed up your load process and minimize reporting downtime. If your reports are based on multicubes and your model is not too complex you could even keep the copy cube instead of moving your data back to the original; you would then just have your multicube transport to make the switch of the new model available for reporting...
hoping this help you to go with the right path...
regards,
Olviier. -
Associating multiple key fields.
Is it common practice to associate multiple key fields with a dimension level or fact? For example, if ITEM dimension has two primary key fields (inventory_item_id, sr_instance_id) to identify one single item, PLAN fact table the same, I can't manually associate ITEM dimension or PLAN cube with their tables from Analytic Workspace Manager. But I can do this with OLAP Analytic Workspace Java API. Problem with Java approach is that my AW can't be viewed corrected in AWM.
Is it "right way" to associate multiple key fields? Or should I avoid this (say concatinate keys into one item_key field)?Hi,
Refer below code of FM 'F4IF_INT_TABLE_VALUE_REQUEST',it will useful to you.
DATA: IL_RETURN TYPE TABLE OF DDSHRETVAL,
WAL_RETURN TYPE DDSHRETVAL,
IL_FIELDS TYPE TABLE OF DFIES ,
WAL_FIELDS TYPE DFIES,
VL_RETFIELD LIKE DFIES-FIELDNAME.
CLEAR IL_FIELDS.
REFRESH IL_FIELDS.
LOOP AT FIELDS.
WAL_FIELDS-FIELDNAME = FIELDS-FIELDNAME .
WAL_FIELDS-TABNAME = FIELDS-TABNAME.
WAL_FIELDS-KEYFLAG = FIELDS-SELECTFLAG.
APPEND WAL_FIELDS TO IL_FIELDS.
ENDLOOP.
VL_RETFIELD = 'TABNAME'.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
DDIC_STRUCTURE = ''
RETFIELD = VL_RETFIELD
VALUE_ORG = ''
TABLES
VALUE_TAB = VALUES
FIELD_TAB = IL_FIELDS
RETURN_TAB = IL_RETURN
EXCEPTIONS
PARAMETER_ERROR = 1
NO_VALUES_FOUND = 2
OTHERS = 3.
READ TABLE IL_RETURN INTO WAL_RETURN WITH KEY FIELDNAME = VL_RETFIELD.
IF SY-SUBRC EQ 0.
VIEWNAME = WAL_RETURN-FIELDVAL.
ENDIF.
Best regards,
Syf -
Adding fields to 0IC_C03 cube
Hi friends,
I have to add some fields into 0IC_C03 cube. The fields are reson for movement ,special stock indicator,sales order etc. They are cmg in the datasource 2lis_03_bf. I did add them and load the data , but the data was not coming properly. Is there any other method by which i can make use of these fields without adding them in the cube and make a multiprovider on that. I need to have the customer field also. Will this data come if i make a multiprovider on top of this . Can i make a generic datasource from the table which is giving these fields and make a DSO with these fields and make a multiprovider on it.
Will the key date concept work on this .
I would appreciate ur help.
Thanks,
KapilDear Kapil,
Pleae go through the link provided bleow hope this wil help full.
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/f83be790-0201-0010-4fb0-98bd7c01e328
Cheers,
VEERU. -
Hi Experts
Here client wants 200 fields in cube
whether that is suggestable help me in this
Regards
AnandHi,
Its possible to have that many fields in the cube, but you have to consider what the reporting requirements are and how the data is connected, etc. You also have to consider how much data volume is going to be generated and at what level you are going to store the data in the cube. If your client is suggesting you to have line item level or granular data in your cube , suggest to them to have that in an ODS and provide jump queries from the cube to the ODS if necessary.
If many of the fields are not going to be required for reporting at present or in the future, suggest to the client to have them in the ODS and a smaller subset of the fields in the cubes.
Cheers,
Kedar -
No key field found for creation of DataSource - Classification Datasource
Hello,
While trying to create a clasiffication datasource based on 0PLANT_ATTR, when i assign a characteristic and push the DataSource button, i get the following message:
No key field found for creation of DataSource
Diagnosis
During generation of a classification or configuration DataSource, only those key fields for the object table (field "Obj.Tabelle") that are already present in the basis DataSource transferred to the extract structure. This is the case when none of the key fields of the object table were found in the structure of the basis DataSource.
System response
A DataSource cannot be created without key fields. The action was cancelled.
Procedure
Check whether you have selected the correct basis DataSource and object table. For more information, please see SAP Note 569849.
Do you know what can be the problem?
Thank you and regardsHi Alberto,
plants are a special case. The key which is used for the classification
of plants (object type BETR) is not the same as the key which is used in
datasource 0PLANT_ATTR.
BETR has key LOCNR (Site). That's a customer related to a plant. The
customer number will be extracted in field LOCNR.
0PLANT_ATTR extracts the plant in its key field WERKS.
Transaction CTBW and the generic extraction program for classifications
don't know the relationship between LOCNR and WERKS. So they cannot map
them.
I do recommend a solution which would add the mapping between
LOCNR and WERKS:
1. Create please the classification datasource as intended, but use
datasource 0RT_LOC_MGR_ATTR as basis datasource. It's the only
datasource of the content where LOCNR is a key field. So
0RT_LOC_MGR_ATTR is used as a dummy here, to allow transaction CTBW to
create the classification datasource. It's not necessary to extract
data with datasource 0RT_LOC_MGR_ATTR.
2. Extend please the extract structure of the created classification
datasource. Add please field WERKS using component type WERKS_D. Make
this field visible.
3. Fill field WERKS in the extractor user exit EXIT_SAPLRSAP_002. WERKS
can be read from table KNA1 by using the customer number extracted to
LOCNR to select on field KNA1-KUNNR.
4. Transaction CTBW_META on the BW system isn't able to append the
characteristics from the classification datasource to infosource
0PLANT, because the keys are different. So create please a new info
source with CTBW_META. This allows CTBW_META to create the info objects
for the characteristics used in the classification datasource.
5. Add please the characteristics used in the classification datasource
to infosource 0PLANT manually. You will find the info object names of
the characteristics by looking up the characteristic datasources which
are assigned to the classification datasource in transaction CTBW. From
these names you can derive the info object names:
1CL_A... -> C_A...
6. Disconnect the infosource which has been created with CTBW_META from
the classification datasource.
7. Connect please the classification datasource to infosource 0PLANT
Use following info object:
info object field
0PLANT WERKS
The info object names for the characteristics are explained in step 5.
8. Add an infopackage to infosource 0PLANT for the classification
datasource.
Now the extraction of classifications of sites should work.
Best regards,
Rolf
P.S. I saw the system messed it up and doesn't display any new and empty lines. Sorry, I hope you still can read it.
Edited by: Rolf Doersam on Mar 26, 2010 6:56 PM
Maybe you are looking for
-
I have a white macbook from 2009 and it's still running on 10.5.8 (Leopard). I was wondering if there was a way for me to upgrade to Mountain Lion without purchasing Snow Leopard? If not, where would I be able to get a copy of Snow Leopard as it is n
-
Dear all, I am working on a virtual machine with 58GB ram, in Microsoft Azure. In my program, I have an Byte array which the dimensions are : [10126,24738,24]. When I want to run the program, the memory exception occurs , but when I calculate the ram
-
I have some very expensive (to me) foreign language training CDs that worked fine on my old imac but won't run on my intel based Macbook Pro. I understand that there is a difference between OS Classic and the Rosetta based system. Do you have any ins
-
How do I attach a callback to a element created using createChildSymbol()
I have drag functionality in which I want to create a custom helper so I am using a helper function that would create a element based on a symbol. The created element has a call back that when swiped left will be destroyed. but the callback is once
-
CUP - Using several Parameters ID in User Default
Hello everybody, I have a problem with using User Default section in CUP. In fact I want to use the User Default Mapping to define two different parameter ID in the SU01. For example: the Company Code (BUK parameter) and the Cost Center (KOS paramete