OBIEE equivalent of BO shortcut join

Hi All, I am trying to find the equivalent of short cut joins in OBIEE.
Shortcut joins:
Shortcut join allows to define an alternative, faster join path between two tables. Without the use of a shortcut join, query would have to go through a huge fact table to create simple reference lists.
consider the scenario when, tables are joined as A->B->C->D. and there is a relationship between A and D directly. By using shortcut join, i can avoid the intermediate tables and join A and B directly.
I am trying to understand its equivalent in OBIEE.

I use OBIEE 10g. I couldn't find the option to change the order of the Logical Table sources through the logical table source properties window as mentioned by you.
Moreover, I wanted to know how to overrule the selection of/to priorotize Logical Fact Table itself in a Subject Area. i.e. My senario is that, I totally have 3 Dimensions tables and 2 Facts tables in my SA. When I join D1+ and D2+ through F1+ it works fine. But when I include a column from D3+ then the F2+ is chosen (though none ofthe columns from F2+ is chosen) as the Fact table insted of F1+ since column F2.C1+ is declared as an implicit fact column for this SA.
Now, I do not want to disturb the implicit fact set up and at the same time wanted to select the F1+ as my Fact table instead of F2+ for my requirement.
Can anyone show a light upon this?
Regards,
Vishnu

Similar Messages

  • Mac equivalent to PC shortcuts

    Hi I've been trying to get use to the keyboard shortcuts I used to use on my PC. For word processing I could hit <ctrl> <arrow right or left> and quickly scroll to the beginning of the next work. Is there a Mac equivalent feature? I could also hit <home> and <end> to go to the beginning and end of the sentence. On the mac it goes to the top and bottom to the page instead. Is there another shortcut I could use?
    Thanks

    http://support.apple.com/kb/HT1343 should help you find the Mac equivalent of PC shortcuts.

  • Shortcut join

    Hi
    Is Sort cut join is physical join or logical join
    can any body tell mean by physical join and logical join

    This should probably be in the Semantic Layer forum... but here you go anyway:
    http://www.dagira.com/2010/05/27/everything-about-shortcut-joins/
    It's one of my more popular blog posts. Hope it helps you understand what shortcut joins are for.

  • OBIEE 11g caching question - cross database joins

    Hi, I'm seeing something strange (a.k.a. not wanted) in OBIEE (11g, not sure that version matters).
    I have a simple data mart that contains spend information. The supplier dimension contains keys that can be used to join it to detailed supplier information and supplier address information in our ERP system (that sits in a different database / on a different box). In the OBIEE physical layer I've created a cross database join between the supplier dimension table and the ERP tables that contain the address info.
    Here's the odd behavior I'm seeing. If I write an answers request to select the supplier, some address info, and total spend for fiscal year 2010, I'm seeing OBIEE fire off two queries (this I expect):
    A) Select supplier, address key, and total spend for fiscal year = 2010 against the spend mart
    B) select address_key and associated address info against the ERP system (no limit on this query, it pulls back all rows from the address table)
    OBIEE then does an internal join itself and serves up the results, everything is correct. But here's what's "wrong" - if I then run the exact same answers request, but change the fiscal year to 2009, I again see OBIEE firing off the two queries. What I expected and/or want to see is that, since the entire result set from query #B doesn't change at all, that it wouldn't have to rerun this query. However, it seems to be.
    Is there any way to get #B to cache so that, for any subsequent query that contains supplier address info, OBIEE can pull it from cache instead of rerunning the query (which is pretty slow)? I really thought it would do that, but it doesn't seem to be.
    Thanks!
    Scott

    Hi,
    Could you give a bit more of context for this case? The table in SQL server; Is it a dimension and the one in Oracle DB is a fact? I am guessing, you have set up the driving table here. Have you given a try taking it off, and let BI Server do the filter in memory?
    -Dhar

  • Adding a filter to an SQL Join table in OBIEE

    Hello,
    I have created a query in OBIEE Answers to Left outer join two tables. This all works fine but I would like to set this up as a dashboard and create a prompt. The problem I have is because this is not a subject area how can I create a prompt? I would like the prompt on B.saw_2
    My query is below:
    SELECT
    A.saw_0,
    B.saw_2
    FROM
    (SELECT
    Employee."Employee Reference" saw_0
    FROM
    "Applications and Awards (Employee)"
    WHERE (Employee."Employee Reference" LIKE 'MR/L%')) A
    LEFT OUTER JOIN
    (SELECT
    Employee."Employee Reference" saw_0,
    LEFT(Classification."Classification Id",10) saw_1,
    Classification."Classification Name" saw_2
    FROM
    "Applications and Awards (Employee)"
    WHERE (LEFT(Classification."Classification Id",10) LIKE 'CSMRBS%')) B ON A.saw_0 = B.saw_0
    Thank you,
    John

    Hi John,
    For direct database request ::::
    Please create bind variable like sql at the position of the column you are going to or want to have the value prompted. ':xyz'.
    For creating prompt choose any column from any subject area, remove the formula and put dual statement like select xyz from dual. This is your value which you are passing there.
    For your logical query ::: you can use presentation variable '@{xyz}123'
    Thanks,
    Amol
    (Please mark this answer, if you found correct)

  • Unable to join 3 fact tables in obiee data model.

    Hi,
    I am unable to join the 3 fact tables in obiee rpd. If I join with 2 fact tables I got the data in repors, Once I add the one more fact table and join with related dimensions, I am getting nodata error. I am following all joins keys as per datamodel, I am able to see the data in database. anyone pls give me the solution. Thanks in advance.
    Edited by: 1007582 on May 23, 2013 2:17 AM

    Can you please give some more detail as in what you have model in RPD;
    For example, if There are 3 Fact table F1, F2, F3 and two Dimesion Confirmed_D1, Non_Conf_D2. Confirmed_D1 is joined to all three fact tables and Non_Conf_D2 is joined to F2.
    Now to implement this model we have to set the logical content level in BMM layer for Non_Conf_D2 in F1 & F2 to Total*. After this only we can report on Confirmed_D1, Non_Conf_D2, F1, F2, F3 whithout any error.
    Sometime join with multiple table can also result in No Data, since the join conditions filters out the result data.
    Please mark helpful or correct.
    Regards,
    Kashinath

  • Outer join style report - OBIEE 10g

    Hi All,
    I have a requirement to generate a report for product & sales. I have two dimensions and various fact data elements.
    Some products may not be sold on a month but still i want to display them in the report with 0 value. I have tried this by creating a Left outer join in RPD, since we are using some other dimension in the fact calculation (calculated column) so that also comes in to the left outer join group and that mess with the results.
    So am looking for the better approach to bring the results through answers. Here is the data and expected results
    Data
    Product | Month | Sale | Margin
    Fridge | May | 100 | 20%
    Coolers| May | 50 | 4%
    Laptop| Jun| 300 | 15%
    Now am filtering the report for the month of May, my results should be looks like
    Product | Sale | Margin
    Fridge | 100 | 20%
    Coolers|50 | 4%
    Laptop| 0 | 0%
    Can anyone provide a solution for this ?
    Thanks,
    Ugser

    One possible solution is based on the fact, that OBIEE is combining (=outer joining) measures from two different fact tables by their commonly shared dimensions. What you have to do is:
    Physical layer:
    - create a new dummy fact table in the physical layer (e.g. using a view like Select 1 from dual;)
    - join all required dimension tables to the dummiy fact table using a complex foreign key. Make sure it evaluates always to true, e.g. 1=1.
    BMM:
    - create a new logical fact table for the dummy fact and join all required logical dimension tables to it using complex joins. Set the levels in content tab of LTS same way as for your other fact.
    Presentation layer:
    - expose the dummy fact column
    Answers:
    - Drag the dummy fact into your report. You might want to hide it because for a normal user it is confusing and meaningless since it will always show 1.
    - Filtering should work fine now.
    The dummy fact column will cause OBIEE to create a cartesian join, i.e. all combinations of dimension attributes used in the report will be created. Then the result of the second fact (in your case sales) will be added. In your example it will create a record for each Month for each Product. Sales and Margin will be only added for those Month and Product combinations where there are data in the sales fact.
    Hope this helps.
    Cheers,
    Peter

  • Controlling Join Path in OBIEE

    I have a dimension table that is the central “hub” of our physical data model.
    That dimension is joined to 4 different fact tables.
    I have a query/graph from a previous project release (all was working fine) that only references 2 of those fact tables.
    Now that 2 more fact tables have been brought into the picture for our next release, the query that was working fine is now joining to all 4 fact tables (through the central dimension) even though
    I still only need it to join to the original 2 fact tables.  I’m not selecting or filtering from any of the 2 new fact tables or their associated dimensions (except the central dimension – which all facts share)
    in this query.  Yet, all 4 fact tables are invoked.  Not sure why obiee is working that way.
    I need OBIEE to not invoke a join to a Fact table if no Facts from that fact table are used in the query.  The join is affecting the counts in the output and the counts are incorrect.

    Hi,
    I will not say that's you ... but ...
    You have 1 dimension and 4 fact tables: in your dimension LTS the fact tables must not exist as they have nothing to do there.
    It's a powerful feature of the tool to split things, your business model must not "physically" connect things directly, it will use the physical model you did to generate the required query.
    Maybe it can be unintuitive because you have a "strange" case, in general you have multiple dimensions for one fact table, in your case you have to model a multi-start business model and it can be strange because you have only 1 single dimension. When you will have more complex requirements the role of LTS vs business model joins will really help you.
    PS: one last step, close the thread and flag Srini as the good one to help others with similar case, for now it's still This question is Not Answered.

  • Error in making left outer join to a nested query

    i am writing this query getting error here i am using nested query with that i am making join it is giving error
    SQL
    SELECT
    * FROM IVItem INNER JOIN
    IVPackSize_Mst ON IVItem.PackSizeID = IVPackSize_Mst.Id
    left outer join IvItemGenericLink on IvItemGenericLink.itemID=IVItem.Id
    Select GenericId from
    IvItemGenericLink where ItemID=IVItem.Id and rownum <=1
    )x
    and x on IvItemGenericLink.GenericId=x.GenericId;
    Error report:
    SQL Error: ORA-00936: missing expression
    00936. 00000 - "missing expression"
    *Cause:   
    *Action:
    give me and suggestion

    i am using left outer join at virtual table say x your gave me its equivalent
    EXISTS (SELECT 1 FROM IvItemGenericLink G
    WHERE G.ITEMID =V.ID
    AND G.GenericId = L.GenericId)-----its i guess inner join
    i am not confirmed that why iam asking this i guess i have to use this
    as i use keyword inner join for inner join and for left join i use
    left outer join
    EXISTS (SELECT 1 FROM IvItemGenericLink G
    WHERE G.ITEMID =V.ID
    AND G.GenericId(+) = L.GenericId)-----its i guess left outer join
    left outer join
    Select GenericId from
    IvItemGenericLink where ItemID=IVItem.Id and rownum <=1
    )*x*
    IvItemGenericLink.GenericId=x.GenericId
    -------------------Statement U Gave in this--------------------------------------------------------------------------
    SELECT *
    FROM IVITEM V, IVPACKSIZE_MST M , IVITEMGENERICLINK L,
    WHERE V.PACKSIZEID = M.ID
    AND V.ID = L.ITEMID (+)
    AND EXISTS (SELECT 1 FROM IvItemGenericLink G
    WHERE G.ITEMID =V.ID
    AND G.GenericId = L.GenericId)
    -------------------Statement U Gave in this--------------------------------------------------------------------------
    is this equivalent to left outer join
    *AND EXISTS (
    SELECT 1 FROM IvItemGenericLink G*
    WHERE G.ITEMID =V.ID
    *AND G.GenericId = L.GenericId
    please tell me this in this regard

  • Joining Fact tables

    Hi,
    In what cases can two fact tables be joined.
    Can anyone explain why there is a join between promotion facts and shop facts in efashion database and that too shortcut join.
    Please put some comments.
    Ganesh

    It shouldn't be imho. I think it's incorrect and is a result of bad analysis leading to bad table design. I went on a course years ago where we discussed this and said that you *might* consider making that a full join and creating a context with only that one join in it if you have denormalised dimensions in one of the facts but not the other. However, you'd only do that if you were certain of the granularity of the join. We agreed, though, that the model was principally flawed and it would be a lot less painful to reassess the model and rework it.

  • RE: Complex Join

    Hi Experts,
    I have few questions regarding complex joins
    1> First when we import the tables into the Physical layer we will do the FK Joins for the tables according to our requirement then in BMM layer we will create new business model next again why we have to make complex join in BMM layer already there is joins between the tables in physical layer which scenarios we have to make the Complex join if we won't do the complex join what will happens.
    2> Also if we do FK join in the place of complex join in BMM layer what will be the result.
    Thanks in Advance,

    Hi,
    we have two joins in OBIEE one is foreign key join and other one is complex join.Mostly 99% cases we use foreign key join in physical layer.we use complex join in phycical layer mostly in three scenarios.
    1)when there is extended join conditions.
    2)when we join key column of one table to non key column of other table.
    3)when the operator is other than equal to operator.
    In these 3 situations we can use complex join in physical layer.
    Next one is we have already joins in physical layer then what is the need to create complex joins in BMM layer right.
    The answer for this question is whenever user runs a report that will generate logical sql query our OBIEE understands only logical sql query this logical sql query generated based on the logical joins in BMM layer.
    Based on this logical joins only it will create most optimized sql query.And another reasons for creating logical joins is
    if we want to specify driving table it is possible only thriugh complex join in BMM layer.
    and if we want to specify type of join it is possible only thriugh complex join in BMM layer
    and if we want to specify cordinality it is possible only thriugh complex join in BMM layer
    and another one is my tool is not able to identify facts and dimensions because it has no intelligence,we need to incorporate the intelligence by giving logical joins only it identifies the facts and dimensions.
    so we have to create logical joins in BMM Layer..
    Give me Like,,if you aresatisified with my post.
    Thanks,
    Sai Pelluri

  • Removing full outer joins

    Hi All,
    I am creating reports from two fact tables. However, in spite of using only inner joins in RPD, obiee is generating full outer joins between two WITH (sub-query factoring) . Is there a way to enforce inner joins.
    Thanks
    Surya

    872073 wrote:
    All the joins in RPD are inner joins. The query generated is similar as follows. The full outer join is automatically created between SAWITH0 SAWITH1
    WITH
    SAWITH0 AS (SELECT sum(T245.QUANTITY_SOLD) AS c1,
    T161.CHANNEL_DESC AS c2
    FROM
    SH.CHANNELS T161,
    SH.SALES T245
    WHERE ( T161.CHANNEL_ID = T245.CHANNEL_ID )
    GROUP BY T161.CHANNEL_DESC),
    SAWITH1 AS (SELECT sum(T168.UNIT_COST) AS c1,
    T161.CHANNEL_DESC AS c2
    FROM
    SH.CHANNELS T161,
    SH.COSTS T168
    WHERE ( T161.CHANNEL_ID = T168.CHANNEL_ID )
    GROUP BY T161.CHANNEL_DESC)
    SELECT DISTINCT case when SAWITH1.c2 IS NOT NULL then SAWITH1.c2 when SAWITH0.c2 IS NOT NULL then SAWITH0.c2 end AS c1,
    SAWITH0.c1 AS c2,
    SAWITH1.c1 AS c3
    FROM
    SAWITH0 FULL OUTER JOIN SAWITH1 ON SAWITH0.c2 = SAWITH1.c2
    ORDER BY c1
    If I change the underlined FULL OUTER JOIN above to just "JOIN", the query returns what I want.
    Edited by: 872073 on Oct 24, 2012 1:14 PMCheck to see if PERF_PREFER_INTERNAL_STITCH_JOIN was turned off in the DB Features.ini file
    The path to the file is Oracle/Middleware/instances/instance1/config/OracleBIServerComponent/coreapplication_obis1/DBFeatures.INI

  • Loops in Universe Designer.

    Hi, which one is best method to resolve the loops Context, Aliases or Shortcut join.
    will anyone please explain?
    Thanks,
    Imran

    Hi
    we do resolve loops using Aliases or Context. We can resolve loops using shortcut join too. Is it good idea using shortcut join instead of using Alias or Context to resolve the loops?
    It’s depends on your requirements..
    while resolve the loops used shortcut join and get the expected results then it’s good, if you get different result then expected , you need to choose different method.
    Alias:
    The alias is identical to the base table with a different name. The data in the alias is exactly the same as the original table, but the different name "tricks" SQL into accepting that you are using two different tables.
    For example: we have only one table Employee table, have fields  EMP ID, EMP Name, and Manger Name.
    Now we need  to list the EMP name and Manger Name’s.....how you get the list EMP name and Manger Name? Usine Shorcut join?
    Here you need to go for alias for employess table, SQL look’s like
    SELECT emp.name, mgr.name
    FROM employees emp, employees mgr
    WHERE emp.mgr_id = mgr.emp_id
    Context:
    Contexts groups related Joins. A context is a collection of joins which provide a valid query path.The most common use of contexts is to resolve loops in
    the data foundation when the loop cannot be resolved by creating an alias table.
    Another use of contexts is when multiple fact tables share a dimension table. In this case, a context is created for each fact table
    As said by Dave ,
    You would not use a hammer to put in a screw because a screw-driver is “too complex” so why would you use the wrong tool to resolve an issue in a universe? It doesn’t make sense.
    Find the below link for more info.
    Dave&amp;#8217;s Adventures in Business Intelligence &amp;raquo; Everything About Shortcut Joins
    Note: PLEASE mark blog as helpful & answered

  • Documents folder on Desktop and a question about trash

    Hello all. My previous experience has been on Windows PCs, and as a result, I make assumptions and get frustrated on my new Macbook. I was trying to organize some of my files in the Documents folder, and at one point my errant clicking and dragging caused a folder to appear on the desktop for "Documents." Based on my previous experience with Windows, I assumed that folder was a shortcut folder, and because I like my desktop area to be uncluttered and free of icons, I moved it to the trash without thinking anything of it. I continue to organize files in "Documents" under finder as if nothing is amiss. Lo and behold, I go to empty my trash later, and I notice that it is taking some time and says "Deleting 214 of 6517 files" which clues me in to the fact that it is deleting a LOT of things, not just the one or two extraneous short cut icons I thought I had thrown in there. I hit "Stop Emptying Trash" and took a look at the damage. Many of my files in "Documents" got deleted. I moved the "Documents" folder out of the trash and on to the desktop. My questions for anyone kind enough to answer is this:
    1. Is there ANY possible way for me to recover those files? Are they really REALLY gone? If it were Windows, I would know where to look, but because I am new to this OS . . .
    2. What should I have done to remove this darn icon from my desktop? I know its always said that "everything is so intuitive on a mac" but I disagree. Especially when you have moved over from Windows. The contextual menu that comes up when I click on the icon does not allow me to "delete this shortcut." How can I delete this from the desktop but still retain the few files I have remaining?
    Any and all help is appreciated. Have a great day. Thanks - b

    Hi, werty. Welcome to the Discussions.
    By the numbers:
    1. See my "Data Recovery" FAQ for comprehensive advice that may help you with this problem.
    2. Based on what you describe, it sounds like you dragged your Documents folder to the desktop. Generally, the files and folders that appear on one's desktop are actually files and folders within your Home > Desktop folder. By default, your Documents folder is also within your Home folder, at the top level like the Desktop folder, i.e. Home > Documents. You should have moved the Documents folder back to the top level of your Home folder.
    Mac OS X aliases to objects — roughly equivalent to Windows shortcuts to files and folders — are created by dragging an object while holding both the Command and Option keys. See "Mac OS X 10.4 Help: Creating an alias." An alias to an object displays a curved arrow in its lower-left corner — a badge — to differentiate itself from the actual object.
    If you merely drag an object from your Home folder to your desktop, it moves that object from its former folder to the desktop, i.e. the Home > Desktop folder: it does not create an alias to that object unless you also hold Command-Option while dragging.
    Finally, you wrote: "My previous experience has been on Windows PCs, and as a result, I make assumptions and get frustrated on my new Macbook."While Macs are quite intuitive, there are some significant differences between Mac OS X and Windows and an associated learning curve. In some cases, the key to switching is, as Yoda said, that "you must unlearn what you have learned."
    Since you are new to Mac, you will find my "Learning About Mac OS X" FAQ helpful. It lists a number of resources that you will find useful in your transition to Mac including books, online training, switching from Windows, and more.
    Good luck!
    Dr. Smoke
    Author: Troubleshooting Mac® OS X
    Note: The information provided in the link(s) above is freely available. However, because I own The X Lab™, a commercial Web site to which some of these links point, the Apple Discussions Terms of Use require I include the following disclosure statement with this post:
    I may receive some form of compensation, financial or otherwise, from my recommendation or link.

  • How Can we improve the report performance..?

    Hi exports,
    I am learning the Business Objects XIR2, Please let me know How Can we improve the report performance..?
    Please give the answer in detailed way.

    First find out why your report is performing slowly. Then fix it.
    That sounds silly, but there's really no single-path process for improving report performance. You might find issues with the report. With the network. With the universe. With the database. With the database design. With the query definition. With report variables. With the ETL. Once you figure out where the problem is, then you start fixing it. Fixing one problem may very well reveal another. I spent two years working on a project where we touched every single aspect of reporting (from data collection through ETL and all the way to report delivery) at some point or another.
    I feel like your question is a bit broad (meaning too generic) to address as you have phrased it. Even some of the suggestions already given...
    Array fetch size - this determines the number of rows fetched at a single pass. You really don't need to modify this unless your network is giving issues. I have seen folks suggest setting this to one (which results in a lot of network requests) or 500 (which results in fewer requests but they're much MUCH larger). Does either improve performance? They might, or they might make it worse. Without understanding how your network traffic is managed it's hard to say.
    Shortcut joins? Sure, they can help, as long as they are appropriate. [Many times they are not.|http://www.dagira.com/2010/05/27/everything-about-shortcut-joins/]
    And I could go on and on. The bottom line is that performance tuning doesn't typically fall into a "cookie cutter" approach. It would be better to have a specific question.

Maybe you are looking for