Answers on factless facts
Hi,
How does OBIEE, Answers in particular, cope with factless fact tables? The related dimensions would be linked to that factless fact in the pysical and BMM tier, but the factless fact would not be shown in the subject area.
When an user selects two or more dimensions linked through this factless fact, how would BI Server generate the query?
Is it recommended to have a least a dummy measure in that fact?
Thank you!
Hy,
I have an example here :
http://gerardnico.com/wiki/dat/obiee/bi_server/design/obiee_densification_design_preservation_dimension
I don't use a factless fact table but a densification process.
The techniques used are the same as it's based on the fact vertical partitioning.
http://gerardnico.com/wiki/dat/obiee/bi_server/design/fact_table/obiee_fact-based_partitioning_outer_joins
And you can see the two queries and the full outer join issued.
Success
Nico
And thanks Stijn (I didn't know the implict fact)
Similar Messages
-
Deploying Factless Fact Tables in 10G
Hello - We are trying to deploy the same factless fact tables we used for OWB 9i to 10G and we are receiving validation errors saying that every cube must have a measure. We do not want to create a null column just to get around something that worked fine in a previous version of the tool, and we have quite a few factless fact tables in our model.
Are there any thoughts on this?
Thanks,
KristiHi,
I already face that kind of fact table, but in the same time, i needed to count the number of intersection between dimensions or sum, so i used a one measure, that always takes 1 as value, that did the trick.
Regards -
"Factless" fact table join warning
We have a physical fact table that only contains keys for a given day in order to track changes to Employment history over time. The compensation "facts" are contained in a dimension that is joined to the factless physical table in the logical layer. I use the factless fact as the table source and inner join it to the dimension to create the logical fact source. This seems to be working fine, but is creating a warning when I check consistency: "There are physical table sources mapped in Logical Table Source [...] that are not used in any column mappings or expressions." Is there a better way to model this in the logical layer that this warning is trying to alert me to?
Thanks!Thank you,
The error does go away when I insert into the logical fact table the key from the factless physical table. The error is gone whether or not I define the physical column as the Logical fact table key. Will defining it as a logical key change anything?
I am curious as to why it would want me to include a field in the fact table that will never be used in the presentation layer. Is the warning mainly for accidental inclusion of physical tables that aren't used?
Thank you for the response. Nice blog by the way. -
Bridge table or factless fact table?
Hello,
I have a model a bit different that I've worked with in OBIEE (10), and I can't make it work. I have 1 fact table and two dimensions, joined this way in the physical layer:
Fact Table >- Dim Person -< Dim Address
The join between Fact Table and Dim Person is 1:N and the join between Person and Address is also 1:N, for example one person can have many addresses.
I have searched in forum, internet, etc. how to model this in the BMM, but I can't find the same model as an example. I have found similar models solved with a bridge table, but the model is a bit different (Fact Table -< Dim Person >- Dim Address), so it won't help.
I have tried many things, but the option that I thought it's more logic, is treating Dim Address as a factless fact table. However, when I choose in a report a fact from the real Fact Table, the person ID and the address, the fact was treated as null. What I expect is that the fact table should be repeated for every address that the person has. So, if the fact is 3 for one person, and the person has 4 addresses, the result should be 4 lines with the value 3 in each of them.
Can I make Dim Address be a factless fact table in the BMM? Should I include the Dim Address in the LTS of a single logical table? Is Dim Person a bridge table??
I hope you can help me with this one, thanks!I'm not sure how much info you need to show on the reports, but you can try creating 2 separate logic schemas with alias tables.
1) Create alias table for fact and Dim Person and join them
2) Create another alias for fact (Fact1) and Address (always thinking that the perdon ID is also in the Address table) and join them.
Try to make your report between fact1 and address (in this case you can't put detail of the person,but you can make another report showing the persona information using the first schema.
J. -
Hello Gurus
Can anybody please explain what is implicit fact and for what is it used for .
And also
Can anybody please explain Fact Less Fact and for what it is used for .follow this,
1. open administration tool
2. go to help
3. click on Search tab
4. type Implicit Fact
5. only one topic you'll findin the results.. plz read it and let me know your doubts on that..
coming to your next question...
Factless Factohhh, got these links after googling..
http://www.geekinterview.com/question_details/31538
http://dylanwan.wordpress.com/bi-and-olap-glossary/factless-fact-table/
http://www.allinterview.com/showanswers/36017.html -
Factless fact tables????
Hi gurus,
Anybody please tell me about factless fact tables? in what are all the scenarios we can use it? Can we create Infocube without key figures?
Thanks,
Karthik THi Karthik,
Please go through this....
A "factless" fact table is generally one which records instances of
time-bound relationships, rather than capturing transaction amounts. The
example usually given by Kimball is a fact table which records the
instances of students, professors, and classrooms reserved for specific
classes at a college. In this case, the "key figure" is simply a binary
switch indicating the truth of a relationship expressed by the
characteristics in the dimension tables (the "zero", or false, instances
are not stored.)
Look at the delivered BW Headcount / Employee Action cube, 0PA_C01, for a
rough facsimile of the "factless fact table." To implement such a thing in
BW, you still need a key figure -- usually an integer (quantity) holding
the value 1 (at the most granular level of detail,) indicating that a
relationship expressed in the dimension characteristics is true. You can
populate a cube like this by reading information from master data tables in
your update rules, with your datasource driving off your most granular
master data table. Again, see the delivered datasources and update rules
for the 0PA_C01 cube to see how SAP does it.
Assign pts if helpfull
Thanks,
Sujeet -
Getting no result in answers even though fact and dim are joined
Hi,
I have an issue, I have 2 fact tables.
Two fact tables share 4 common dimensions.
I was able to report on both facts and dimensions perfectly,for some reason now
I am not able to report on fact1 with any dimensions.
I checked joins, content levels everything is fine.
I added some new columns to the fact2, from then I couldn't report on fact1.
Please help me.very urgent.
Thanks
Srsend me rod (rpd) with detail
BTW: How to Sum the values of top3 customers revenue by product
is not clear update with sample data
Edited by: Srini VEERAVALLI on Mar 25, 2013 11:45 AM
[email protected]_
Edited by: Srini VEERAVALLI on Mar 25, 2013 11:50 AM
Edited by: Srini VEERAVALLI on Mar 25, 2013 12:05 PM -
Answers hitting wrong fact in BMM layer
Hi All,
I have 2 facts mainly CURRENT and AGO both at the day level.Now when i try to push columns from dimensions and put the filter in date then it is hitting AGO fact but i want to CURRENT fact.
Any Suggestions.
RegardsHello,
So one of your measure column is it ago column and another measure column from current fact? Did you check your column mappings in both the LTS? If your measure column from current fact is only mapped to current fact and ago to ago fact and you are putting date column then it shouldn't hit ago fact. -
Implicit fact column...
Hi Friends,
I created a repository named vision, in that i imported six tables from database. Since from the six table none of the table resemebled to me as a fact table as all the table is of, not a measure based. So i went to the concept of " IMPLICIT FACT TABLE"(wat i understood about the implicit fact table is, the table that contains all primary key column of all the dimension table which is in the physical layer).
As per my concept i want to add all the primary key column from the dimension table to the implicit fact table.
How i need to copy the primary key column's from the dimension table to the fact table in the physical layer.........
Regards,
Harry.....Hi Nag,
Since i want to create a BI report (i.e.)
"Nationality count in department wise manner"
For this Im using the following tables
*) per_all_people_f -----> this table contains the column 'Nationality'...
*) per_all_assignments_f ----> Im not taking any column from this table, but im using this table for the join condition....
*) hr_all_organization_units ----> this table contains the column 'Departments'...
As per my concern the result that want to display to me should be like this manner,
COLUMN----------->COUNT------------->NATIONALITY
1 ROW ------------> 2 --------------->INDIAN
2 ROW-------------> 5 ---------------->AMERICANS
The above is the example for my report, as i dont want to show the column "department" for the display, but i need the report in department wise only.........
since all the three tables is not a measure based. so it is dimension table.........
So for dimension table inorder to give join with fact table, i need to have a fact table.....so how to create a fact table????
For the fact table creation, Whether can i create "Factless Fact table"for this report.....
Since i need to get " Nationality count in department wise manner", whether can i create a factless fact table for this report...........
If so, means guide me for the steps of creating "FACTLESS FACT TABLE"..........
Thanks,
Harry.........
Edited by: HariPrasad on Sep 28, 2010 11:37 AM
Edited by: HariPrasad on Sep 28, 2010 9:44 PM -
Conformed dimensions across several fact tables
Hi, not exactly sure how to phrase my question, so I'll just start babbling and maybe it'll come across. In our OBIEE repository (from BI applications "project analytics"), we have dimensions of CONTRACT, CONTRACT LINE, PROJECT, and TASK (CONTRACT and CONTRACT_LINE really come from a single dimension table, but are different rows and so really can be thought of as coming from two different dim tables). TASKs are really children of projects - but they were broken out into a separate dimension in the data model (no idea why....). Also, in our business, a task can be tied to one and only one contract line.
Now here's the rub - because TASK is a separate dimension from PROJECT, there is really nothing that relates them except through a fact table. This is a real pain, as it has two limitations:
1) If a "fact" for that combination of PROJECT / TASK hasn't happened yet, then no row in fact table = nothing that says they are related
2) Even if you do have a fact for everything - now our query is scanning through a fact table of (in our case) 300+ million rows, just to say which task is tied to which project
I'd like to solve this by creating a very simple "factless fact" which has columns for CONTRACT, CONTRACT LINE, PROJECT, and TASK, and simply inserts the appropriate surrogate IDs (wids) into this. Thus, instead of a 300+ million row fact table, we should be down to only 400,000 or so task / project / line / contract combos.
Now here's my question: I have a "combined" subject area that includes a project cost, project revenue, project billing, and in theory this new fact table I'm talking about. I'd want to set the new fact table to be the "implicit" fact - so that if someone just asks a questions like "show me contract lines, and which projects and tasks are assigned to it" - it would go to the new, slim, fast fact table.
But I'm concerned about what happens when someone then throws in a cost amount, revenue amt, etc. onto the query. I'm assuming that OBIEE will be smart enough to understand it should forget the implicit fact, and start using the "real" facts. Or maybe use all of them including the new fact.
I'm just trying to see if I can anticipate this causing any issues.
Thx,
ScottYou are correct, the implicit fact will only be used when there isn't any other fact measure defined in your query. Unfortunatelly you can only define an implicit fact per SA, we would love to be able to have more flexibility such as defining them per dimension etc. Another way to "force" OBIEE to select from an specific fact is to select a column from it in your Answers query. You don't to see this column in output so you can hide it. Of course this "hack" is not really very user friendly as it makes adhoc query building much more complex.
-
Relationship between Dimension without linking Fact table
Hi,
My question is like I have five dimensions connected to a fact table through primary - foreign key(Composite Key) relationship. Will this referential integrity help if I want some information between two dimension which are not linked directly and I am not
including any measures from fact table .
Example: Suppose I have customer, Product and Manufacturer Dimensions all linked to a fact table but not linked to each other directly but can I get right result when I want to know what are the manufacturer for each product? or list of
customers using a particular product. Will the referential integrity work ? since they all are related in fact table.
regards
Sanjoy ghoshHi Sanjoy -
The answer to your questions depends on your dimensional design and exactly what the fact table represents. Fact tables naturally capture the intersection of the different dimensions. This is true whether you physically implement a
PK - FK relationship in the relational db.
In your case, since customer is involved, sounds like a sales transaction fact. If that's true, you can easily join from customer, through the fact, to the product dimension, to get the list of customers that purchased a particular product.
For the manufacturer for each product, a sales transaction fact will not necessarily answer this question completely. Particularly in the case of products that have no sales for a given period, and thus, don't have any fact records to join from manufacturer
across to product. If you need to solve this question, you have some other options:
- flatten the Manufacturer directly into the Product dimension as attribute of the product (probably the simplest approach and allows you to remove a key from the fact)
- embed the Manufacturer key directly in the Product dimension (if you need the Manufacturer dimension separate for use with other events / facts and more detailed dimensionality - i.e., detailed attributes about the Manufacturer that wouldn't need
to be flattened onto the product)
- build a factless fact that captures the products offered by a given manufacturer at a given point in time (perhaps representing various products catalogs and associated dates. This would allow you to capture rich details about each dimension separately
and use the factless fact to record)
Let me know if that helps.
Brent Greenwood, MS, MCITP, CBIP
// Please mark correct answers and helpful posts //
http://brentgreenwood.blogspot.com -
Can date be included in the fact table as a measure?
Dear All,
I have to migrate a database form relational model to dimensional model. It a kind of human resource database. I don't know what MEASURES should I keep in the fact table. There are only dates, like date the employee joined the institution and the date he will leave. Most of the other fields are non-numeric. well date is also non-numeric but we can calculate the duration the employee worked from these dates.
What do you suggest?I'd be careful about adding a "measure" of duration worked (be it days, months, years - doesn't matter). Causes lots of churn. For example, if you choose a measure of "duration_worked_in_days" - every single row in the fact table would be obsoleted every single day....
What types of questions do you expect the fact table to answer?
I'm working on a HR mart right now, and my fact data is around pay rates (not actual pay), i.e. annual salary, hourly salary, etc. My records also have two "date" dims - effective start date and effective end date. Meaning if my annual salary is $50 a year between 1/1/2008 and 12/31/2008, that's what the row shows. When (or if) I get a pay raise (/cut), the "current" record gets end dated, and a new record inserted.
When you say that a fact table "must" contain measure columns - I assume you're using the actual OWB fact / dimension objects, vs. just tables? Very common in a HR data warehouse to have a "factless" fact table.
Hope this helps,
Scott -
Quizzes: Questions and Answers are overlapping in
After creating quizzes in the Quiz Manager, the questions and answers are overlapping in my presentation.
I tried playing with the Appearance options of the Quiz manager and the Master Slide but nothing seem to help.
Also, the radio buttons are not constantly aligned with their corresponding answers.
Could you please help me?
Thank youThere's actually a couple of reasons why the question element and it's corresponding "distractor" (aka the answer) are not lining up. First and foremost, using the Appearance feature is only really meant to configure the styling of your text elements; its not very useful at all when it comes to alignment issues and that's what's going on with your example (thanks for providing the jpg!!!)
Need to ask you this: did you make any changes to your answers "after-the-fact"? Meaning, that at one time you had an answer programmed into your question, but then did you decided to manually change your answer on the slide WITHOUT going back into the Quiz Manager to do so?
I ask b/c I've seen instances where editing the answer/distractor to a question messes up the vertical alignment of the text element.
That said, here's what you can try: If you select the "grouped" text box for the answer, you can change it's vertical alignment by setting it to "top".
Just remember that all answers that are created by Presenter are grouped items and MUST REMAIN SO! Do NOT ungroup any of the question components, or your question will cease to function properly.
One other thing you need to know: the placement of the question elements (radio buttons, distractors, etc) are ABSOLUTELY controlled by the positioning of your Slide Master's Text Frame. This is why your question paragraph is being impacted by the question item (answer) that follows.
Rob
http://www.robrode.com/yabb/ -
One Dimension with Facts at different levels
I currently have a single dimension with 5 levels. I have two fact tables that both connect to the dimension table but at different levels.
For example. If we have a Dimension Country -> Region -> City and then two fact tables. One that has facts at the Region level and one that has facts at the City level.
Is there a way to be able to have an answer that contains facts from both fact tables. So if there was a fact from City and the Region level? Everything I seem to try does not work. Would I have to create an additional aggregate table that aggregates the City level data up to the Region? Or is there a way to show the data at the lowest level and show either nulls or duplicate values for the additional records.
Any help is greatly appreciatedThis has helped a little. I am now getting values from both levels. However, because i am summing the two values. The value from the upper level is now summing duplicate values. For example.
Value 1 on its own
Level1 Level 2 Level 3 Value 1
1234 10 10 13.05
1234 20 10 70.00
1234 20 20 70.00
1234 30 10 105.00
1234 30 20 105.00
Value 2 on its own
Level1 Level 2 Level 3 Value 2
1234 10 10 0.50
1234 20 10 2.00
1234 20 20 2.00
1234 30 10 3.00
1234 30 20 3.00
What I am getting
Level1 Level 2 Level 3 Value 1 Value 2
1234 10 10 13.05 0.50
1234 20 10 140.00 2.00
1234 20 20 140.00 2.00
1234 30 10 210.00 3.00
1234 30 20 210.00 3.00
Desired Outcome
Level1 Level 2 Level 3 Value 1 Value 2
1234 10 10 13.05 0.50
1234 20 10 70.00 2.00
1234 20 20 70.00 2.00
1234 30 10 105.00 3.00
1234 30 20 105.00 3.00
Now, the problem with this is that Value 1 is a fact at Level 2 and Value 2 is a fact at Level 3. I have one dimension table and two fact tables. The join between the fact table for Value two and the dimension table is the same as the join between the dimension table and Value 1 only it is missing the last level of detail.
I have then set the logical table source content tabs for each fact table to the corresponding levels.
I thought this would be enough but i still don't get the desired result. I am not sure if this is possible with one dimension table.
Any ideas would be greatly appreciated.
Edited by: user10800227 on Jan 11, 2010 12:43 PM -
Question was answered, now how do I delete this message??
???
suz.hillcoat,
There is no need to delete the question after it is answered. In fact, leaving the question and answer in place may help somebody else find the answer without having to ask the question again.
Maybe you are looking for
-
Dear Gurus, Is there any std report is available which calculates due date for payments considering payment terma maintained in the purchase order . It should calculate due date from the date of GRN. Rgds, Saurabh
-
N80 Restarting "WSOD" when playing large mp4 files
I love Anime's so I'm converting my "RMVB" or "AVI" video files from my pc to "MP4" so that i can watch in my N80. here is the setting when i convert the files to MP4: Video -resolution is "352x288 (CIF)" -frame rate(FPS) is set to "auto" -Bit rate i
-
Passing multipe vairable to a Dynamic Page
Hi I creating a dynamic page that will display a list of values based on what the user input into the parameters. It works find as long as they only input a single value in (ex. Create User) but when attempting to input multiple values (ex. Create Us
-
Hi all, I have LV v 5.1. Mine application uses many different arrays (0-10000), and the application needs to display those arrays on the same graph. The problem is - when I make legend larger (stretch it on the front panel display), the limit seems t
-
I need the silent install of firefox for image deployment.