Aggregating measures in Fact mandatory

Hi All,
Am new to obiee.. just wanted to know, why is it mandatory to apply aggregation on fact table columns??
Thanks in adv..

Hi friend,
when you apply aggregation on fact table you are creating measures to evaluate the performance of the business. It makes no sense to create a BI application without build measures. That measures provide information to users for decision making.
I hope this resolve your doubt.
Regards.

Similar Messages

  • OBIEE Error[14041] Nested Aggregation measure are currently not supported

    Hi,
    Please provide workaround for the OBIEE Error[14041] Error in measure definiion. Nested aggregation measures are currently not supported.
    I have two logical columns - Current YTD Invoice Quantity and Prior YTD Invoice Price. I want to create a column which is -
    (Current YTD Invoice Quantity * Prior YTD Invoice Price)/ sum(Current YTD Invoice Quantity * Prior YTD Invoice Price)
    sum in the denominator should be the sum of all rows returned by the report. So level based measures cannot be used as there are multiple report and dimension used may vary.
    Columns Current YTD Invoice Quantity and Prior YTD Invoice Price are already aggregated to Sum.
    If I try to do the sum on the physical column while creating logical column, the query is running for 6-7 hours and not giving any result. Both the columns belong to different alias table in physical layer.
    Please let me know if you guys know any work around for this issue. Also let me know whether this type of nested aggregation are supported in 11g or not?
    Thanks.

    Hi Adil,
    Yes, I did create a hierarchy for the time dimesion.
    No, I was not able to specify the aggregate rule since the source of the logical column is another logical column
    But the time hierarchy works for rows that is not based upon the SUM aggregate at the answers level.
    Say I have 3 columns: Income,Expense, Bottom Line (formula : Income- Expense)
    Income is created based upon a case statement in the Logical Column and
    Expense is also created based upon a case statement in the Logical Column.
    Income 1000 Rupees
    Expense -300 Rupees
    Bottom Line 700 Rupees (where the Bottom line is a row based upon the Answers aggregate formula
    which is SUM(Income+Expense))
    When I add a column year, I get the following output
    Income 2009 500 Rs
    Income 2008 500 Rs
    Expense 2009 -150 Rs
    Expense 2008 -150 Rs
    Bottom Line 2009 700 Rs
    Bottom Line 2008 700 Rs
    The Bottom Line doesn't spread across the Year
    Hope this helps you to understand what my problems is.
    Thank you!

  • Mapping measures to fact tables crashes (in OLAP Catalog)

    I've got some problem with an olap catalog I create.
    Describing briefly my situation I may say that I have got a few measures (dimensioned with the same dimensions) but they load data from different fact tables. Using the CWM2 packages I try to create a cube in the olap catalog but when it comes to mappings of my second measure it crashes.
    - first loop:
    map_facttbl_levelkey(measure1, facttable1)
    map_facttbl_measure(measure1, facttable1)
    It passes OK
    - second loop:
    map_facttbl_levelkey(measure2, facttable2)
    map_facttbl_measure(measure2, facttable2)
    map_facttbl_measure throws the following exception:
    ORA-01422: exact fetch returns more than requested number of rows
    Do you know what is wrong? Do I do something that I shouldn't?

    In case if I am not clear above, this is what we are expecting for QTD. Would the cube do this rollup? if so what should we do to achieve this?
    Account
    Account Type
    Period
    Total Amount
    QTD
    Child 1
    EOP
    201304
    10
    10
    Child2
    NO EOP
    201304
    100
    100
    Parent
    201304
    110
    110
    Parent
    201305
    220
    320
    Child 1
    EOP
    201305
    20
    20
    Child2
    NO EOP
    201305
    200
    300
    Parent
    201306
    330
    630
    Child 1
    EOP
    201306
    30
    30
    Child2
    NO EOP
    201306
    300
    600

  • Problems working with different types of aggregation in two facts table

    Hello every Body!! Greetings from Brazil..
    At fisrt I'd like to say that I've tried to find some thead with the same problem, but I've foud no answere. That is why I'm typing this new post.
    Here we go ...
    I've a Fact table with one metric and two degenerate dimensions..
    For exemple:
    Invoice_number
    Puschase_Date
    Purchase_Value$
    When I model it at Business Model Mapping, I used the Aggregation's type below:
    Invoice_number - None
    Puschase_Date - None
    Purchase_Value - Sum
    So far it works fine at Answeres area.. Since I use only values from this Fact..
    But... if I try to join values from two different Facts Table (both of them sharing the same Dimensions) and the Second Fact has an aggregated value, it does'nt work... I get 'null' as values (metrics) of the second Fact Table...
    I think that it is caused because I'm working whith different types of aggregation, but I don't know the solution.
    By the wat, the second Fact I've told has only one metric, aggregated whith 'SUM'.
    Is there a solution? Any hint?
    Tks.
    Vettore

    int x = (int)(7 + 3.0 / 4.0 * 2); //the variable will do the math bracket first. then the va type will still be an int because int was never changed.
    Following the standard order of operations, 3.0/4.0 will result in a double, then 2 will be converted to a double before being multiplied to the result, then 7 is converted to a double before being added to the result, and then the (int) cast will force a conversion
    back to an int.
    Console.WriteLine((1 + 1) / 2 * 3); // 1 + 1 will be done first then 1 / 2 then * by 3
    Correct.
    I THINK THATS ALL WRONG ^ =/ like the comments
    Why?

  • OBIEE BI Answers: Wrong Aggregation Measures on top level of hierarchy

    Hi to all,
    I have following problem. I hope to be clear in my English because it's a bit complicated to explain.
    I have following fact table:
    Drug Id Ordered Quantity
    1 9
    2 4
    1 3
    2 2
    and following Drug Table:
    Drug Brand Id Brand Description Drug Active Ingredient Id Drug Active Ingredient Description
    1 Aulin 1 Nimesulide
    2 Asprina 2 Acetilsalicilico
    In AWM i've defined a Drug Dimension based on following hierarchy: Drug Active Ingredient (parent) - Drug Brand Description (leaf) mapped as:
    Drug Active Ingredient = Drug Active Ingredient Id of my Drug Table (LONG DESCRIPTION Attribute=Drug Active Ingredient Description)
    Drug Brand Description = Drug Brand Id of my Drug Table (LONG DESCRIPTION Attribute = Drug Brand Description)
    Indeed in my cube I've mapped leaf level Drug Brand Description = Drug Id of my fact table. In AWM Drug Dimension is mapped as Sum Aggregation Operator
    If I select on Answers Drug Active Ingredient (parent of my hierarchy) and Ordered Quantity I see following result
    Drug Active Ingredient Description Ordered Quantity
    Acetilsalicilico 24
    Nimesulide 12
    indeed of correct values
    Drug Active Ingredient Description Ordered Quantity
    Acetilsalicilico 12
    Nimesulide 6
    EXACTLY the double!!!!!!! But if I drill down Drug Active Ingredient Description Acetilsalicilico I see correctly:
    Drug Active Ingredient Description Drug Brand Description Ordered Quantity
    Acetilsalicilico
    - Aspirina 12
    Total 12
    Wrong Aggregation is only on top level of hierarchy. Aggregation on lower level of hierarchy is correct. Maybe Answers sum also Total Row????? Why?????
    I'm frustrated. I beg your help, please!!!!!!!!
    Giancarlo

    Hi,
    in NQSConfig.ini I can't find Cache Section. I post all file. Tell me what I must change. I know your patient is quite at limit!!!!!!! But I'm a new user of OBIEE.
    # NQSConfig.INI
    # Copyright (c) 1997-2006 Oracle Corporation, All rights reserved
    # INI file parser rules are:
    # If values are in literals, digits or _, they can be
    # given as such. If values contain characters other than
    # literals, digits or _, values must be given in quotes.
    # Repository Section
    # Repositories are defined as logical repository name - file name
    # pairs. ODBC drivers use logical repository name defined in this
    # section.
    # All repositories must reside in OracleBI\server\Repository
    # directory, where OracleBI is the directory in which the Oracle BI
    # Server software is installed.
    [ REPOSITORY ]
    #Star     =     samplesales.rpd, DEFAULT;
    Star = Step3.rpd, DEFAULT;
    # Query Result Cache Section
    [ CACHE ]
    ENABLE     =     YES;
    // A comma separated list of <directory maxSize> pair(s)
    // e.g. DATA_STORAGE_PATHS = "d:\OracleBIData\nQSCache" 500 MB;
    DATA_STORAGE_PATHS     =     "C:\OracleBIData\cache" 500 MB;
    MAX_ROWS_PER_CACHE_ENTRY = 100000; // 0 is unlimited size
    MAX_CACHE_ENTRY_SIZE = 1 MB;
    MAX_CACHE_ENTRIES = 1000;
    POPULATE_AGGREGATE_ROLLUP_HITS = NO;
    USE_ADVANCED_HIT_DETECTION = NO;
    MAX_SUBEXPR_SEARCH_DEPTH = 7;
    // Cluster-aware cache
    // GLOBAL_CACHE_STORAGE_PATH = "<directory name>" SIZE;
    // MAX_GLOBAL_CACHE_ENTRIES = 1000;
    // CACHE_POLL_SECONDS = 300;
    // CLUSTER_AWARE_CACHE_LOGGING = NO;
    # General Section
    # Contains general server default parameters, including localization
    # and internationalization, temporary space and memory allocation,
    # and other default parameters used to determine how data is returned
    # from the server to a client.
    [ GENERAL ]
    // Localization/Internationalization parameters.
    LOCALE     =     "Italian";
    SORT_ORDER_LOCALE     =     "Italian";
    SORT_TYPE = "binary";
    // Case sensitivity should be set to match the remote
    // target database.
    CASE_SENSITIVE_CHARACTER_COMPARISON = OFF ;
    // SQLServer65 sorts nulls first, whereas Oracle sorts
    // nulls last. This ini file property should conform to
    // that of the remote target database, if there is a
    // single remote database. Otherwise, choose the order
    // that matches the predominant database (i.e. on the
    // basis of data volume, frequency of access, sort
    // performance, network bandwidth).
    NULL_VALUES_SORT_FIRST = OFF;
    DATE_TIME_DISPLAY_FORMAT = "yyyy/mm/dd hh:mi:ss" ;
    DATE_DISPLAY_FORMAT = "yyyy/mm/dd" ;
    TIME_DISPLAY_FORMAT = "hh:mi:ss" ;
    // Temporary space, memory, and resource allocation
    // parameters.
    // You may use KB, MB for memory size.
    WORK_DIRECTORY_PATHS     =     "C:\OracleBIData\tmp";
    SORT_MEMORY_SIZE = 4 MB ;
    SORT_BUFFER_INCREMENT_SIZE = 256 KB ;
    VIRTUAL_TABLE_PAGE_SIZE = 128 KB ;
    // Analytics Server will return all month and day names as three
    // letter abbreviations (e.g., "Jan", "Feb", "Sat", "Sun").
    // To use complete names, set the following values to YES.
    USE_LONG_MONTH_NAMES = NO;
    USE_LONG_DAY_NAMES = NO;
    UPPERCASE_USERNAME_FOR_INITBLOCK = NO ; // default is no
    // Aggregate Persistence defaults
    // The prefix must be between 1 and 8 characters long
    // and should not have any special characters ('_' is allowed).
    AGGREGATE_PREFIX = "SA_" ;
    # Security Section
    # Legal value for DEFAULT_PRIVILEGES are:
    # NONE READ
    [ SECURITY ]
    DEFAULT_PRIVILEGES = READ;
    PROJECT_INACCESSIBLE_COLUMN_AS_NULL     =     NO;
    MINIMUM_PASSWORD_LENGTH     =     0;
    #IGNORE_LDAP_PWD_EXPIRY_WARNING = NO; // default is no.
    #SSL=NO;
    #SSL_CERTIFICATE_FILE="servercert.pem";
    #SSL_PRIVATE_KEY_FILE="serverkey.pem";
    #SSL_PK_PASSPHRASE_FILE="serverpwd.txt";
    #SSL_PK_PASSPHRASE_PROGRAM="sitepwd.exe";
    #SSL_VERIFY_PEER=NO;
    #SSL_CA_CERTIFICATE_DIR="CACertDIR";
    #SSL_CA_CERTIFICATE_FILE="CACertFile";
    #SSL_TRUSTED_PEER_DNS="";
    #SSL_CERT_VERIFICATION_DEPTH=9;
    #SSL_CIPHER_LIST="";
    # There are 3 types of authentication. The default is NQS
    # You can select only one of them
    #----- 1 -----
    #AUTHENTICATION_TYPE = NQS; // optional and default
    #----- 2 -----
    #AUTHENTICATION_TYPE = DATABASE;
    # [ DATABASE ]
    # DATABASE = "some_data_base";
    #----- 3 -----
    #AUTHENTICATION_TYPE = BYPASS_NQS;
    # Server Section
    [ SERVER ]
    SERVER_NAME = Oracle_BI_Server ;
    READ_ONLY_MODE = NO;     // default is "NO". That is, repositories can be edited online.
    MAX_SESSION_LIMIT = 2000 ;
    MAX_REQUEST_PER_SESSION_LIMIT = 500 ;
    SERVER_THREAD_RANGE = 40-100;
    SERVER_THREAD_STACK_SIZE = 0; // default is 256 KB, 0 for default
    DB_GATEWAY_THREAD_RANGE = 40-200;
    DB_GATEWAY_THREAD_STACK_SIZE = 0; // default is 256 KB, 0 for default
    MAX_EXPANDED_SUBQUERY_PREDICATES = 8192; // default is 8192
    MAX_QUERY_PLAN_CACHE_ENTRIES = 1024; // default is 1024
    MAX_DRILLDOWN_INFO_CACHE_ENTRIES = 1024; // default is 1024
    MAX_DRILLDOWN_QUERY_CACHE_ENTRIES = 1024; // default is 1024
    INIT_BLOCK_CACHE_ENTRIES = 20; // default is 20
    CLIENT_MGMT_THREADS_MAX = 5; // default is 5
    # The port number specified with RPC_SERVICE_OR_PORT will NOT be considered if
    # a port number is specified in SERVER_HOSTNAME_OR_IP_ADDRESSES.
    RPC_SERVICE_OR_PORT = 9703; // default is 9703
    # If port is not specified with a host name or IP in the following option, the port
    # number specified at RPC_SERVICE_OR_PORT will be considered.
    # When port number is specified, it will override the one specified with
    # RPC_SERVICE_OR_PORT.
    SERVER_HOSTNAME_OR_IP_ADDRESSES = "ALLNICS"; # Example: "hostname" or "hostname":port
    # or "IP1","IP2":port or
    # "hostname":port,"IP":port2.
    # Note: When this option is active,
    # CLUSTER_PARTICIPANT should be set to NO.
    ENABLE_DB_HINTS = YES; // default is yes
    PREVENT_DIVIDE_BY_ZERO = YES;
    CLUSTER_PARTICIPANT = NO; # If this is set to "YES", comment out
    # SERVER_HOSTNAME_OR_IP_ADDRESSES. No specific NIC support
    # for the cluster participant yet.
    // Following required if CLUSTER_PARTICIPANT = YES
    #REPOSITORY_PUBLISHING_DIRECTORY = "<dirname>";
    #REQUIRE_PUBLISHING_DIRECTORY = YES; // Don't join cluster if directory not accessible
    DISCONNECTED = NO;
    AUTOMATIC_RESTART = YES;
    # Dynamic Library Section
    # The dynamic libraries specified in this section
    # are categorized by the CLI they support.
    [ DB_DYNAMIC_LIBRARY ]
    ODBC200 = nqsdbgatewayodbc;
    ODBC350 = nqsdbgatewayodbc35;
    OCI7 = nqsdbgatewayoci7;
    OCI8 = nqsdbgatewayoci8;
    OCI8i = nqsdbgatewayoci8i;
    OCI10g = nqsdbgatewayoci10g;
    DB2CLI = nqsdbgatewaydb2cli;
    DB2CLI35 = nqsdbgatewaydb2cli35;
    NQSXML = nqsdbgatewayxml;
    XMLA = nqsdbgatewayxmla;
    ESSBASE = nqsdbgatewayessbasecapi;
    # User Log Section
    # The user log NQQuery.log is kept in the server\log directory. It logs
    # activity about queries when enabled for a user. Entries can be
    # viewed using a text editor or the nQLogViewer executable.
    [ USER_LOG ]
    USER_LOG_FILE_SIZE = 10 MB; // default size
    CODE_PAGE = "UTF8"; // ANSI, UTF8, 1252, etc.
    # Usage Tracking Section
    # Collect usage statistics on each logical query submitted to the
    # server.
    [ USAGE_TRACKING ]
    ENABLE = NO;
    //==============================================================================
    // Parameters used for writing data to a flat file (i.e. DIRECT_INSERT = NO).
    STORAGE_DIRECTORY = "<full directory path>";
    CHECKPOINT_INTERVAL_MINUTES = 5;
    FILE_ROLLOVER_INTERVAL_MINUTES = 30;
    CODE_PAGE = "ANSI"; // ANSI, UTF8, 1252, etc.
    //==============================================================================
    DIRECT_INSERT = YES;
    //==============================================================================
    // Parameters used for inserting data into a table (i.e. DIRECT_INSERT = YES).
    PHYSICAL_TABLE_NAME = "<Database>"."<Catalog>"."<Schema>"."<Table>" ; // Or "<Database>"."<Schema>"."<Table>" ;
    CONNECTION_POOL = "<Database>"."<Connection Pool>" ;
    BUFFER_SIZE = 10 MB ;
    BUFFER_TIME_LIMIT_SECONDS = 5 ;
    NUM_INSERT_THREADS = 5 ;
    MAX_INSERTS_PER_TRANSACTION = 1 ;
    //==============================================================================
    # Query Optimization Flags
    [ OPTIMIZATION_FLAGS ]
    STRONG_DATETIME_TYPE_CHECKING = ON ;
    # CubeViews Section
    [ CUBE_VIEWS ]
    DISTINCT_COUNT_SUPPORTED = NO ;
    STATISTICAL_FUNCTIONS_SUPPORTED = NO ;
    USE_SCHEMA_NAME = YES ;
    USE_SCHEMA_NAME_FROM_RPD = YES ;
    DEFAULT_SCHEMA_NAME = "ORACLE";
    CUBE_VIEWS_SCHEMA_NAME = "ORACLE";
    LOG_FAILURES = YES ;
    LOG_SUCCESS = NO ;
    LOG_FILE_NAME     =     "C:\OracleBI\server\Log\CubeViews.Log";
    # MDX Member Name Cache Section
    # Cache subsystem for mapping between unique name and caption of
    # members for all SAP/BW cubes in the repository.
    [ MDX_MEMBER_CACHE ]
    // The entry to indicate if the feature is enabled or not, by default it is NO since this only applies to SAP/BW cubes
    ENABLE = NO ;
    // The path to the location where cache will be persisted, only applied to a single location,
    // the number at the end indicates the capacity of the storage. When the feature is enabled,
    // administrator needs to replace the "<full directory path>" with a valid path,
    // e.g. DATA_STORAGE_PATH = "C:\OracleBI\server\Data\Temp\Cache" 500 MB ;
    DATA_STORAGE_PATH     =     "C:\OracleBIData\cache" 500 MB;
    // Maximum disk space allowed for each user;
    MAX_SIZE_PER_USER = 100 MB ;
    // Maximum number of members in a level will be able to be persisted to disk
    MAX_MEMBER_PER_LEVEL = 1000 ;
    // Maximum size for each individual cache entry size
    MAX_CACHE_SIZE = 100 MB ;
    # Oracle Dimension Export Section
    [ ORA_DIM_EXPORT ]
    USE_SCHEMA_NAME_FROM_RPD = YES ; # NO
    DEFAULT_SCHEMA_NAME = "ORACLE";
    ORA_DIM_SCHEMA_NAME = "ORACLE";
    LOGGING = ON ; # OFF, DEBUG
    LOG_FILE_NAME     =     "C:\OracleBI\server\Log\OraDimExp.Log";

  • Non-numeric Measures in fact table

    I have been told measures should be numeric items from the fact table i base my cube on. Yet some of these columns are non-numeric. Reports are asking me to tally up the totals for these boolean measures in my reports. Has anyone done this before? If I have a measure that is a 'Y' or a 'N', how do I total up the numbers for each in Analytic Workspace Manager?

    I am attempting to understand. In AWM, I will have a
    dimension. The hierarchy of this dimension will have
    2 levels...'Total' and 'YesorNo'
    Then I will map the column to that 2nd level?
    I don't quite understand. What about the measures?
    I have no measures currently. And these columns are
    e in the fact table...I can't map a text field to a
    level...plus there are also nulls in there in the
    form of other letters (ie '0').
    Any more clarification would help significantly.
    Thanks!you must edit your cube, and add it with measure u want.
    then simply map the "YesorNo" column to Aggregate table (use proper operation such as SUM, COUNT, DISTINCT etc in Agg properties), and define the output as number. later u can map this agg.output to your cube table.
    hope it can help.

  • OBIEE 11g Admin Tool aggregating measure columns

    I have a few meausre columns that are in my logical table. I would like to sum the measure columns but I can't figure out how.When I create another logical table only the physical columns would show up but no measure/calculated columns. What do I need to do?
    Thank you in advance

    start>>all programs>>OBI>>Administrator
    you will get the Admin tool
    assign points and make question as answered

  • How to create summation column with different measures of fact table

    If I have a salary fact table with columns MONTHID | BASIC-SALARY | TRAVEL-ALLOWANCE
    and in Deski, I drag all the three columns to form a horizontal table
    then is it possible to create a summation column to show total salary?
    I don;t want to create a variable because in that case the formula need to be changed everytime there is a new allowance.
    regards,
    binayak

    Hello Binayak,
    as you refer to Deski I recommend to post this query to the [BusinessObjects Desktop Intelligence|SAP BusinessObjects Desktop Intelligence; forum.
    This forum is dedicated to topics related to the creation and design of Desktop Intelligence documents such as universe connectivity, prompts, charting, formatting, filter, and formulas.It is monitored by qualified technicians and you will get a faster response there.
    Also, all Desktop Intelligence queries remain in one place and thus can be easily searched in one place.
    Best regards,
    Falk

  • DAX - Aggregating measures by multiple dimensions.

    I have a pretty simple data warehouse (star schema). DimDate, DimProduct, DimCustomer, FactSalesOrders. I have created a Tabular Model with this data and have several measures in FactSalesOrders. Ultimately, I am trying to consume this data in SSRS
    with a DAX query. Therefore, I need to perform a "group by" function in DAX to group by several attributes from each of the Dimensions and aggregate the measures in the FactSalesOrders table. I've tried summarize, and addcolumns, but the performance
    is slow. 10 seconds to pull a simple "group by" DimDate.FiscalYear, DimProduct.SKU, DimCustomer.CustomerName. Analysis Services within Excel is able to slice this data in less than a second. I'm looking for some insight as to how to write the
    DAX query.

    Hi Mstaples123542,
    According to your description, you want to create "group by" function in DAX query. Right?
    In DAX, the only way to achieve "group by" is using summarize, addcolumns. There's no better way the get the same result with better performance. Since you are using SSRS, I suggest you just use the DAX to get the whole dataset without any group
    and order, then you group and order all data in the SSRS.
    If you have any question, please feel free to ask.
    Regards,
    Simon Hou
    TechNet Community Support

  • Different GroupBy & Aggregation rule on Facts

    Hi All,
    I'm facing the following problem.
    I have DIM_TABLE and FACT_TABLE which joins with ROW_WID = ROW_WID. I want to implement a #FACT1 which is the SUM(FACT1), there's no problem over there. I also want to create a #FACT2 which is the MAX(FACT2) but grouped by the ROOT_ROW_WID instead of ROW_WID.
    Any idea of how to resolve this issue?
    Here's an example:
         DIM_TABLE:
    ROW_WID ROOT_ROW_WID ROOT_NAME ROOT_REGION
    101 103 'ABC' 'AAA'
    102 103 'ABC' 'AAA'
    103 103 'ABC' 'AAA'
    150 151 'ZZZ' 'AAA'
    151 151 'ZZZ' 'AAA'
    FACT_TABLE:
    ROW_WID     FACT1     FACT2
    101 1 10
    102 1 0
    103 2 5
    150 5 15
    151 3 30
    RESULT:
    ROOT_REGION #FACT1 #FACT2
    'AAA' 12 40 (it's 10 + 30)
    Thanks in advance.

    Passing parameters from one report to another. If you go to Column Properties you will find 2 main types of Drills. One is a default drill which comes from the repository. The other is a navigation drill wherein you can specify a target report. So basically when you click on the column of your report that will navigate to another report and will also pass the parameter(value clicked) and will filter the target report. I am not sure which version of OBI EE you are on?
    Thanks,
    Venkat
    http://oraclebizint.wordpress.com

  • Multiple Facts in single subject area

    Hi everyone,
    Is there an optimal way to get multiple facts into a single subject area? The only way I've managed to get multiple facts into a single subject area is to go the route of creating hierarchies for all dimensions, setting up all the content levels for both the fact and dimension tables and finally creating aggregated measures for all the fact tables. However, when you setup these different hierarchies and content levels, the queries which are generated tend to get fairly nasty and seem to be slow. Another pesky issue is that I've had to create pseudo columns for all facts, so that if a report is using one dimension from FACT A and one dimension from FACT B, then you have to include this pseudo column from both facts so that OBIEE knows which tables are involved in the query. Without including these pseudo columns in the report, the OBIEE engine gets a little confused and puts up an error.
    I'd prefer to find a better way to do the multiple fact implementation without having to have the massive queries and pseudo columns, but I'm not sure what the other options out there are. Anyone know the best way to accomplish this?
    -Joe

    Hi Wildmight,
    You are exactly right.
    Here's an example of what I'm trying to accomplish. We have a TIME SHEET fact table which has things like a work date, an employee ID, a work order number and the hours which were worked. The work orders can be against one or more pieces of equipment. There is a second fact table which models the one to many relationship between work orders and equipment.
    The model would look a little like this:
    Join on WORK ORDER NUMBER Join on WORK ORDER NUMBER
    TIME SHEET FACT <-----------------------------------------------WORK ORDER Dimension ----------------------------------------------> WORK ORDER EQUIPMENT FACT
    We would like to create a report that shows the number of hours from the time sheets fact grouped by the piece of equipment from the work order equipment fact. I've been able to setup this report using the method I described in my first post, but like I said, the generated SQL is massive and seems somewhat unnecessary.
    I think I'd have to say the grains of the facts are different since they providing to different pieces of information.
    I haven't done too much multiple LTS experimentation. I'm working from a single data warehouse source which should be robust enough to handle any reporting requirements. Even though I know OBIEE can do some clever combining of tables using the LTS; if data sets need to be consolidated, I'm trying to keep that work in the database via ETLs in order to keep the work that OBIEE has to do down to a minimum.
    -Joe

  • Is it ok? if we have 42 million records in a single fact table!!

    Hello,
    We have three outstanding fact tables, and we need to add one more fact type, and we were thinking whether we can do two different fact tables, or can we put the values in one of the same fact table which is similar, but the records are upto 42 million if we add ,so my question is having a single fact table with all records, or breaking it down, to two different ones!!!Thnx!!

    I am not sure what is an "outstanding fact" or an "fact type". A 42m fact table doesn't necessarily indicate you are doing something wrong although it does sound as odd. I would expect most facts to be small as they should have aggregated measures to speed up report. In some cases you may want to drill down to the detailed transaction level in which case you may find these large facts. But care should be taken not to allow users to query on this fact without user the "transaction ID" which obviously should be indexed and should guarantee that queries will be quick.
    Guessing from your post (as it is not clear not descriptive enough) it would seem to imply that you are adding a new dimension to your fact and that will cause the fact to increase it's row count to 42m. That probably means that you are changing the granularity of the fact. That may or may not be correct, depending on your model.

  • One DIMENSION, Two FACT Tables - One WEEKLY grain, one DAILY grain

    All the OBIEE gurus, thanks for checking out this post.
    Background: We have a common DIMENSION referencing two FACT tables having different granularity.
    DIM = Customer Dim
    FACT = Forecasting (Weekly granularity)
    FACT = Sales (Daily granularity)
    There is a need to report from the Customer Dimension table AND access the Forecasting FACT (weekly grain) & Sales FACT (daily grain).
    Example of query is listed below:
    Give me customer = 'ABC' and the forecast and sales for a specific time period.
    What will be the best way to handle something like this? I have seen examples of handing multi-fact table access in OBIEE but the granularity of both the FACT tables is different (weekly vs. daily).
    Any help with an example is greatly appreciated.
    Thanks,
    Sunshine

    Hi.
    This one:
    Joining different level aggregation measures together into a single logical fact table
    http://108obiee.blogspot.com/2009/07/joining-different-level-aggregation.html
    Regards
    Goran
    http://108obiee.blogspot.com

  • Logical fact table with fragmented data sources with different dimensions

    Hello.
    I have a logical fact table with four logical table sources. Three of the LTS's share the same dimensions, but the fourth LTS has one dimension (called Dim_A) less. In the physical layer the dimension Dim_A is joined to the first three physical fact tables, but not to the fourth fact table (since it doesn't have that dimensionality). In the BMM layer the logical fact table is joines to the logical dimansion Dim_A.
    When I run an analysis on this RPD the measures from the logical fact is aggregated correctly (union of all four table sources) as long as I doesn't include Dim_A, but as soon as I include dimension Dim_A I get the error message:
    +State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 43113] Message returned from OBIS. [nQSError: 43119] Query Failed: [nQSError: 14052] Internal Error: Logical column Dim_A.Column_X has no physical sources that can be joined to the physical fact table source [Logical table sources (Priority=0): Fact_B.Fact_Y]. (HY000)+
    I would like a solution where the analysis returns correctly aggregated measures also for the LTS with the "missing" dimension, but with a dimension value NULL for this LTS. Or something like this.
    Is there a way to set this up in the RPD.
    Thanks,
    Henning Eriksen

    The SQL could look something like this.
    SELECT dim_a.col_1, fact_a.measure_1
    FROM db.dim_a
    JOIN
    db.fact_a
    ON fact_a.col_2 = dim_a.col_2
    WHERE fact_a.date = '28-nov-2012'
    UNION ALL
    SELECT dim_a.col_1, SUM (fact_b.measure_1)
    FROM db.dim_a
    JOIN
    db.fact_b
    ON fact_b.col_2 = dim_a.col_2
    WHERE fact_b.date = '28-nov-2012'
    UNION ALL
    SELECT dim_a.col_1, SUM (fact_c.measure_1)
    FROM db.dim_a
    JOIN
    db.fact_c
    ON fact_c.col_2 = dim_a.col_2
    WHERE fact_c.date = '28-nov-2012'
    UNION ALL
    SELECT NULL, SUM (fact_d.measure_1)
    FROM    db.fact_d
    WHERE fact_d.date = '28-nov-2012'
    I would appreciate if you could give me some hints for the RPD.
    Thanks,
    Henning

  • Fact to Fact Relationship urgent!!!!!!!

    Let us suppose there are 2 dimensions and 2 facts and every dimension is joined with every fact and there is no relation between two facts while selecting columns from both the facts with any dimension column its involving only one fact, we found one solution which is combined sql (union).
    can we have any other solution?
    Thanks in advance

    I hope I got your question.
    If you have 2 unrelated facts joined to a common dimension, and if you drag the dimension value and the measures from your fact tables, the data should show up as expected.
    For e.g. we have an orders received and an orders fulfilled fact tables that are unrelated, that we can see by day (the common dimension) in a single query without any union. Of course, your measures will need to be aggregated for your fact tables to return a single row for each dimension value, otherwise it would make no sense.
    HTH,
    Nilanshu.

Maybe you are looking for

  • How to re-install OS 10.2.8?

    There's a software glitch developed in OS 10.2.8 in my trusty Power Mac G4. Can't solve it, so I guess I have to do a re-install. Problems are: 1) I don't have the original software disks (the used system was a gift), and 2) I've never done an OS re-

  • How to change my user name?

    I want to change the user name in "Users and Groups" I changed it so that in the upper right hand corner of the desktop it reflects the new name, but when I open the Users folder, it still has the old name.  I want to change the name of the main user

  • Webdynpro java vs ABAP

    Why do we have webdynpro abap when we already have webdynpro java?

  • Apple ID changed itself!!

    I go to download an app and it's my sisters ID. How to I switch it back to mine? it's just her ID for the App Store, not iTunes.

  • I need a copy of AdobePDF.dll, can anyone help?

    I need to get a copy of AdobePDF.dll from Windows Vista disk.  I do not have any Vista Disks.and upgraded my PC to Windows 7 Home Premium.  Any suggestions where I can get it?  I was reinstalling Adobe CS3 Design Premium when the installation stopped