One to Many data model solutions
Hello Friends,
Recently I got a requirement where I need to join two line item DSO based on a Reference key, but it is with One to many relationship. I hestitate to use the Infoset because its a very huge DSO, which will affect the report performance.
I even thought of updating one DSO data to the infocube by getting the lookup values from other DSO in the transformation. I am stuck in every road I take to fulfill this requirement.
Can anyone share your ideas and thought please...... It will really helpfull..... Thanks for your time.....
Hello Ganesh,
Thanks very much for your answer..... I will explain my issue below:
DSO A: ( Delta load)
Company_code G/L_acct Doc_number Reference_Key Invoiced Amount
1000 1009673 767787 100008 100$
DSO B: (Full Load monthly)
Company_code Reference_Key Reference_Key_itm Sold_to Tax_paid_amt
1000 100008 010 A 200$
1000 100008 020 B 300$
1000 100008 030 C 400$
1000 100008 040 D 500$
DSO C:
Company_code Reference_Key Reference_Key_itm Sold_to Tax_paid_amt G/L_acct Invoiced Amount
1000 100008 010 A 200$ 1009673 100$
1000 100008 020 B 300$ 1009673 100$
1000 100008 030 C 400$ 1009673 100$
1000 100008 040 D 500$ 1009673 100$
If I load DSO B - - > DSO C , and the do look up on DSO A: Then I will miss the delta changes which happen in the DSO A
Can I load both DSO A and DSO B to DSO C?
Edited by: Ram on Nov 24, 2009 6:55 PM
Similar Messages
-
One to many data display problem.
Post Author: testing123
CA Forum: Crystal Reports
Hi,
I have a database structure like this:
Project --> LabourTimesheet, PurchaseOrder
Each project may have any number of LabourTimesheet values, and any number of PurchaseOrder values. They are both monetary values.
One project could have 4 LabourTimesheet values, and 3 PurchaseOrder values. Another could have 17 LabourTimesheet values and 200 PurchaseOrder values.
What I want to do is have individual total of the LabourTimesheet and PurchaseOrders for each Project. As it stands now, I can calculate a running total (for each Project) of PurchaseOrders fine. However, the LabourTimesheet values repeat every time a new PurchaseOrder is generated.
We end up, typically with something like this:
Because the LabourTimesheets repeat I cannot set up a standard running total to calculate on each individual timesheet because the entries repeat. Does anyone know of a formula or other method I can use to stop this happening?Post Author: branko
CA Forum: Crystal Reports
Please tell us if you are using one table or you are pulling information by connecting table LABOUR TIMESHEET and TABLE PURCHASE ORDERSLinking tables correctly will sometimes eliminate repetition. I am assuming that this is how your result should look like : LABOR TIMESHEET PURCHASE ORDER 67.50 0.00198 93.55198 103.15----
463.5 196.70 I am assuming that your purchase order has some kind unique ID.E.G.PO # is 00100 00101 00102 etcAlso you might have another connection between PO and LAbour timesheet E.G. Project ID is 1,2,3 If you describe your database more , you will get your answer faster. -
Creating a single context index on a one-to-many and lookup table
Hello,
I've been successfully setting up text indexes on multiple columns on the same table (using MULTI_COLUMN_DATASTORE preferences), but now I have a situation with a one-to-many data collection table (with a FK to a lookup table), and I need to search columns across both of these tables. Sample code below, more of my chattering after the code block:
CREATE TABLE SUBMISSION
( SUBMISSION_ID NUMBER(10) NOT NULL,
SUBMISSION_NAME VARCHAR2(100) NOT NULL
CREATE TABLE ADVISOR_TYPE
( ADVISOR_TYPE_ID NUMBER(10) NOT NULL,
ADVISOR_TYPE_NAME VARCHAR2(50) NOT NULL
CREATE TABLE SUBMISSION_ADVISORS
( SUBMISSION_ADVISORS_ID NUMBER(10) NOT NULL,
SUBMISSION_ID NUMBER(10) NOT NULL,
ADVISOR_TYPE_ID NUMBER(10) NOT NULL,
FIRST_NAME VARCHAR(50) NULL,
LAST_NAME VARCHAR(50) NULL,
SUFFIX VARCHAR(20) NULL
INSERT INTO SUBMISSION (SUBMISSION_ID, SUBMISSION_NAME) VALUES (1, 'Some Research Paper');
INSERT INTO SUBMISSION (SUBMISSION_ID, SUBMISSION_NAME) VALUES (2, 'Thesis on 17th Century Weather Patterns');
INSERT INTO SUBMISSION (SUBMISSION_ID, SUBMISSION_NAME) VALUES (3, 'Statistical Analysis on Sunny Days in March');
INSERT INTO ADVISOR_TYPE (ADVISOR_TYPE_ID, ADVISOR_TYPE_NAME) VALUES (1, 'Department Chair');
INSERT INTO ADVISOR_TYPE (ADVISOR_TYPE_ID, ADVISOR_TYPE_NAME) VALUES (2, 'Department Co-Chair');
INSERT INTO ADVISOR_TYPE (ADVISOR_TYPE_ID, ADVISOR_TYPE_NAME) VALUES (3, 'Professor');
INSERT INTO ADVISOR_TYPE (ADVISOR_TYPE_ID, ADVISOR_TYPE_NAME) VALUES (4, 'Associate Professor');
INSERT INTO ADVISOR_TYPE (ADVISOR_TYPE_ID, ADVISOR_TYPE_NAME) VALUES (5, 'Scientist');
INSERT INTO SUBMISSION_ADVISORS (SUBMISSION_ADVISORS_ID, SUBMISSION_ID, ADVISOR_TYPE_ID, FIRST_NAME, LAST_NAME, SUFFIX) VALUES (1,1,2,'John', 'Doe', 'PhD');
INSERT INTO SUBMISSION_ADVISORS (SUBMISSION_ADVISORS_ID, SUBMISSION_ID, ADVISOR_TYPE_ID, FIRST_NAME, LAST_NAME, SUFFIX) VALUES (2,1,2,'Jane', 'Doe', 'PhD');
INSERT INTO SUBMISSION_ADVISORS (SUBMISSION_ADVISORS_ID, SUBMISSION_ID, ADVISOR_TYPE_ID, FIRST_NAME, LAST_NAME, SUFFIX) VALUES (3,2,3,'Johan', 'Smith', NULL);
INSERT INTO SUBMISSION_ADVISORS (SUBMISSION_ADVISORS_ID, SUBMISSION_ID, ADVISOR_TYPE_ID, FIRST_NAME, LAST_NAME, SUFFIX) VALUES (4,2,4,'Magnus', 'Jackson', 'MS');
INSERT INTO SUBMISSION_ADVISORS (SUBMISSION_ADVISORS_ID, SUBMISSION_ID, ADVISOR_TYPE_ID, FIRST_NAME, LAST_NAME, SUFFIX) VALUES (5,3,5,'Williard', 'Forsberg', 'AMS');
COMMIT;I want to be able to create a text index to lump these fields together:
SUBMISSION_ADVISORS.FIRST_NAME
SUBMISSION_ADVISORS.LAST_NAME
SUBMISSION_ADVISORS.SUFFIX
ADVISOR_TYPE.ADVISOR_TYPE_NAME
I've looked at DETAIL_DATASTORE and USER_DATASTORE, but the examples in Oracle Docs for DETAIL_DATASTORE leave me a little bit perplexed. It seems like this should be pretty straightforward.
Ideally, I'm trying to avoid creating new columns, and keeping the trigger adjustments to a minimum. But I'm open to any and all suggestions. Thanks for for your time and thoughts.
-JamieI would create a procedure that creates a virtual document with tags, which is what the multi_column_datatstore does behind the scenes. Then I would use that procedure in a user_datastore, so the result is the same for multiple tables as what a multi_column_datastore does for one table. I would also use either auto_section_group or some other type of section group, so that you can search using WITHIN as with the multi_column_datastore. Please see the demonstration below.
SCOTT@orcl_11gR2> -- tables and data that you provided:
SCOTT@orcl_11gR2> CREATE TABLE SUBMISSION
2 ( SUBMISSION_ID NUMBER(10) NOT NULL,
3 SUBMISSION_NAME VARCHAR2(100) NOT NULL
4 )
5 /
Table created.
SCOTT@orcl_11gR2> CREATE TABLE ADVISOR_TYPE
2 ( ADVISOR_TYPE_ID NUMBER(10) NOT NULL,
3 ADVISOR_TYPE_NAME VARCHAR2(50) NOT NULL
4 )
5 /
Table created.
SCOTT@orcl_11gR2> CREATE TABLE SUBMISSION_ADVISORS
2 ( SUBMISSION_ADVISORS_ID NUMBER(10) NOT NULL,
3 SUBMISSION_ID NUMBER(10) NOT NULL,
4 ADVISOR_TYPE_ID NUMBER(10) NOT NULL,
5 FIRST_NAME VARCHAR(50) NULL,
6 LAST_NAME VARCHAR(50) NULL,
7 SUFFIX VARCHAR(20) NULL
8 )
9 /
Table created.
SCOTT@orcl_11gR2> INSERT ALL
2 INTO SUBMISSION (SUBMISSION_ID, SUBMISSION_NAME)
3 VALUES (1, 'Some Research Paper')
4 INTO SUBMISSION (SUBMISSION_ID, SUBMISSION_NAME)
5 VALUES (2, 'Thesis on 17th Century Weather Patterns')
6 INTO SUBMISSION (SUBMISSION_ID, SUBMISSION_NAME)
7 VALUES (3, 'Statistical Analysis on Sunny Days in March')
8 SELECT * FROM DUAL
9 /
3 rows created.
SCOTT@orcl_11gR2> INSERT ALL
2 INTO ADVISOR_TYPE (ADVISOR_TYPE_ID, ADVISOR_TYPE_NAME)
3 VALUES (1, 'Department Chair')
4 INTO ADVISOR_TYPE (ADVISOR_TYPE_ID, ADVISOR_TYPE_NAME)
5 VALUES (2, 'Department Co-Chair')
6 INTO ADVISOR_TYPE (ADVISOR_TYPE_ID, ADVISOR_TYPE_NAME)
7 VALUES (3, 'Professor')
8 INTO ADVISOR_TYPE (ADVISOR_TYPE_ID, ADVISOR_TYPE_NAME)
9 VALUES (4, 'Associate Professor')
10 INTO ADVISOR_TYPE (ADVISOR_TYPE_ID, ADVISOR_TYPE_NAME)
11 VALUES (5, 'Scientist')
12 SELECT * FROM DUAL
13 /
5 rows created.
SCOTT@orcl_11gR2> INSERT ALL
2 INTO SUBMISSION_ADVISORS (SUBMISSION_ADVISORS_ID, SUBMISSION_ID, ADVISOR_TYPE_ID, FIRST_NAME, LAST_NAME, SUFFIX)
3 VALUES (1,1,2,'John', 'Doe', 'PhD')
4 INTO SUBMISSION_ADVISORS (SUBMISSION_ADVISORS_ID, SUBMISSION_ID, ADVISOR_TYPE_ID, FIRST_NAME, LAST_NAME, SUFFIX)
5 VALUES (2,1,2,'Jane', 'Doe', 'PhD')
6 INTO SUBMISSION_ADVISORS (SUBMISSION_ADVISORS_ID, SUBMISSION_ID, ADVISOR_TYPE_ID, FIRST_NAME, LAST_NAME, SUFFIX)
7 VALUES (3,2,3,'Johan', 'Smith', NULL)
8 INTO SUBMISSION_ADVISORS (SUBMISSION_ADVISORS_ID, SUBMISSION_ID, ADVISOR_TYPE_ID, FIRST_NAME, LAST_NAME, SUFFIX)
9 VALUES (4,2,4,'Magnus', 'Jackson', 'MS')
10 INTO SUBMISSION_ADVISORS (SUBMISSION_ADVISORS_ID, SUBMISSION_ID, ADVISOR_TYPE_ID, FIRST_NAME, LAST_NAME, SUFFIX)
11 VALUES (5,3,5,'Williard', 'Forsberg', 'AMS')
12 SELECT * FROM DUAL
13 /
5 rows created.
SCOTT@orcl_11gR2> -- constraints presumed based on your description:
SCOTT@orcl_11gR2> ALTER TABLE submission ADD CONSTRAINT submission_id_pk
2 PRIMARY KEY (submission_id)
3 /
Table altered.
SCOTT@orcl_11gR2> ALTER TABLE advisor_type ADD CONSTRAINT advisor_type_id_pk
2 PRIMARY KEY (advisor_type_id)
3 /
Table altered.
SCOTT@orcl_11gR2> ALTER TABLE submission_advisors ADD CONSTRAINT submission_advisors_id_pk
2 PRIMARY KEY (submission_advisors_id)
3 /
Table altered.
SCOTT@orcl_11gR2> ALTER TABLE submission_advisors ADD CONSTRAINT submission_id_fk
2 FOREIGN KEY (submission_id) REFERENCES submission (submission_id)
3 /
Table altered.
SCOTT@orcl_11gR2> ALTER TABLE submission_advisors ADD CONSTRAINT advisor_type_id_fk
2 FOREIGN KEY (advisor_type_id) REFERENCES advisor_type (advisor_type_id)
3 /
Table altered.
SCOTT@orcl_11gR2> -- resulting data:
SCOTT@orcl_11gR2> COLUMN submission_name FORMAT A45
SCOTT@orcl_11gR2> COLUMN advisor FORMAT A40
SCOTT@orcl_11gR2> SELECT s.submission_name,
2 a.advisor_type_name || ' ' ||
3 sa.first_name || ' ' ||
4 sa.last_name || ' ' ||
5 sa.suffix AS advisor
6 FROM submission_advisors sa,
7 submission s,
8 advisor_type a
9 WHERE sa.advisor_type_id = a.advisor_type_id
10 AND sa.submission_id = s.submission_id
11 /
SUBMISSION_NAME ADVISOR
Some Research Paper Department Co-Chair John Doe PhD
Some Research Paper Department Co-Chair Jane Doe PhD
Thesis on 17th Century Weather Patterns Professor Johan Smith
Thesis on 17th Century Weather Patterns Associate Professor Magnus Jackson MS
Statistical Analysis on Sunny Days in March Scientist Williard Forsberg AMS
5 rows selected.
SCOTT@orcl_11gR2> -- procedure to create virtual documents:
SCOTT@orcl_11gR2> CREATE OR REPLACE PROCEDURE submission_advisors_proc
2 (p_rowid IN ROWID,
3 p_clob IN OUT NOCOPY CLOB)
4 AS
5 BEGIN
6 FOR r1 IN
7 (SELECT *
8 FROM submission_advisors
9 WHERE ROWID = p_rowid)
10 LOOP
11 IF r1.first_name IS NOT NULL THEN
12 DBMS_LOB.WRITEAPPEND (p_clob, 12, '<first_name>');
13 DBMS_LOB.WRITEAPPEND (p_clob, LENGTH (r1.first_name), r1.first_name);
14 DBMS_LOB.WRITEAPPEND (p_clob, 13, '</first_name>');
15 END IF;
16 IF r1.last_name IS NOT NULL THEN
17 DBMS_LOB.WRITEAPPEND (p_clob, 11, '<last_name>');
18 DBMS_LOB.WRITEAPPEND (p_clob, LENGTH (r1.last_name), r1.last_name);
19 DBMS_LOB.WRITEAPPEND (p_clob, 12, '</last_name>');
20 END IF;
21 IF r1.suffix IS NOT NULL THEN
22 DBMS_LOB.WRITEAPPEND (p_clob, 8, '<suffix>');
23 DBMS_LOB.WRITEAPPEND (p_clob, LENGTH (r1.suffix), r1.suffix);
24 DBMS_LOB.WRITEAPPEND (p_clob, 9, '</suffix>');
25 END IF;
26 FOR r2 IN
27 (SELECT *
28 FROM submission
29 WHERE submission_id = r1.submission_id)
30 LOOP
31 DBMS_LOB.WRITEAPPEND (p_clob, 17, '<submission_name>');
32 DBMS_LOB.WRITEAPPEND (p_clob, LENGTH (r2.submission_name), r2.submission_name);
33 DBMS_LOB.WRITEAPPEND (p_clob, 18, '</submission_name>');
34 END LOOP;
35 FOR r3 IN
36 (SELECT *
37 FROM advisor_type
38 WHERE advisor_type_id = r1.advisor_type_id)
39 LOOP
40 DBMS_LOB.WRITEAPPEND (p_clob, 19, '<advisor_type_name>');
41 DBMS_LOB.WRITEAPPEND (p_clob, LENGTH (r3.advisor_type_name), r3.advisor_type_name);
42 DBMS_LOB.WRITEAPPEND (p_clob, 20, '</advisor_type_name>');
43 END LOOP;
44 END LOOP;
45 END submission_advisors_proc;
46 /
Procedure created.
SCOTT@orcl_11gR2> SHOW ERRORS
No errors.
SCOTT@orcl_11gR2> -- examples of virtual documents that procedure creates:
SCOTT@orcl_11gR2> DECLARE
2 v_clob CLOB := EMPTY_CLOB();
3 BEGIN
4 FOR r IN
5 (SELECT ROWID rid FROM submission_advisors)
6 LOOP
7 DBMS_LOB.CREATETEMPORARY (v_clob, TRUE);
8 submission_advisors_proc (r.rid, v_clob);
9 DBMS_OUTPUT.PUT_LINE (v_clob);
10 DBMS_LOB.FREETEMPORARY (v_clob);
11 END LOOP;
12 END;
13 /
<first_name>John</first_name><last_name>Doe</last_name><suffix>PhD</suffix><submission_name>Some
Research Paper</submission_name><advisor_type_name>Department Co-Chair</advisor_type_name>
<first_name>Jane</first_name><last_name>Doe</last_name><suffix>PhD</suffix><submission_name>Some
Research Paper</submission_name><advisor_type_name>Department Co-Chair</advisor_type_name>
<first_name>Johan</first_name><last_name>Smith</last_name><submission_name>Thesis on 17th Century
Weather Patterns</submission_name><advisor_type_name>Professor</advisor_type_name>
<first_name>Magnus</first_name><last_name>Jackson</last_name><suffix>MS</suffix><submission_name>The
sis on 17th Century Weather Patterns</submission_name><advisor_type_name>Associate
Professor</advisor_type_name>
<first_name>Williard</first_name><last_name>Forsberg</last_name><suffix>AMS</suffix><submission_name
Statistical Analysis on Sunny Days inMarch</submission_name><advisor_type_name>Scientist</advisor_type_name>
PL/SQL procedure successfully completed.
SCOTT@orcl_11gR2> -- user_datastore that uses procedure:
SCOTT@orcl_11gR2> BEGIN
2 CTX_DDL.CREATE_PREFERENCE ('sa_datastore', 'USER_DATASTORE');
3 CTX_DDL.SET_ATTRIBUTE ('sa_datastore', 'PROCEDURE', 'submission_advisors_proc');
4 END;
5 /
PL/SQL procedure successfully completed.
SCOTT@orcl_11gR2> -- index (on optional extra column) that uses user_datastore and section group:
SCOTT@orcl_11gR2> ALTER TABLE submission_advisors ADD (any_column VARCHAR2(1))
2 /
Table altered.
SCOTT@orcl_11gR2> CREATE INDEX submission_advisors_idx
2 ON submission_advisors (any_column)
3 INDEXTYPE IS CTXSYS.CONTEXT
4 PARAMETERS
5 ('DATASTORE sa_datastore
6 SECTION GROUP CTXSYS.AUTO_SECTION_GROUP')
7 /
Index created.
SCOTT@orcl_11gR2> -- what is tokenized, indexed, and searchable:
SCOTT@orcl_11gR2> SELECT token_text FROM dr$submission_advisors_idx$i
2 /
TOKEN_TEXT
17TH
ADVISOR_TYPE_NAME
AMS
ANALYSIS
ASSOCIATE
CENTURY
CHAIR
CO
DAYS
DEPARTMENT
DOE
FIRST_NAME
FORSBERG
JACKSON
JANE
JOHAN
JOHN
LAST_NAME
MAGNUS
MARCH
PAPER
PATTERNS
PHD
PROFESSOR
RESEARCH
SCIENTIST
SMITH
STATISTICAL
SUBMISSION_NAME
SUFFIX
SUNNY
THESIS
WEATHER
WILLIARD
34 rows selected.
SCOTT@orcl_11gR2> -- sample searches across all data:
SCOTT@orcl_11gR2> VARIABLE search_string VARCHAR2(100)
SCOTT@orcl_11gR2> EXEC :search_string := 'professor'
PL/SQL procedure successfully completed.
SCOTT@orcl_11gR2> SELECT s.submission_name,
2 a.advisor_type_name || ' ' ||
3 sa.first_name || ' ' ||
4 sa.last_name || ' ' ||
5 sa.suffix AS advisor
6 FROM submission_advisors sa,
7 submission s,
8 advisor_type a
9 WHERE CONTAINS (sa.any_column, :search_string) > 0
10 AND sa.advisor_type_id = a.advisor_type_id
11 AND sa.submission_id = s.submission_id
12 /
SUBMISSION_NAME ADVISOR
Thesis on 17th Century Weather Patterns Professor Johan Smith
Thesis on 17th Century Weather Patterns Associate Professor Magnus Jackson MS
2 rows selected.
SCOTT@orcl_11gR2> EXEC :search_string := 'doe'
PL/SQL procedure successfully completed.
SCOTT@orcl_11gR2> /
SUBMISSION_NAME ADVISOR
Some Research Paper Department Co-Chair John Doe PhD
Some Research Paper Department Co-Chair Jane Doe PhD
2 rows selected.
SCOTT@orcl_11gR2> EXEC :search_string := 'paper'
PL/SQL procedure successfully completed.
SCOTT@orcl_11gR2> /
SUBMISSION_NAME ADVISOR
Some Research Paper Department Co-Chair John Doe PhD
Some Research Paper Department Co-Chair Jane Doe PhD
2 rows selected.
SCOTT@orcl_11gR2> -- sample searches within specific columns:
SCOTT@orcl_11gR2> EXEC :search_string := 'chair'
PL/SQL procedure successfully completed.
SCOTT@orcl_11gR2> SELECT s.submission_name,
2 a.advisor_type_name || ' ' ||
3 sa.first_name || ' ' ||
4 sa.last_name || ' ' ||
5 sa.suffix AS advisor
6 FROM submission_advisors sa,
7 submission s,
8 advisor_type a
9 WHERE CONTAINS (sa.any_column, :search_string || ' WITHIN advisor_type_name') > 0
10 AND sa.advisor_type_id = a.advisor_type_id
11 AND sa.submission_id = s.submission_id
12 /
SUBMISSION_NAME ADVISOR
Some Research Paper Department Co-Chair John Doe PhD
Some Research Paper Department Co-Chair Jane Doe PhD
2 rows selected.
SCOTT@orcl_11gR2> EXEC :search_string := 'phd'
PL/SQL procedure successfully completed.
SCOTT@orcl_11gR2> SELECT s.submission_name,
2 a.advisor_type_name || ' ' ||
3 sa.first_name || ' ' ||
4 sa.last_name || ' ' ||
5 sa.suffix AS advisor
6 FROM submission_advisors sa,
7 submission s,
8 advisor_type a
9 WHERE CONTAINS (sa.any_column, :search_string || ' WITHIN suffix') > 0
10 AND sa.advisor_type_id = a.advisor_type_id
11 AND sa.submission_id = s.submission_id
12 /
SUBMISSION_NAME ADVISOR
Some Research Paper Department Co-Chair John Doe PhD
Some Research Paper Department Co-Chair Jane Doe PhD
2 rows selected.
SCOTT@orcl_11gR2> EXEC :search_string := 'weather'
PL/SQL procedure successfully completed.
SCOTT@orcl_11gR2> SELECT s.submission_name,
2 a.advisor_type_name || ' ' ||
3 sa.first_name || ' ' ||
4 sa.last_name || ' ' ||
5 sa.suffix AS advisor
6 FROM submission_advisors sa,
7 submission s,
8 advisor_type a
9 WHERE CONTAINS (sa.any_column, :search_string || ' WITHIN submission_name') > 0
10 AND sa.advisor_type_id = a.advisor_type_id
11 AND sa.submission_id = s.submission_id
12 /
SUBMISSION_NAME ADVISOR
Thesis on 17th Century Weather Patterns Professor Johan Smith
Thesis on 17th Century Weather Patterns Associate Professor Magnus Jackson MS
2 rows selected. -
Does xcelsius access data model in MS sql server 2000
have the following scenario: I need to create a dashboard which will be accessed through a Microsoft Office SharePoint server portal. This dashboard will be used for analysis of Agencies and Underwriters; they should be able to drill down to policy level details.
The data will originate from a Data Warehouse (Relational Schema) which resides on a Microsoft SQL server 2000 platform.
Q) Does Xcelsius work off a relational model or does the data model need to be converted to a Dimensional Star schema? Do you have to create Cubes?
A)
Q) It was mentioned in the book that Xcelsius can connect to a Microsoft SharePoint server using web part, however there is no information in the help menu to do that task?
A)
My thought) I was also thinking that the data model build on MS SQL SERVER 2000 can be used to create a Universe, which then can link to Live Office using Query as a Web Service (QAAWS) and used to build Xcelsius model. (Does one have to go this route, or can one access the data model created on SQL SERVER 2000?)
Any Feedback)I need to create a dashboard which will be accessed through a Microsoft Office SharePoint server portal. This dashboard will be used for analysis of Agencies and Underwriters; they should be able to drill down to policy level details.
The data will originate from a Data Warehouse (Relational Schema) which resides on a Microsoft SQL server 2000 platform.
Q) Does Xcelsius work off a relational model or does the data model need to be converted to a Dimensional Star schema? Do you have to create Cubes?
A) Xcelsius works on an X/Y (Column/Row) table model, strictly based on the Excel structure. Though the underlying data model is a table, it is not inherently relational as it does not impose any BC Normal Form requirements.
Xcelsius works primarily with data embedded in an integrated Excel workbook. Data can be input to the workbook by a variety of methods, from importing a premade Excel workbook into the the model to retrieving data from flat files (.txt, .xml, .etc) to getting data from a connection such as a WebService.
There is no capability to connect directly, 1:1, to a database source and execute SQL queries. An intermediary is required to retrieve data from a database, such as a WebService or an XML Data connection. -
One-to-many in bubble chart - or a 'stacked' bubble chart?
Hi all
I am working on a bubble chart app. I have found many examples of using the bubble chart to display data in a one to one basis - so there is a single data point which has a value one both the horizontal and vertical axises.
Can someone please tell me how I can have display data which has a single vertical value, but multiple datapoints on the horizontal - and all data points for that single vertical value are dislayed on the same line?
I hope I have explained this clearly.
In a bar chart this is called 'Stacked'. Can I do a similar thing with a Bubble Chart - is it even possible?
Kind regards,OK I think I can answer my own question.
it seems that the Bubble Chart can have a one-to many data points. the problem was that the horizontal and vertical axis would display duplicate values.
I found this link to be useful: http://www.mail-archive.com/[email protected]/msg96652.html//www.mail-archive.com/[email protected]/msg96652.html -
How to handle One to Many relation In BI Data Model
Hi,
I posted this same question earlier but bit in a different way ..
I have may be infact many come across this requirement ..
As you know R3 Multiple Partner functions would be assigned to a single Sales document but when we want to show the same sales report along with Sales document and respective partner functions in BI it is bit difficult because we can not really allow to split the keyfigure values based on Partner functions when they drilled down by Pfunctions ...
Only alternative is to have multiple partner function attributes (columns) like one for each pfunction in one of the Sales Doc Masterdata and define them as navigational attributes..so that all partner functions would be saved
SALES DOC -
PartnerFunction-----AMOUNT
100000----
ZZ -
5000
100000-- AB--
100000-- BC--
to meet above requirement as per my above proposed alternative looks like as below
SALES DOC -
Partner Function 1--PArtner Function2-- PF3------ AMOUNT
100000--ZZABBC--
5000
So other than this do you see any other better Data Model ??
Could you please share your thoughts on it??
Thanks & Regards,
BRKCreate a view based on VBPA ( Sales partner functions) and VBAK,VBAPor VBEP ( anyone relevant to your case) and create a generic datasource based on that
-
Export Master Data Model from MDM solution.
Hello,
I have been assigned the requirement to integrate our product with your “Master Data Management” solution. To be more specific, I need to import the Mater Data structure (model), from your companies MDM solution, into our product to build its table/column structure. What I am looking for is technical documentation that will help me make this possible.
Here is a list of some questions I have that technical documentation could address:
• Does your MDM solution have the capability to export the underlying Master Data structure (model)?
• What form is the data structure exported (db schema, data dictionary, etc)?
• What format would the exported information be in (XML, delimited text file, SQL DDL)?
• If the format is XML, is there an XML Schema that defines what it will look like?
• Do you have any sample export files that I can work with?
• Is there technical documentation that would help me make this possible?If you want to integrate with DRM I would suggest using the API (check out the SDK). This is the preferred and supported way to inject or extract from DRM from an integration standpoint. You can also do imports/exports, for example exporting a hierarchy in XML, to a table, etc.
Directly modifying the tables is not supported or encouraged; the DRM engine enforces many rules like validations, keeps multiple versions, tracks changes in transaction logs, etc, besides the fact that the database structure can change during upgrades. Additionally, due to the dynamic configuration capabilities some things like property values are stored in a one-to-many table that may be pivoted from what you expect. -
How to insert data in a one-to-many relationship
How do you insert data into the client, my model entity beans have a one-to-many relationship.
PARENT ENTITY BEAN
PARENT-ID
PARENT-NAME
The ejbCreate(Integer parentID,String name)
CHILD ENTITY BEAN
CHILD-ID
CHILD-NAME
PARENT-ID(foreign key of PARENTID).
ejbCreate(Integer parentID,String name,String foreignparentID)
In a jsp page i collect the parent details and 3 corresponding chld details in a text box.
Can you please tell me how do i proceed from here...
ie. how to i insert data into the entity beans..
Do i pass the child as a collection, and within parents ejbCreate() method do i lookup for the childs home interface and insert one -by -one from the collection.
1. Considering the above example, can some one pls tell how the ejbCreate() mehod signatures, for the parent and child entity beans should be.
2. Pls also show some sample client code as to how to make an insertion.
3. In case you are passing a collection of child data, then in what format does one have to insert into a collection and also how does the container know how to insert the values in the child table , bcoz we are passing as a collection.
4.In case collections cannot be inserted do we need to iterate into the collection in parent's ejbCreate() method, and manually insert into the database of the childtable, thereby creating child entity beans.
Thanks for your time and support...
regards
kartikHi,
3. In this case of course child's ejbCreate(and postCreate) looks like
ejbCreate(Integer childID,String name,ParentLocal parent) {
setId(Id);
setName(name);
ejbPostCreate(Integer childID,String name,ParentLocal parent) {
setParent(parent);
Here you don't need IDs, but it happens only using Locals, not Remotes, if I'm not wrong. Container does it itself.
1. Of course, if you have parent.getChildren() and parent.setChildren() then you don't need any loops, but it should be done anyway in postCreate, because in ejbCreate there no parent exists yet.
Once more 3: example - I'm using JBoss 3.2.5 as EJB container. It has tomcat inside and EJB and JSP+Struts use the same jvm. It means for me that I don't need to use remote interfaces, just locals. And in this case I can implement ejb-relations. So, a have the abstract method parent.getChildren() which returns Collection of ChildLocal - s and method parent.setChildren(Collection childrenLocals) which creates/modifies children by itself.
I have not used remotes for a long time, but as I remember it was not possible to implement ejb-relations using remotes.
regards,
Gio -
Many pages and complex data model in JHS app
I am using JHS to create an application containing data that is structured something like:
- Country
- Company
- Department
- Employee
- Payments Details
I have created entity and view objects corresponding to each of these and the appropriate accessors/view links. We need the user to be able to search, work on data and 'drill down' from any level (not always starting with company). In order to make this possible my JHS application has 5 'top level' tabs corresponding to each of the above entities. From each of these top level pages users can drill down to the children.
This works but we end up with many pages and a large data model with lots of replication and nesting.
Country - 5 pages
Company - 4 pages
Department - 3 pages
Employee - 2 pages
Payments - 1 page
total 15
You can picture how the data model is structured. Obviously this is a very simple example but I hope it illustrates my concerns. We have so many pages that post-generation changes are going to be difficult to manage. I'm also worried about the size and complexity of the data model. In this case views are almost all entity based so I guess the data is only cached once but supposing they were not?
Are we using JHS in the best way ? perhaps I'm overcompilcating it ?
I have started to rewrite the JHS generated application so that it (almost) always reuses the same top level generated pages (with some modifications). When the user wants to navigate to a child I modify the whereClause of the target ViewOjbect appropriately, reexecute it and forward to the corresponding 'top level' page. This approach seems to work well, cuts down the number of pages enormously and simplifies the data model (and has enabled me to put breadCrumbs in).
In doing this though, am I creating work for myself that JSH could have done if we had used it differently in the fist place?This sounds like a valid approach in your situation. We have been playing with the idea of having something like 'Group Links' where you can generate navigation items from one group to the other. Then, you would need to have one, 5 level deep nested group, and 4 other top level groups to provide the search&select on each of the nested groups, but they themselves would not need to have nested groups, but a navigation link to the nested groups in the 5-level deep group.
Although nice and simple in theory, the details are a bit tricky to work out with all the possible layout- and samePage settings, so we have not implemented this yet. So your approach seems a valid one. If you have any suggestions on a way to generate what you are now doing manually, we'll be interested.
Kind regards,
Peter Ebell
JHeadstart Team -
Using models for multiple one-to-many table relationships
Hi there!
I have a database with tables that have one-to-many relationships. They
are laid out with a standard join tables:
A A_B B B_C C
a_id a_id b_id b_id c_id
b_id c_id
and has 1 A for n of B. In some cases, the B table also joins with
another table for yet more information.
My question: what technique should I use to organize a database of this
type into JATO Models?
I could create an AModel, for example, that would have a set of query
field descriptors for the information relevant from tables A and B. But
then how do I query table C when that information is necessary? Or,
more to the point, create information in C when a new entry in B is created.
Do the models use each other, or is that left up to the view bean (seems
incorrect for data isolation).
Any pointers appreciated,
ByronByron,
You can create a separate "modifying" model for each table and do
inserts/deletes/updates in a transaction across the tables with the
three models. That's really the easy part.
The somewhat more tedious part is the "join" models, but not hard to do.
You just have to decide what you need from the different tables and
quite possibly create multiple join models for different select scenarios.
So let's just run through a simple two table join model.
Create a SQL model. I usually name them based on the table joins. Let's
use a somewhat more real example:
table = customer
columns = custid, firstname, lastname, email
table = address
columns = addrid (seqid), custid (fk), type
('w'ork,'h'ome,'b'illing,'s'hipping,'o'ther), address1, address2, city,
state, zip
Suppose we want to select a customer and show a list of all his/her
addresses.
I would create a SQL model class (extending QueryModelBase of course)
called CustomerAddressJoinModel (this naming convention gets tough with
three or more tables, so you have to be creative).
In that model, I would create the fields just like any single table
model. You need only include the columns you need. Maybe you create one
join model that only has custid, lastname, firstname, type, city, zip.
OK, so we only cut out 2 columns, but you get the point. If you had a
table with lots of columns with data you rarely need to display and/or
update, then you can exclude them. Probably a slick way to exclude
dynamically, but this is straight forward.
Another join model could have all the columns of both tables.
So the trick is to set the static where criteria (using the
setStaticWhereCriteria method) in the model's constructor. I think the
sql model template has this in it.
setStaticWhereCriteria(customer.custid=address.custid);
Now you just set your criteria like any other model, and execute it.
For a 3 table join, you just set the static criteria like this:
tableA.aid=tableB.aid AND tableB.bid=tableC.bid
does that make sense?
You can also set the "modifying table" (setModifyingTable(table) - i
think that's right) in the model and inserts/updates/deletes will only
operate on that table within the model. Problem is maybe in the the
field binding in your views. You may want to select from one field, and
modify using another field. Can be done though, just not directly supported.
In the next release of JATO, you will be able to set a display fields
binding for read and write using different fields and even different models.
craig
Byron Servies wrote:
Hi there!
I have a database with tables that have one-to-many relationships. They
are laid out with a standard join tables:
A A_B B B_C C
a_id a_id b_id b_id c_id
b_id c_id
and has 1 A for n of B. In some cases, the B table also joins with
another table for yet more information.
My question: what technique should I use to organize a database of this
type into JATO Models?
I could create an AModel, for example, that would have a set of query
field descriptors for the information relevant from tables A and B. But
then how do I query table C when that information is necessary? Or,
more to the point, create information in C when a new entry in B is created.
Do the models use each other, or is that left up to the view bean (seems
incorrect for data isolation).
Any pointers appreciated,
Byron
To download the latest version of JATO, please visit:
http://www.sun.com/software/download/developer/5102.html
For more information about JATO, please visit:
http://developer.iplanet.com/tech/appserver/framework/index.jsp -
Data services and one to many foreign keys?
Hi,
I am playing with the data features in Flash4. I can get a flex app to work that will query and update a J2EE entity that has no foreign keys, but when I try the same with an entity that has many to one foreign keys I get a null pointer error coming from the server. I created a servlet to do the same update and that worked.
I'm wondering if the issue is a casting issue. I know I have to do the configure data types thing to some of the generated service calls to let it know what action script class is appropriate (instead of a generic object ) e.g. findAll(). Do I have to do a similar thing for one to many foreign key situations? i.e. lets say i have a department - employees model. On the java side the department entity has a variable that is a set of employees. In the department.as class I'd have a employees field thats an ArrayCollection. Do I have to let it know somewhere that this is an ArrayCollection of employee.as objects?
FYI, I've already changed to eager fetching of the fk values.
Does anyone have this working?
Thanks,
BillHi,
Thanks for your feedback!
This looks like an issue.
Can you please log a bug in http://bugs.adobe.com/flex with your sample.
Thanks,
Balaji
http://balajisridhar.wordpress.com -
Hi There,
I have created two data model for my report. The queries have no relation to each other. Is that possible to put both these in one report with same user parameters. or do u have any better suggestion to do this.
For Example:
select count(*) from (select name "Worker" from person
where start_date between (:P_1) and (:P_2)
select count(*) from (select name "ADMIN PERSON" from admin
where start_date between (:P_1) and (:P_2)
ThanksHi Jagjit,
I created one report with 2 SQL queries:
select count(*) from employees where department_id < :P_1
and
select count(*) from departments where department_id < :P_1
And it worked fine. So your report should be OK. By the way, a report has just one "Data Model". It is possible to have 2 or more "Queries" in the data model.
Navneet. -
Building report from more than one data model
Hi Experts,
I have a requirement to build a report in BI Publisher.
The report has three section each having their own data source.
When i try to create report in BI Publisher it allows me to associate one data model per report.
is it feasible to have more than one data source for a single report.
Cheers,
AndyHi Andy,
Not sure If this meets your requirement, please do have a look at the following links:
http://www.rittmanmead.com/2008/04/24/bi-publisher-reports-with-multiple-data-sources/
http://blogs.oracle.com/xmlpublisher/2008/07/multiple_datasources_i.html
http://blogs.oracle.com/xmlpublisher/2008/07/multiple_datasources_ii.html
Thanks. -
i have three tables A,B,C. there is one to many relation between A and B. and one to many relation existed between table b and c . how will get data from these three tables
check if this helps:
select * --you can always frame your column set
from tableA a
left join tableB b on a.aid=b.aid
left join tableC c on c.bid=b.bid
This is just a general query. However, we can help you a lot more, if you can post the DDL + sample data and required output.
Thanks,
Jay
<If the post was helpful mark as 'Helpful' and if the post answered your query, mark as 'Answered'> -
Populating One way path in our Network data model
Hi
I have some data for my application car navigation system. I am using Oracle spatial feature in my database.we created network data model for our application. we want to populate One way path direction in my Network data model. I am not able to do Please help meHI Paolini,
No this direction is for our Network model. but we want to populate for Device. My table structure is
delhi_road
SW_UFI
NAME
FROM_LEFT
TO_LEFT
FROM_RIGHT
TO_RIGHT
ALIAS_NAME
LABEL
LENGTH_M
SPEED
ONEWAY
STATE
TOLL_0_1
CITY
CLASSIFICA
CATEGORY
GEOMETRY
ID
USER_ID
here is oneway column if value is 1 then it is one way otherwise bidirectional. I created data model but i am not able to populate path direction
Maybe you are looking for
-
How do I transfer TV shows I purchased on my Apple TV to my computer?
-
Restricting a Ratio with a filter on a dynamic value.
In a Report built with the query designer. I display: Row Custumer Category Material ListPrice SalesPrice 1 K1 C1 M1 5 4 2 K2 C1 M2 6 5
-
Swirling circle (Firefox activity indicator) never stops spinning in Yahoo Mail
Swirling circle next to cursor always spinning. Occurs after clicking on any folder while in Yahoo Mail Classic. New computer with Windows 7.
-
Error while opening application
Hi, When everytime i try to open the application, i'm getting an error. But if i uninstall Jinitiator and reinstall again then it works fine. I need to do this each and everytime i want to login to the application. Any solution for this? Thanks in ad
-
Removing Background from Subject Using Clean Plate?
If I have a clean plate and then another layer with talent acting in the same exact shot as the clean plate, is there any way for After Effects to remove the background of the shot with the talent? I essentially want to do a green screen without the