RE: Join complex
Hi Experts,I have a few questions about the complex joins
1 > first when import us the tables in the physical layer, we joins from FK for the tables according to our requirement so layered MDB, we create new business model then again why to do complex layer of MDB already join there are joins between the tables in the physical layer , the scenarios that we do the complex join if we do not the complex join what will happens.
2 > if we FK join instead of complex layer MDB join what will be the result.
Thanks in advance,
Hello
We have two joins in OBIEE a foreign key join and join another complex. Above all 99% of the cases we use foreign key join physical layer.we use a complex join in a phycical layer mainly in the three scenarios.
(1) when it is extended to the join conditions.
(2) when we join a key of a table column with a column not key in the other table.
(3) where the operator is other than the equal to operator.
In these 3 situations, we use a complex join in the physical layer.
Then we're we have already joined in the physical layer then what is the need to create complex joins in right MDB layer.
The answer to this question is each user runs a report that will generate the logical sql query our OBIEE includes only logic sql query this logical query generated sql logic-based attend the MDB layer.
Based on this logic joins only it will create more sql query optimization. And one of the reasons for creating logical joins
If we want to specify table conduct is possible only Suiloidi complex join layer MDB.
and if we want to specify the type of join is possible only Suiloidi complex join layer MDB
and if we want to specify cordinality is possible only Suiloidi complex join layer MDB
and another is my tool is not able to identify the facts and dimensions because it has no intelligence, we need to incorporate the intelligence giving logical joins only identifies the facts and dimensions.
We must therefore create logical joins layer MDB...
Give me like, if you aresatisified with my post.
Thank you
Menama SAI
Tags: Business Intelligence
Similar Questions
-
pl/sql tables multiplt joins complex
Hi, can someone please help me to write the query to the following output.
I have 3 tables say TABLE A, TABLE 1, TABLE 2 and the columns and data are,
TABLE A:
ID-NAME - AGEID
a1-----------------abcd1---------------1
a2-----------------abcd2---------------2
A3 - abcd3 - null
a4-----------------abcd4---------------1
a5-----------------abcd5---------------2
TABLE 1:
ID-CHAMP11 - FIELD12
a1-------------------10------------------------c1
a4-------------------40------------------------c4
TABLE 2:
ID - FIELD21 - MATIERE22
a2--------------------20-----------------------c2
a5------------------- 50-----------------------c5
and finally the output should be as follows,
ID-NAME-AGEID - FIELD1 - FIELD2
a1-----------------abcd1--------------------1-----------------------10------------------------c1
a2-----------------abcd2--------------------2-----------------------20------------------------c2
a3-----------------abcd3-------------------null---------------------null-----------------------null
a4-----------------abcd4-------------------1-----------------------40-------------------------c4
a5-----------------abcd5------------------ 2-----------------------50-------------------------c5
Description: in the tables above, the TABLE is the primary table with ID as the primary key and AGEID is a normal column.
then in the output, if the value of the ageid is 1 then the additional fields in the output must come from TABLE 1
and if the ageid 2 then the additional fields in the output must come from TABLE 2
and if the ageid is 3 then additional fields in the output should come from TABLE 3 and so on...
thanking you,
MDRHello
user10730611 wrote:
...
but I have something more to do. in fact, these types of data from column in table1 and table2 are different.
I so all converted to a varchar2 to display output.Exactly; convert anything that is not already a string in a string.
For example:
, CASE ta.ageid WHEN 1 THEN TO_CHAR (t1.field1) -- t1.field1 is a NUMBER WHEN 2 THEN TO_CHAR (t2.field1, 'DD-Mon-YYYY') -- t2.field1 is a DATE END AS field1 -- the output column field1 is a VARCHAR2
-
Confused about the complex joins in joins Manager
Hello
I know that when we create join in the physical layer, we must use "foreign key" this icon,.
and when we need create joins in the MDB layer, you need to use 'new joint complex. "
so, what is the purpose of the complex joined in the Manager of joins? I'm so confused on this subject...
Kind regards
AnneHello
Please see the below ahttp://obiee11gqna.blogspot.com/2011/02/interview-questions-on-joins-in-OBIEE.html
---> complex join is that join in join where as two tables has no way join foreign at this complex time key is used
--> Join complex:-join complex are used in the physical layer between two tables where ever who do not key primary and forgin key relationship.
Foregin Key:-using the forgin key we can define the join between two tables. joins between is 1:M or M:M., if we want to define: many relationships we use the bridge tables.
Thank you
Deva
Published by: Devarasu on October 18, 2011 10:27
-
Join physical &; complex join
Hello
I'm little confusion when join physical use and join complex. Can we create a complex join in physical layer? If so, when it is used? and can we use physical join in layer MDB? If so when should I use? Can you please give me some examples.can we use physical join in layer MDB?
You can also use physical joins in MDB to override the join in the physical layer, but only under very specific conditions.
concerning
Debo -
Join physical OBIEE 11 g condition
Team
How to create a physical join complex which has a substr function in OBIEE 11 g RPD.
Here's the scenario... A custom Dimension table has monthwid (201407,201408..) and the customer number. The fact table has created date (20140712, 20140715...) and the customer number. We need to create a join of physics as
Dimension table. Customer number = fact table. Table.monthwid number AND Customer Dimension = substr (date of facttable.created, 1, 6).
When I tried it, get the nqserror generic 27002. Is it more to create a join in the above scenario.
Thank you very much
Concerning
Bottom
Hi there,
I just see that the syntax is off. There "substring (... of... of...)" as follows:
Cast ("01 - Sample App Data (ORCL)" ".." ") "" "BISAMPLE '." " ZZZZ-SRORDERS ".» (GUID' as varchar (10))
=
Substring (cast ("01 - Sample App Data (ORCL)" ".." ")) "" "BISAMPLE '." " ZZZZ-SCORDERS ".» ((GUID' as varchar (10)) 0-6)
-
Apply the sequence as a logical column
I need to add a logical column in my table of facts or the dimension that generates a unique ID for each row selected in the answers. I have a sequence is created called camp_con_seq on my database. I wish I had my logical column run the camp_con_seq.nextval for each returned row. How can I set this up in the RPD?
Thank you...Created the view in the layer using 'select' as a Type of Table with query
Select double pubs.nextval;
Add a nexval column.
Saved it and when I discover data error
ORA-02287: sequence number not allowed hereJoint made with join complex fac.row_wid > = seq.col and followed by MDB and PS layer changes
The same thing in answers too.
I tried with EVALUATE('pubs.nextval(%1)' AS number, 'EMPLOYEES '. ("' Job_id") but no luck.
I suggest you go for a slider or sp using seq gen I know no can go for it or not, tried to get errors, he left.
Try to go for tables system... see how you can use using V$ SQL.
Hope this helps
-
doubt about table constraints - subscribe - search
Hello friends,
Can you please clarify this question for me:
I have a table called INVESTIGATIONS:
SOURCE_ID
AGENT_ID
INQUIRY_ID
CLIENT_FK
BEDS
UNIT_TYPE
PROJECT
INQUIRY_STATUS
LEAD_STATUS
DEAL_TYPE
BUDGET
ADMIN_FEED
AGENT_FEED
I had to create * 9 look it up * tables to provide values for the first 9 columns in table of the requests for INFORMATION.
What causes a huge footprint on the database:
-Join between 9 tables. -> > 9 FK on table of investigations.
-9 NOT check constraints NULL on information to the array for the first 9 columns.
{message: id = 10345002}
This is the required report:
Kind regardsselect "INQUIRY_STATUS"."INQUIRY_STATUS" as "INQUIRY_STATUS", "AGENTS"."AGENT_NAME" as "AGENT_NAME", "SOURCES"."SOURCE_NAME" as "SOURCE_NAME", "UNIT_TYPES"."UNIT_TYPE" as "UNIT_TYPE", "COMPLEXES"."COMPLEX_NAME_EN" as "COMPLEX_NAME_EN", "BEDS"."BED_NUMBER" as "BED_NUMBER", "INQUIRIES"."INQUIRY_ID" as "INQUIRY_ID", case when "INQUIRIES"."DEAL_TYPE" = 'S' then 'Sale' else 'Rent' end as "DEAL_TYPE", "INQUIRIES"."MOVING" as "MOVING", "INQUIRIES"."BUDGET" as "BUDGET", "INQUIRIES"."ADMIN_FEED" as "ADMIN_FEED", "INQUIRIES"."AGENT_FEED" as "AGENT_FEED", "CLIENTS"."FIRST_NAME" as "FIRST_NAME" , "LEAD_STATUS"."LEAD_STATUS" AS "LEAD_STATUS" from "INQUIRIES" "INQUIRIES" INNER JOIN "CLIENTS" "CLIENTS" ON ("CLIENTS"."CLIENT_ID"="INQUIRIES"."CLIENT_FK") INNER JOIN "LEAD_STATUS" "LEAD_STATUS" ON ("LEAD_STATUS"."STATUS_ID" = "INQUIRIES"."LEAD_STATUS") INNER JOIN "BEDS" "BEDS" ON ("BEDS"."BED_ID"="INQUIRIES"."BEDS") INNER JOIN "COMPLEXES" "COMPLEXES" ON ("COMPLEXES"."COMPLEX_ID"="INQUIRIES"."PROJECT") INNER JOIN "UNIT_TYPES" "UNIT_TYPES" ON ("UNIT_TYPES"."UNIT_TYPE_ID"="INQUIRIES"."UNIT_TYPE") INNER JOIN "SOURCES" "SOURCES" ON ("SOURCES"."SOURCE_ID"="INQUIRIES"."SOURCE_ID") INNER JOIN "AGENTS" "AGENTS" ON ("AGENTS"."AGENT_ID"="INQUIRIES"."AGENT_ID") INNER JOIN "INQUIRY_STATUS" "INQUIRY_STATUS" ON ("INQUIRY_STATUS"."STATUS_ID" = "INQUIRIES"."INQUIRY_STATUS") where :P1_phone is null or TRIM(:P1_phone) in ("CLIENTS".mobile1,"CLIENTS".mobile2,"CLIENTS".land_line)
FatehFateh says:
Hello friends,
Can you please clarify this question for me:I had to create * 9 look it up * tables to provide values for the first 9 columns in table of the requests for INFORMATION.
Which causes a huge footprint on the database?
N ° this is a database was built for. Especially an oracle database can handle this exceptionally well. The positive point is the optimizer (cbo = cost based optimizer) is the most effective way how to deal with such a simple select statement. Provided that the CBO has enough and relevant information, which means that statistics should be collected.
I just noticed that this filter condition is not a good way to get quick access to your data in tables.
where :P1_phone is null or TRIM(:P1_phone) in ("CLIENTS".mobile1,"CLIENTS".mobile2,"CLIENTS".land_line)
The datamodel is not properly normalized, so instead of making a simple comparison like
:p1_phone = clients.phonenumber
you need such a compex or condition (IN = GOLD)But it wasn't the question, right?
Published by: Sven w. on August 20, 2012 18:33
-
OBIEE 10G - repository Business Model adding fact Table
Hello
I tried to search the forum for problems similar to this one, but did not find any thread that responded to my doubts.
I'll try to explain this very well (without images it's complicated). Suppose we have a schema with the following tables:
Dim_1, Dim_2, Dim_3, Dim_4, Dim_5, Fact_1, Fact_2
Fact_1 is connected to Dim_1, Dim_2 and Dim_3
Fact_2 is connected to Dim_2, Dim_3, Dim_4 and Dim_5
And on the business of the repository model, we already have a model with the following tables:
Dim_1, Dim_2, Dim_3 and Fact_1. It was the State of the repository, the last time that we have saved.
Now, I want to add to the activity model, the table Fact_2 and the Dims that connect with Fact_2. What should I do here?
If I drag the physical layer only the tables (Dim_4, Dim_5 and Fact_2 like Dim_1 and Dim_2 already exist in the business model) when I check on the business model of the table Fact_2 and direct joins diagram I see only joins Dim_4 and Dim_5 and not joined to the other two dimesion tables (Dim_1 and Dim_2). I don't know if OBIEE will always act as these joins are made or if I'm having problems when I'm working on presentation services.
If I drag the physical layer, the tables (Dim_2, Dim_3, Dim_4, Dim_5 and Fact_2) I'll see all the joins, but I'll have on repeated business model tables, something like this:
Dim_1, Dim_2, Dim_2, #1, Dim_3, Dim_3, #1, Dim_4, Dim_5, Fact_1 and Fact_2
So what is the solution here? I have to redo everything I want to add something, and this situation occurs? Isn't his smart and there must be a better solution. I know that I can start direct joins manually, but that is the best solution that I can find in this situation?
I hope that I was clear :)
Thank youHello
I have proposed this approach because your layer of MDB was already designed with fact1 joins. If you have already designed MDB, once you drag fact1, fact2 & Sun 1-5 (after physical joins) complex join will be automatically created in MDB. Now that you're at halfway, it is the only way to include the tables.
Rgds,
DpKa -
(1) to say that I have 10 table (1fact & 9dim). I created all the joins from fk in the physical layer. Now, I will drag all the 10 tables (fact & Sun) layer of MDB and make complex join here. My question is we already have joins to the physical layer using the join of the FK. Having said that there are relationship between the tables, what is the need for the join complex layer current MDB.
(2) to say that I have 10 table (1fact & 9dim). I created joins from fk to 9 tables in the physical layer and a table is not connected. Now I will drag all 10 (fact & Sun) tables in MDB layer. How to use this Dimension not connected. This dimension will be used to obtain the answer report.
Thank you and best regards,
PallisThe link we create will not affect all the database. I'm wrong
Yes, it will not impact the DB at all... If you want to cross-check the DB by select this table in this way
Select table_name * (or) table_name desc is added to this a touch any.Mark so it would also be useful for others. So, the search becomes easy if answered.
Thank you for your prompt points and ethical following.
See you soon,.
KKPublished by: Kranthi.K on April 29, 2011 12:44 AM
-
(1) how can we identify facts and dimensions in the physical layer?
(2) when and why are we going to join complex layer MDB?
(3) in the physical layer, we created the join FK and used used all tables in MDB layer. The join FK still exists in MDB layer.if or not the reaons?
(I tried the 3rd questions in 2 of the schema is sh and other is scott.) When I tried on scott link FK is present in MDB layer but in HS there is no imean no link I created manually.)
(4) I have 3 tables a, b, c. "a" is done. I have to use join between the tables. 'a' has 4 columns and 'b' has 5 columns. Now when I want to connect 'b' to 'a' i can find no common column name. But I want to connect 'a' and 'b '. In this case make for complex join?
If I'm wrong with above questions correct
Thank you and best regards,
PallisHow can we identify facts and dimensions in physical layer?
A fact table is a table with measures. Measures should be defined in a logical fact; a column with an aggregation rule is a measure. Oracle BI Server includes any table in a repository which has many-to-one (n: 1) joins it is a fact table. Oracle BI Server uses the logical joins in the business model to identify a fact table.
Dimension tables contain attributes that describe the business entities. For example, the customer name, region, address, country and so on.
Dimension tables contain primary keys that identify each Member.Dimension tables are expected to store the columns that cannot be aggregated while fact tables are expected to store the columns that can be aggregated.
When and why do we go for complex join in BMM layer?
When you use complex joins in the business layer then they really act as placeholders.
They allow OBI server to decide on which are better joins define in the physical layer to satisfy the request.In physical layer we created FK join and used used all the tables into BMM layer. Does the FK join still exists in BMM layer.if yes or no any reaons?
No, we must also create FK join still in layer of MDB. If you select all the dimensions and fact tables, which are FK joined in the physical layer, and drag in the layer MDB
and check the MDB chart for dimensions and facts. you will find the relationship, if you drag the single table at a time, you must manually create the join FK.i have to 3 tables a,b,c. 'a' is fact .I have to use join between the tables. 'a' has 4 columns and 'b' has 5 columns. Now when I want to connect 'b' to 'a' i don't find any common column name. But I want to connect 'a' and 'b'. In this case do we go for complex join?
For all other others that a primary relationships of key foreign-key relationships (other than equal expression to perform an equi-join), you must use a complex join otherwise you will have to use a foreign key
Http://gerardnico.com summary
See you soon,.
Aravind -
To the right,.
We try to implement some future calculations in the logical layer and realized that "mago" fuction does not work with negative numbers to move toward the future. I don't see all the standard features that exist to do such a thing. I thought a few options at this point, but wanted to see what others had to offer / have done in the past. Any thoughts will be greatly appreciated.
My thoughts are:
1 somehow all implement a few years before what she really is and do everything compared so that we can actually use x years/quarters/months off
2. create a bunch of views materialized that have everything for different time spans (this will get very complicated probably)
3 Creata a PL/SQL function to work in a similar way as the "mago" but to go ahead instead (have not figured out if I can call a custom in the logical layer still function)
Thanks in advance,
JoshJosh,
All these functions work perfectly on the physical layer when you use join complex (not regular FK join).
So you could join by Datetime field and use the TimeStampAdd function instead of a surrogate key.GL
-
Hello
I need your help to manage one of my customers requirement.
We must follow the changes that happened with coupons. Lets say that they have a particular asset A coupon from 01/01/2009 to 02/01/2009 and here again it starts from 01/04/09 to 05/01/09. The user must be able to select a date called "as", for example if the user selects the 15/01/09, it should be able to see all the coupons that are active as of 15/01/09 and he should see all of the attributes associated with this coupon from this particular date and if he chooses the 15/04/09 it should be able to see all the attributes of this coupon.
So according to the dated him dérirez data must be changed. In my table of facts, I have opening and closing Date. What is the best way for me to generate this report.
I appreciate your help. Thanks in advance.
MCPHello.
Always try first to search forum with similar positions. Your problem is in the repository, with joins (dimension of TIME and FACT) in the physical layer.
You said that your fact table data as:
OpenDate CloseDate Coupons
1.1.2009 1.2.2009 couponA
1.4.2009 1.5.2009 couponBTo display only active coupons in the report make a dashboard quickly with date (date).
I guess you have you implement model correctly, otherwise in do the RPD in the physical layer Physics (complex, not to join FK) join to your date dimension (time) to your fact table and write:
TIME. TIME_ID BETWEEN FACT. OPEN_DATE AND FACT. CLOSE_DATE
where time_id, open_date and close_date are types of DATE data.
This spread to MDB with join complex. After all the dashboard are quickly over TIME. TIME_ID and in the report answers set TIME. TIME_ID is invited.
Test:
If you select 15.1.2009 you will get a coupon (15.1.2009 located between 1.1.2009 and 1.2.2009)
If you select 15.4.2009 you will get coupon B (15.4.2009 is between 1.4.2009 and 1.5.2009)Concerning
Goran
http://108obiee.blogspot.com -
I'm looking options to generate reports based on facts with different grains. The requirement that I present here is generic and Im explores options on it.
Lets say we have two facts fact1 and fact2. The common column between these facts is called - common_column
Now that the grain is different at any given time, it generates the database with SQL next inline
SELECT fact1.column_1, fact1.common_column, aggregate_fun (fact2.column_2 of fact2.common_column group) of...
Options
* 1. Creation of a third fact *-a simple solution is to create a fact3 and store all the information the report should
* 2. Using fx in OBIEE report *-use an expression to get the result with fx
You all better options that you would suggest to address this?
Thank youYou have any other table (such as dimensions) than the new LTS in the business model.
If you add any other table and join (complex) with the new LTS, the problem could be solved.
-
OLAP cube - complex join condition
Hi Experts,
I requires a complex join between the dimension and cube.
Requirement goes like this-
We have a dimension to the date level-
January 1, 2011
January 2, 2011
...
.. and so on.
The fact table is not a matching surrogate key, but it has valid_from_date and valid_to_date that are stamps.
I need to join these two to reach the condition readings - where dim.date between trunc (valid_from_date) and trunc (valid_to_date).
Is it possible/feasible? Enjoyed your responses.
Best regards, MarionYou should be able to set a condition like this in the field "Join Condition" of the mapping pane cube in AWM. You would need to qualify table names to be something like this
dim_table.date between trunc(fact_table.valid_from_date) and trunc(fact_table.valid_to_date).
The only restriction to this approach is that you will not be able to partition on the time dimension for this cube due to the complexity of the condition.
As an alternative, you can define a SQL view that joined your fact table in your time dimension table using the same condition. You map the cube on this point of view, in which case the restriction on partitioning goes.
-
Hello
I am facing this strange question in the business model. While I am able to create the logic of foreign keys (which, according to the documents, should not be created), for some reason I'm not able to create logical complex joins.
Actions:
(1) manage / joined... joined by Manager: Actions / new / logic to join...
(2) in the window "join logic", I select the tables, BUT I can not choose any column (her are shown in "Column," drank lists these lists seem to be disabled)... .and combo box operator is disabled
Same result when trying to view "Diagram of logical table" and a "new complex joining" from one table to the other drag-and-drop...
Doesn't seem to be something related to this particular business model, because now it happens to all business models I... funny that there are some former complex logic is associated with some of my old business models
Any ideas?
Thank you!
Published by: alex.v on June 2, 2010 17:10
Published by: alex.v on June 2, 2010 17:15Exactly!
Maybe you are looking for
-
Rainflow change...
Hello little one that long. I used the script kindly posted by ages ChristianW back and changed to go through a mass of channels and create a group for each of them, then do a rainflow analysis and create a matrix of average range. It works very well
-
Cannot install updates due to temporary network problems
Hi need help please teporary network problems are interfering with windows update
-
HP Laser Jet 3800 printer: black spots on HP 3800 verticals
Hello I have a HP Laser Jet 3800 printer that has started having black smudgess on each print out. I did all the cleaning, I can think. Now I think the replacement of the fuser or belt transport. Any suggestions? Please see image. It is very import
-
Windows Explorer crashes with photos
Hi, this problem started last night. While I was trying to look through my pictures folder, that I kept getting pop ups saying that Windows Explorer has encountered a problem. It is said that it is looking for a solution, and then it stops and rest
-
Hola yo tengo a pc con Windows 7 installed.Arrancar el ordenador soon a siglo (creo casi 10 minutos), el ordenador're muy lento.Me gustaria gender Windows, ¿pero no se como? Some computer, consejos o ¿sabeis? He visto no hay tambien muchas tools you