On deleting lowest level members
Hi, Why is it that some upper level member data is lost when I delete its lowest level members? I don't have dynamic calculation members in my cube. Is this because of the restructuring after the outline has been changed?
Is this only occurring on one-to-one relationships? i.e - a parent with only one child?If this is the case this is due to an implicit share (the data is only stored once, not in both members) and when you delete the child the value disappears from the parent also.Hope this helpsDavid Cooper, Analitica Ltdwww.analitica.co.uk
Similar Messages
-
BADI error-higher-level members have been selected
Hi,
1. When i select all in the Select input it is displaying warning messsage as Parent member is selected.
2. So, Instead i am trying by selecting all the members irrespective of hirearchy manually and not getting any errors and data is flowed succesfully.
environment sap bpc nw 7.5 sp04
we use the extraction BAdi /CPMB/EXPORT_TD_TO_BADI and use a
SELECTINPUT statement to select only lowest level members of the
hierarchical dimension PROFITCENTER. As long as we use <ALL> as
selection, we get error messages indicating that higher-level
members have been selected. Since we use SELECTINPUT we would expect
not to receive such warnings. Also there are no higher level members
passed through the Extraction BADI in IR_DATA tabel ... As a workaround
the i always has to manually select all profit center
Regards,Hi SSK,
If i understood your question correctly, There must be some property by which you can select all the members i guess.
I think ,the error is because parent members are selected when you give select all. Since in BPC , they dont store any data or cant be manipulated, You could use some propert values to select the required profit_centre.
Example
Entity dimension
IDs Profit_Ctr Input _ Indicator
Abc
XYz Y N
Xyz1 Y Y
This way your code could reflect Select Entity where Input indicator ="Y", Profit_ctr = "Y"
Hope this helps
Thanks,
sridhar -
Top 10 lowest level dimension members based on measure
Hi,
I'm trying to create a condition with JDeveloper to show the top 10 dimension members based on a measure for the lowest level of the hierarchy, but doesn't work.
All other conditions are working well, including top 10 dimension members in other levels of the hierarchy (not in the lowest).
Any suggestion??
I think the dimension is defined ok, all other conditions are working well and the lowest level could be shown with other conditions and drills.
Thanks in advanced....Hi,
First, my BI Beans version is 9.0.3.5 and my database version is 9.2.0.2.1
I will try to clarify my problem. I am trying to create a graph to show the top10 members of a dimension based on my measure. When I define this condition
to show the top 10 members of a middle level (not de low level), it works fine, I mean, it shows the top 10 members of that level. But, when I define the condition
to show the top 10 members of the low level, it displays me that there is no data to display (The data has an insufficient number of columns and rows).
I have been testing this case, and I have seen that if I change the low level column (number type) of the dimension to a varchar type column, it works. This low level is
the primary key of the dimension table, and it's referenced by a foreign key in the fact table.
Which could be the problem?? Is it not possible to define a level of a dimension with a number column??
I have a demo sample to see this problem (two simple dimensionS with three levels and a fact table). It's a bit large to post it complete, so I post here an extract of it.
-- Dimension and fact tables
CREATE TABLE PR_DIM_A (DIM_A_KEY NUMBER,
LOW_A_LEVEL_NAME VARCHAR2(50),
ALL_A_LEVEL_ID VARCHAR2(50), ALL_A_LEVEL_NAME VARCHAR2(50),
GROUP_A_LEVEL_ID VARCHAR2(50), GROUP_A_LEVEL_NAME VARCHAR2(50),
CONSTRAINT PK_DIM_A PRIMARY KEY (DIM_A_KEY));
CREATE TABLE PR_DIM_B (DIM_B_KEY NUMBER,
LOW_B_LEVEL_NAME VARCHAR2(50),
ALL_B_LEVEL_ID VARCHAR2(50), ALL_B_LEVEL_NAME VARCHAR2(50),
GROUP_B_LEVEL_ID VARCHAR2(50), GROUP_B_LEVEL_NAME VARCHAR2(50),
CONSTRAINT PK_DIM_B PRIMARY KEY (DIM_B_KEY));
CREATE TABLE PR_FACTS (FACT_KEY NUMBER, DIM_A_KEY NUMBER, DIM_B_KEY NUMBER,
MEASURE_1 NUMBER, MEASURE_2 NUMBER,
CONSTRAINT PK_FACTS PRIMARY KEY (FACT_KEY));
ALTER TABLE PR_FACTS ADD CONSTRAINT FK_DIM_A FOREIGN KEY (DIM_A_KEY)
REFERENCES PR_DIM_A (DIM_A_KEY);
ALTER TABLE PR_FACTS ADD CONSTRAINT FK_DIM_B FOREIGN KEY (DIM_B_KEY)
REFERENCES PR_DIM_B (DIM_B_KEY);
-- Data inserts in the dimensions
INSERT INTO PR_DIM_A VALUES (1,'ALL','ALL_NAMEa','GROUP1a','GROUP1_NAMEa','LOW1a','LOW_NAME1a');
INSERT INTO PR_DIM_A VALUES (2,'ALL','ALL_NAMEa','GROUP1a','GROUP1_NAMEa','LOW2a','LOW_NAME2a');
-- ......... dimension B is the same kind of data.
-- OLAP dimension A creation script
cwm2_olap_dimension.create_dimension('BI02', 'PR_A_DIM', 'DimA Diaplay name', 'DimA Plural name', 'DimA Short Description','DimA Description');
cwm2_olap_dimension_attribute.create_dimension_attribute('BI02', 'PR_A_DIM', 'Short Description', 'Short Descriptions', 'Short Desc', 'Description', TRUE);
cwm2_olap_hierarchy.create_hierarchy('BI02', 'PR_A_DIM', 'HIER_DIM_A', 'HIER_DIM_A Display name', 'HIER_DIM_A ShortDesc', 'HIER_DIM_A Desc','Unsolved Level-Based');
cwm2_olap_dimension.set_default_display_hierarchy( 'BI02', 'PR_A_DIM', 'HIER_DIM_A' );
cwm2_olap_level.create_level('BI02', 'PR_A_DIM', 'ALL_LEVEL_A', 'ALL_LEVEL_A DisplayName', 'ALL_LEVEL_A PluralName', 'ALL_LEVEL_A ShortDesc', 'ALL_LEVEL_A Desc');
cwm2_olap_level.create_level('BI02', 'PR_A_DIM', 'GROUP_LEVEL_A', 'GROUP_LEVEL_A DisplayName', 'GROUP_LEVEL_A PluralName', 'GROUP_LEVEL_A ShortDesc', 'GROUP_LEVEL_A Desc' );
cwm2_olap_level.create_level('BI02', 'PR_A_DIM', 'LOW_LEVEL_A', 'LOW_LEVEL_A DisplayName', 'LOW_LEVEL_A PluralName', 'LOW_LEVEL_A ShortDesc', 'LOW_LEVEL_A Desc' );
cwm2_olap_level_attribute.create_level_attribute('BI02', 'PR_A_DIM', 'Short Description', 'ALL_LEVEL_A', 'Short Description', 'All_LEVEL_A DisplayName', 'ALL_LEVEL_A ShortDesc', 'ALL_LABEL Desc', TRUE );
cwm2_olap_level_attribute.create_level_attribute('BI02', 'PR_A_DIM', 'Short Description', 'GROUP_LEVEL_A', 'Short Description', 'GROUP_LEVEL_A DisplayName', 'GROUP_LEVEL_A ShortDesc', 'GROUP_LEVEL_A Desc', TRUE );
cwm2_olap_level_attribute.create_level_attribute('BI02', 'PR_A_DIM', 'Short Description', 'LOW_LEVEL_A', 'Short Description', 'LOW_LEVEL_A DisplayName', 'LOW_LEVEL_A ShortDesc', 'LOW_LEVEL_A Desc', TRUE );
cwm2_olap_level.add_level_to_hierarchy('BI02', 'PR_A_DIM', 'HIER_DIM_A', 'LOW_LEVEL_A', 'GROUP_LEVEL_A' );
cwm2_olap_level.add_level_to_hierarchy('BI02', 'PR_A_DIM', 'HIER_DIM_A', 'GROUP_LEVEL_A', 'ALL_LEVEL_A' );
cwm2_olap_level.add_level_to_hierarchy('BI02', 'PR_A_DIM', 'HIER_DIM_A', 'ALL_LEVEL_A' );
cwm2_olap_table_map.map_dimtbl_hierlevel('BI02', 'PR_A_DIM', 'HIER_DIM_A', 'ALL_LEVEL_A', 'BI02', dim_table, 'ALL_A_LEVEL_ID' );
cwm2_olap_table_map.map_dimtbl_hierlevel('BI02', 'PR_A_DIM', 'HIER_DIM_A', 'GROUP_LEVEL_A', 'BI02', dim_table, 'GROUP_A_LEVEL_ID' );
cwm2_olap_table_map.map_dimtbl_hierlevel('BI02', 'PR_A_DIM', 'HIER_DIM_A', 'LOW_LEVEL_A', 'BI02', dim_table, 'DIM_A_KEY' );
cwm2_olap_table_map.map_dimtbl_hierlevelattr('BI02', 'PR_A_DIM', 'Short Description', 'HIER_DIM_A', 'ALL_LEVEL_A', 'Short Description', 'BI02', dim_table, 'ALL_A_LEVEL_NAME' );
cwm2_olap_table_map.map_dimtbl_hierlevelattr('BI02', 'PR_A_DIM', 'Short Description', 'HIER_DIM_A', 'GROUP_LEVEL_A', 'Short Description', 'BI02', dim_table, 'GROUP_A_LEVEL_NAME' );
cwm2_olap_table_map.map_dimtbl_hierlevelattr('BI02', 'PR_A_DIM', 'Short Description', 'HIER_DIM_A', 'LOW_LEVEL_A', 'Short Description', 'BI02', dim_table, 'LOW_A_LEVEL_NAME' );
-- OLAP dimension B creation script is similar than A.
-- OLAP CUBE creation script
cwm2_olap_cube.create_cube( 'BI02', 'PR_CUBE', 'Sample Cube', 'Sample Cube', 'Sample Cube' );
cwm2_olap_measure.create_measure('BI02', 'PR_CUBE', 'MEAS1', 'MES1 DisplayName', 'MES1 ShortDesc', 'MES1 Desc');
cwm2_olap_measure.create_measure('BI02', 'PR_CUBE', 'MEAS2', 'MES2 DisplayName', 'MES2 ShortDesc', 'MES2 Desc');
cwm2_olap_cube.add_dimension_to_cube( 'BI02', 'PR_CUBE', 'BI02', 'PR_A_DIM' );
cwm2_olap_cube.add_dimension_to_cube( 'BI02', 'PR_CUBE', 'BI02', 'PR_B_DIM' );
dimkeymap :=
'DIM:'
|| 'BI02'
|| '.PR_A_DIM/HIER:HIER_DIM_A/LVL:LOW_LEVEL_A/COL:DIM_A_KEY;DIM:'
|| 'BI02'
|| '.PR_B_DIM/HIER:HIER_DIM_B/LVL:LOW_LEVEL_B/COL:DIM_B_KEY;';
cwm2_olap_table_map.map_facttbl_levelkey( 'BI02', 'PR_CUBE', 'BI02', fact_t, /*'ET'*/ 'LOWESTLEVEL', dimkeymap );
cwm2_olap_table_map.map_facttbl_measure( 'BI02', 'PR_CUBE', 'MEAS1', 'BI02', fact_t, 'MEASURE_1', dimkeymap );
cwm2_olap_table_map.map_facttbl_measure( 'BI02', 'PR_CUBE', 'MEAS2', 'BI02', fact_t, 'MEASURE_2', dimkeymap );
Thanks a lot for your help.... -
Retrieve lowest (entity) members that contain data
Hi
I'm faced with a dilemma (obviously).
In Essbase (9.3) Report Script Editor I'm supposed to write an export script that is supposed to select the lowest (entity) members that contain data.
Does anyone know any way to do this?
Would really appreciate any tips.What I need is the lowest members that HAVE data^^^I am a broken record, and an unlistened one at that. Of course, who would be silly enough to play a broken record? And who on this board is even old enough to know what a record is? But I digress...
As I wrote before, if you use DATAEXPORT, and then pick the DATAEXPORTOPTION that selects input level data, you will get the level zero AND the upper level data. Level 0 one month, level 1 the next, level 2 the month after that, right back down to level 0. Input data does both for you.
Per the Tech Ref:
DataExportLevel ALL | LEVEL0 | INPUT
* Input—Input blocks only (blocks containing data from a previous data load or spreadsheet Lock & Send). This option excludes dynamically calculated data.Regards,
Cameron Lackpour -
ODI and deleting shared accounts members in Planning
Hey there,
We have 1 account alternative hierarchy, which we remove all the level 0 tagged as shared member from the account dimension.
The problem is to do it is taking ages, meanwhile to load back these members is doing in minutes , deleting is taking an hour.
Do you know if there is any problem when ODI remove Shared members from Planning?
Do you know what is doing in the background Oracle (we have Oracle as database)?
Thanks,It is taking the same time.
Also I tried with the command DeleteSharedMember because I want to delete only shared members, and it takes ages.
The point is in the schema the shared members are only in one table, so I don't know why it is taking age to remove it, it has not to do any checking if it is in forms or another places.
And is it possible to create a sql script to remove it directly in the schema and restart planning afterwards?.
Thanks -
Exluding lowest level dimensionmembers from a total report.
Hi,
I know this thread might belong in the Discover part of the forum, but based on previous experience it seems that Discoverer for OLAP help is difficult to come by in that part. Also I think this quickly might end up with being a bit more OLAP technical.
To the issue:
Say that you have a sales cube with 3 dimensions, time, product and customer.
The customer dimension has three levels with one standard hierarchy in the following order: Total, customerclass and customertype.
For the lowest level there is a customertype member thats named "internal". This means that all employees buying from their own company with a special discount is placed under this member.
Now to the report:
Using discoverer for Olap, management want two total reports. One where the Internal member is included, and one where it is excluded. This meaning that the initial report should just show the total levels for all dimensions, just with different totals.
Now I thought of just not include the internal member when you choose different dimensions in the query builder, but as far as I know this would only work for the lowest level. Total and customerclass would still show sums that include the internal level since the cube has aggregated these levels in advance.
Does anyone a way to work around this?
some cube facts:
database version 10.2.0.3. with the OLAP A patch
cube compressed and partitioned along month, fully aggregated for all levels(except year).
regards RagnarRangar,
Simplicity is in the eye of the beholder, but you should be able to make it work. The details will depend on your source mapping, but I will assume that you have a single dimension star table with three columns, one per level.
CREATE TABLE CUST
Total varchar2,
CustomerClass varchar2,
CustomerType varchar2
I'll assume further that the member 'INTERNAL' appears as CustomerType. Define a VIEW on top of the table like this.
CREATE VIEW CUST_VIEW AS
SELECT *
FROM CUST
WHERE CustomerType != 'INTERNAL'
Now create two new levels
TOTAL_EXTERNAL
CUST_CLASS_EXTERNAL
Create a new level hierarchy, EXTERNAL_HIER say, that includes the two new levels along with the existing CustomerType level.
TOTAL_EXTERNAL
CUST_CLASS_EXTERNAL
CUSTOMER_TYPE
Note that even though the CUSTOMER_TYPE level appears in two hierarchies, the members in that level can vary be hierarchy. This is important since it means you do not have to reload the leaf data for the cube.
Now map the new hierarchy to the three key columns in CUST_VIEW. To do this correctly you need to switch to the "Snowflake Schema" view on the AWM mappings tab. This allows you to explicitly set the parent column for each hierarchy. So, in your new EXTERNAL_HIER hierarchy the parent of CUSTOMER_TYPE is CUST_VIEW.CustomerClass. In your old hierarchy, INTERNAL_HIER say, the parent of CUSTOMER_TYPE is CUST.CustomerClass. If you don't switch to the "Snowflake Schema" view then you will end up with null values for the parent dimension. (I just wasted 45 minutes discovering this fact.)
You now have two hierarchies and five levels. Your aggregation strategy for the cube should reflect this in some way. If you want full pre-aggregation, then you will need to add the two new levels to the cube. If not, then you are probably set.
David -
My battery life at a full 100% charge is about 2 hours 22 minutes (backlight and key lights at lowest level). Should I go complaining to Apple or do I just need different software? I've only had my mac book since August 2011. The battery dies in 2 to 3 hours with some web surfing (little video play) and photo editing etc. I really don't feel like taking my computer all the way to the apple store to wait there for 5 hours to hear that I need to call someone blah blah blah. Any advice? (BTW Safari hasn't been working since I last updated my mac, WHYYYY?)
emsavage1127 wrote:
Should I go complaining to Apple or do I just need different software?
emsavage1127 wrote:
I really don't feel like taking my computer all the way to the apple store to wait there for 5 hours to hear that I need to call someone blah blah blah.
Make an appointment at the genius bar, that way, you wont have to wait. http://www.apple.com/retail/geniusbar/ -
Modify Chart Legend Data Behaviour to show only lowest level of drill
I have a chart with a legend in OBIEE 11g.
When I click on chart data or legend it drills to the next level of the hierarchy which is what I want.
However the legend show all levels of the hierarchy in the legend data like this:
"Level 1"."Level 2"."Level 3".
This is very cluttered and redundant as Level 1 & Level 2 are the same for all items.
What I want is that it only shows the lowest level of a hierarchy that has been drilled to eg.
"Level 3"
Is it possible to do this? I've already tried the user guide, on this forum or on google search.
Thanks in advance.Not sure its doable out the box,
You could hack the popchart JS files I guess, John Minkjan's blog describes some changes , in particular on mouse-hover activity but they should show where to start. -
SYST: Tax Jurisdiction code at lowest level not transferred
Dear Experts,
I am getting the above error while Releasing the Billing document to Accounting. I have created a ZTAX - Manual Tax (for enterring VAT% manually). Created the Sales Order, Delivery and Billing. At the time of document releasing to accounting i am getting above error.
Please help.
Thanks in advanceCheck this thread
Error: SYST: Tax jurisdiction code at lowest level not transferred
G. Lakshmipathi -
Components in the lowest level of costing structure in SO
Hi,
Could you please let me know is any function module to get Components in the lowest level of costing structure in Sales order.
Thanks,
HarinathYes, you can manipulate your components any way you like. Becareful about the layout manager though as it likes to handle the positioning and sizing, so there is an intimate relationship there.
Also call validate() on the container after you make your changes. -
Hi Gurus,
May I know the various methods to confine planning level at the lowest level and re-define the Primitive methods where business currently uses in excel sheet and plans at all level into demand planning with a minimum and lowest level by which the business reduces manual work and increases visibility and planning.
Example: Business currently plans at customer Hierarchies which has about 6 levels, product has Hierarchies at 5 levels, location hierarchies at 3 level in excel sheet and on monthly level for an year and then quarterly for 2 years and yearly basis for one year. This we need to confine to lowest level of customer, product and location.
HEIRARCHY LEVEL
PRODUCT
CUSTOMER
LOCATION
LEVEL
P0
C0
L0
HIGHEST
1
P1
C1
L1
2
P2
C2
L2
3
P3
C3
L3
4
P4
C4
SOLD-TO
5
P5
C5
6
P6
CUSTOMER
LOWEST
SKU
PLANNING LEVEL
PRODUCT
CUSTOMER
LOCATION(DISTRIBUTION CHANNEL)
HEIRARCHY LEVEL
P6
C5
L3
LOWEST LEVEL
WHERE
P6
SKU
C5
CUSTOMER
L3
SOLD-TO- PARTY
CVC
P6_C5_L3
So in this case, the cvc are created at lowest level of planning, at P6_C5_L3.
Now how to convenience the business that they need to do the planning at this level for planning, as the rest levels will be aggregated automatically in demand planning.
Is the grouping level place a major role? if so how to do that as the business says for some products they do at p4_c2_L1 level for some they do at P5_C4_L2 level.
Could someone guide us in giving some solution which ease the business need of planning at any level. Hope you have understood my requirement by the above example. If not do let me know, so that I may try to inform by further details. Thanks in advance.
PraveenPraveen,
Not really sure what the question is. You say you want to 'confine' planning to the most detailed level, but you also want to support planning at an intermediate level.
No matter. DP transparently supports planning at any/all levels simultaneously. Data in DP is always stored at the detail level, no matter which level (or combination of levels) the forecast is entered at.
Creation of the Demand Forecast - SAP Library
Best Regards,
DB49 -
Error while mapping fact table to LOWEST LEVEL
Hi
While Iam mapping my fact table using cwm2_olap_table_map, map_facttbl_levelkey , Iam mentioning it has the lowest level of dimension table , it is throwing error . Will it only work for ET not for LOWEST LEVEL?. Infact Iam not storing the embedded total any where in my fact tables .
Can anyone help me in mapping the lowest level of dimension to fact table????Hi
Are you sure you are using the correct mapping tools. It sounds as if you have a relational schema which reauires a CWM mapping procedure? To map a relational schema it is best to use OEM which has wizards to guide you through the mapping process.
CWM2 metadata is used to map 9iR2 Analytical Workspace objects. These typically involve fully summarised variables within the AW.
Hope this helps
Keith Laker
Product Manager
Oracle Business Intelligence Beans -
How to return list of lowest level elements in a hierarchy given the node o
We would like to return a list of the lowest level Elements in a Hierarchy from a given node of the hierarchy. The level of the node that is given to us is unknown, but regardless, we need the ability to return the lowest level elements. We are trying to find a non-ABAP solution to our needs and trying to use a BEx query as a source for our APD.
In query designer we are able to obtain the correct list when using the Hierarchy and Condition with a Leaf value of '1' to return the lowest level. However, We have come to learn APDs do no support the BEx hierarchies. When we de-selected the 'Activate Hierarchy' display in the query, the entire structure under the given node is returned.
Does anybody know of a way to return just the lowest level elements in a hierarchy so we can feed our APD?
Thanks,
Andreaexpac works only with official and unofficial repos, not with the AUR, but it's very nice.
Adding '-q' should help, grep to weed out false positives.
yaourt -Sa $(yaourt -Ssaq pulse)
works, but
$ yaourt -Sa $(yaourt -Ssaq chrome)
resolving dependencies...
looking for inter-conflicts...
warning: removing 'chromium' from target list because it conflicts with 'chromium-no-sse2'
error: unresolvable package conflicts detected
error: failed to prepare transaction (conflicting dependencies)
:: chromium-no-sse2 and chromium-scroll-pixelGs are in conflict
so at least
$ yaourt -Sa $(yaourt -Ssaq chrome|grep google)
is needed.
Edit: Also:
$ LC_ALL=C TZ=GMT0 diff -Naur /usr/bin/pacsearch /usr/local/bin/pacsearch
--- /usr/bin/pacsearch 2014-11-21 11:20:37.000000000 +0000
+++ /usr/local/bin/pacsearch 2014-12-21 08:21:14.758856006 +0000
@@ -84,7 +84,7 @@
my %allpkgs = ();
-my $syncout = `pacman -Ss '@ARGV'`;
+my $syncout = `pacman -Ssq '@ARGV'`;
# split each sync search entry into its own array entry
my @syncpkgs = split(/\n^(?=\w)/m, $syncout);
# remove the extra \n from the last desc entry
@@ -110,7 +110,7 @@
$allpkgs{$pkgfields[1]} = [ @pkgfields ];
-my $queryout = `pacman -Qs '@ARGV'`;
+my $queryout = `pacman -Qqs '@ARGV'`;
# split each querysearch entry into its own array entry
my @querypkgs = split(/\n^(?=\w)/m, $queryout);
# remove the extra \n from the last desc entry
$ /usr/local/bin/pacsearch pulse
libpulse
pulseaudio
libao
libcanberra-pulse
libpulse
paprefs
pavucontrol
pulseaudio
pulseaudio-alsa
floyd
libcec
mate-media-pulseaudio
mate-settings-daemon-pulseaudio
ponymix
projectm-pulseaudio
Although why not simply use pacman or expac?
Last edited by karol (2014-12-21 08:26:48) -
Aggregation at the lowest level in the cube
Hi guys
I designed very simple test cube with one dimension (both MOLAP driven).
The dimension PRODUCT consists of three levels:
- Group
- Category
- Product_detail
PRODUCT_SRC table to load PRODUCT dimension:
PR_GROUP_NAME PR_GROUP_ID PR_CATEGORY_NAME PR_CATEGORY_ID PR_DETAIL_NAME PRODUCT_DETAIL_ID
dairy 1000 yoghurts 1000000 yoghurt_1 1000000000
dairy 1000 yoghurts 1000000 yoghurt_2 1000000001
dairy 1000 yoghurts 1000000 yoghurt_3 1000000002
candy 1001 cookies 1000001 cookies_1 1000000003
candy 1001 cookies 1000001 cookies_2 1000000004
candy 1001 cookies 1000001 cookies_3 1000000005
beverages 1002 juices 1000002 juice_1 1000000006
beverages 1002 mineral water 1000003 mineral_water_1 1000000007
beverage 1002 energy drink 1000004 energy_drink_1 1000000008
The cube SALES has one measure:
- Value_of_sales (sum aggr)
SALES_SRC table to load SALES cube:
VALUE PROD_ID ID
1236 1000000002 2
115 1000000006 3
1697 1000000005 4
12 1000000004 5
168 1000000008 6
1984 1000000005 7
9684 1000000004 8
84 1000000002 9
8 1000000007 10
498 1000000006 11
4894 1000000008 12
4984 1000000004 13
448 1000000003 14
4489 1000000004 15
13 1000000001 16
879 1000000004 17
896 1000000006 18
4646 1000000007 20
I created the dimension PRODUCT and a mapping which loaded the data into the dimension. It worked perfectly. The hierarchy was created as I expected.
Then I created cube SALES and a mapping which should load the data into the cube. It is very very simple mapping - there were just only two items on the canvas:
- SALES_SRC table
and
- SALES cube
and two lines:
- from SALES_SRC.VALUE to SALES.VALUE_OF_SALES
- from SALES_SRC.PROD_ID to SALES.PRODUCT_NAME
Then I deployed everything and ran mapping, which loaded cube. But in my opinion the cube was not populated in a proper way, because it was no aggregation performed at the lowest level of product hierarchy - there was only a value of the first occurence of certain product. I mean:
In SALES.SRC we have for instance:
VALUE PROD_ID ID
1236 1000000002 2
84 1000000002 9
For me the the value in the cube should be 1236 + 84 = 1320, but the value in the cube at PRODUCT_DETAIL_LEVEL for yoghurt_3 is only 1236 - first occurence of this product in SALES.SRC.
Why hasn't been the data aggregated at lowest level of PRODUCT dimension hierarchy - is it the way OWB does such things?
Should I manually aggregate the data before loading to cube (just to use Aggregator to aggregate the data at lowest level)? If yes - what about incremental loading of data to cube (the old value value is simply replaced by new one and not summed in the cube)
In data warehouse solutions of other vendors the cube in such situation is loaded as I expected here.
I really don't know what to do. I do really appreciate any help from you.
Thank you in advance
PeterHi David
Thank you very much.
Now I'm sure that I have to aggregate facts by myself at the lowest level of hierarchy in a dimension.
Regards
Peter -
Using java to add, delete AS400 file members
Caling all Jav/AS400 gurus!! I have developed a J2ee application that goes against the AS400 database. I am able to create and delete physical and logical file members using the following code:
//create new file member
public String addPhysicalMember(
String fName,
String member,
String libName,
String errMsg,
String callCommand,
String vendParm) {
callCommand = "ORDPMBRJVA";
fName = "ORDER ";
CommandCall callComm = new CommandCall();
AS400 sys = new AS400("AS400", "guest", "guest");
if (vendParm.equals("9999")) {
try {
callComm =
new CommandCall(
sys,
"CALL BIGY/"
+ callCommand
+ " PARM('"
+ fName
+ "' '"
+ member
+ "' '"
+ libName
+ "' '"
+ errMsg
+ "')");
callComm.run();
// Show the messages (returned whether or not there was an error)
AS400Message[] messagelist = callComm.getMessageList();
for (int i = 0; i < messagelist.length; ++i) {
// Show each message
System.out.println(messagelist.getText());
} catch (Exception e) {
System.out.println("Command " + callComm.getCommand() + " did not run!");
// done with the system
sys.disconnectService(AS400.COMMAND);
return errMsg;
//create new logical member
public String addLogicalMember(
String fName,
String member,
String libName,
String errMsg,
String callCommand,
String vendParm) {
CommandCall callComm = new CommandCall();
AS400 sys = new AS400("AS400", "guest", "guest");
if (vendParm.equals("9999")) {
try {
callComm =
new CommandCall(
sys,
"CALL BIGY/"
+ callCommand
+ " PARM('"
+ fName
+ "' '"
+ member
+ "' '"
+ libName
+ "' '"
+ errMsg
+ "')");
callComm.run();
// Show the messages (returned whether or not there was an error)
AS400Message[] messagelist = callComm.getMessageList();
for (int i = 0; i < messagelist.length; ++i) {
// Show each message
System.out.println(messagelist[i].getText());
} catch (Exception e) {
System.out.println("Command " + callComm.getCommand() + " did not run!");
// done with the system
sys.disconnectService(AS400.COMMAND);
return errMsg;
I delete the file members the same way, basically, I have a similar method that calls a different AS400 command.
I check to AS400 to make sure the members (both physical and logical)have been deleted. The are deleted. However, when I go to use that member name again, my program blows up with the error message "member name already exists." For the user's sake, they need to reuse the member file names over.
When I run the commands on the AS400, they work each time without fail, creating and deleting the same member as often as desired. Is there something missing from my code? Any help you can give me is greatly appreciated.
Thanks, jlav143I check to AS400 to make sure the members (both physical and logical)have been deleted. The are deleted. However, when I go to use that member name again, my program blows up with the error message "member name already exists." For the user's sake, they need to reuse the member file names over.It looks like your "checking" isn't very accurate, then. But I can't comment on your code for removing members because I can't see the commands you are using -- and it looks sort of like you're calling your own CL program to do that anyway. Why don't you just clear the members instead of deleting them and then adding them back?
Maybe you are looking for
-
Problem exporting to Photoshop CS4
I have recently been processing a large batch of images in Lightroom 3, and as part of the workflow I've been exporting directly into Photoshop CS4 for final adjustments. I received the following pop-up after choosing to edit in Photoshop CS4: "This
-
hey all, i need help, i have a school project, which is making website. i need a tutorial on how to make moving interactive pattern like this http://andy.thlndr.com i appreciate any advice, please help! thks
-
Everytime I'm halfway through the downloading process of iTunes 7.02 + Quicktime this message pops up... Error 1905. Module C:/Program Files/Quicktime/QTOControl.dll failed to unregister HRESULT - 2147220472. Contact your support personnel I'm lost a
-
Delivery updation takes long time
Hi all, I am working on ECC 6.0 implementation. Delivery saving is taking long time. Program is SAPLMCS5 and function module is MCV_STATISTICS_DELIVERY. When delivery is having more than 200 line items this FM is taking long time . If anybody has clu
-
Acrobat spontaneously tries to do OCR
Whenever I open a pdf document, Adobe Acrobat Standard 9.5.0 tries to do an OCR on it (without my asking for it) - even on pdf documents that have already been OCR'ed. And then, usually, it will try to do it again and again. How do I disable this s