OBIEE 11g: Fact table does not have  a properly defined primary key

Hi,
We have two fact tables and two dimension tables.
We have joined the tables like
D1-->F1
D2-->F2
D1-->D2
We dont have any hieracies.
It is throwing error in consistency check,
[nQSError: 15001] Could not load navigation space for subject area ABC.
[nQSError: 15033] Logical table Fact1 does not have a properly defined primary key.
It is not like STAR Schema, its like snowflake schema. How to define primary key for fact table.
Thanks.

Hi,
My suggestion would be bring both the facts to the same logical table sources and have a single fact table in the BMM layer joined with multiple dimensions.
Build a dimension hierarchy for the dimensions and then in the content logical layer mapping, map the dimensions to the fact tables with detailed level/Total
Refer the below link-
http://108obiee.blogspot.com/2009/08/joining-two-fact-tables-with-different.html
Hope this help's
Thanks,
Satya

Similar Messages

  • How to resolve Nqserror:15033 : FACT_TABLE does not have a properly defined

    Hello All,
    I have a model wherein when i modify a join(b/w a fact and a dim1 is modified to fact and dim2), i get the following error..
    [nQSError: 15001] Could not load navigation space for subject area SA.
    [nQSError: 15033] Logical table Fact_Marketing does not have a properly defined primary key.
    Why am i getting an error to have a primary key on a fact table..!
    Yet if i define a key, no errors come up. But, it throws error in the presentation services.
    and one more important one is..
    the error it is throwing on a table "Fact_Marketing" is not at all included in the modifications mentioned above..
    only thing i have in common is,
    both the dimensions dim1, dim2 are joined directly to both the facts..
    Any pointers into this issue would definitely help me..
    Thanks in advance.

    Sounds like it's not recognising that your table is a fact table. Is the icon showing as the fact table icon rather than the dimension icon against it?
    If not then is your logical join the correct way around? (many end towards the fact table)
    If you're on 10g then also make sure you're using a complex join, not a foreign key join in the business model.

  • Key value does not currently exist in the primary key table error

    Im testing out a form and creating a new insert once all the fields are filled in it wont allow me to move on and comes up with this error message;
    key value does not currently exist in the primary key table
    Is this becuase the form contains foriegn keys which reference different tables which fields are not dispalyed on this form?
    If so how to I link the other forms together so that when i create a new record in this form it will automaticaly create the primary key entry in the other form to allow the insert of the referenced foreign key in this form?
    does this make sense?

    It seems that it has the table in which you'r inserting is a foreign key table.
    Take the emp& dept table example in the schema scott/tiger.
    Say we have deptno 10, 20, 30, 40 in the dept table.
    We make a form for emp table and insert into this form.
    Now, we'r bound to insert deptno 10, 20, 30, 40 into this emp form. This form will not allow us to insert deptno 50 as it doesn't exist in the primary key column in dept table.
    Obviously if a department doesn't exist in the company, it doesn't make sense to assign the employees to that department.
    So for this purpose, we need to add a department in the dept table then we can insert values in the emp table for that department.
    For this purpose, I suggest to make a button on the mp form and invoke the dept form and add a new department to it and then insert into emp table.
    The same scenario can be applied in your case.

  • CMP : Table does not have a column named ...

    Hello All,
    The following error is generated while verifying CMP bean before deployment with asant tool.
    The table and field are present in the database, is there any way to debug whats wrong?
    Error:
    The table XYZ does not have a column named ABC
    Test Name : tests.ejb.ias.cmpmapping.ASSunCmpMappingTest
    Test Assertion :
    Test Description : FAILED [JDO-GEN-CMP-Validation] : Unexpected exception occured while initializing JDOCodeGenerator, for the mapping file [ META-INF/sun-cmp-mappings.xml ], of the ejb archive [ SchemeEJB ] .Check stacktrace for details :
    [ java.lang.RuntimeException: The table XYZ does not have a column named ABC[/b]
    The following error is reported. But in reality there is a column name(ABC) in the table(XYZ).
    Thanx in Advance
    Rgds,
    Girish.
    Here is the cmp-mapping.xml we are using
    <sun-cmp-mappings>
    <sun-cmp-mapping>
    <schema>SchemeEJB</schema>
    <entity-mapping>
    <ejb-name>SchemeEJB</ejb-name>
    <table-name>SCHEMES</table-name>
    <cmp-field-mapping>
    <field-name>schemeDeptCode</field-name>
    <column-name>SC_DEPT_CODE</column-name>
    </cmp-field-mapping>
    <cmp-field-mapping>
    <field-name>schemeCode</field-name>
    <column-name>WF_SCHEME_CODE</column-name>
    </cmp-field-mapping>
    <cmp-field-mapping>
    <field-name>schemeEnName</field-name>
    <column-name>EN_NAME</column-name>
    </cmp-field-mapping>
    <cmp-field-mapping>
    <field-name>schemeUcdName</field-name>
    <column-name>UCD_NAME</column-name>
    </cmp-field-mapping>
    <cmp-field-mapping>
    <field-name>schemeStartDate</field-name>
    <column-name>START_DATE</column-name>
    </cmp-field-mapping>
    <cmp-field-mapping>
    <field-name>schemeEndDate</field-name>
    <column-name>END_DATE</column-name>
    </cmp-field-mapping>
    <cmp-field-mapping>
    <field-name>isActive</field-name>
    <column-name>IS_ACTIVE</column-name>
    </cmp-field-mapping>
    <cmp-field-mapping>
    <field-name>enShortDescription</field-name>
    <column-name>EN_SHORT_DESC</column-name>
    </cmp-field-mapping>
    <cmp-field-mapping>
    <field-name>enLongDescription</field-name>
    <column-name>EN_LONG_DESC</column-name>
    </cmp-field-mapping>
    <cmp-field-mapping>
    <field-name>ucdShortDescription</field-name>
    <column-name>UCD_SHORT_DESC</column-name>
    </cmp-field-mapping>
    <cmp-field-mapping>
    <field-name>ucdLongDescription</field-name>
    <column-name>UND_LONG_DESC</column-name>
    </cmp-field-mapping>
    <cmp-field-mapping>
    <field-name>sponsererCode</field-name>
    <column-name>SPONSERER</column-name>
    </cmp-field-mapping>
    <cmp-field-mapping>
    <field-name>userId</field-name>
    <column-name>WS_USER_ID</column-name>
    </cmp-field-mapping>
    <cmp-field-mapping>
    <field-name>createdDate</field-name>
    <column-name>WS_CREATED_DATE</column-name>
    </cmp-field-mapping>
    <cmp-field-mapping>
    <field-name>lastModified</field-name>
    <column-name>WS_LAST_MODIFIED</column-name>
    </cmp-field-mapping>
    </entity-mapping>
    </sun-cmp-mapping>
    </sun-cmp-mappings>

    This is almost always the case when using CMP and the schema hasn't been updated after adding the new column to the database. This has happened to me multiple times in the past month.
    I'm referring to the <schema> element under the <sun-cmp-mapping> element in the sun-cmp-mappings.xml deployment descriptor that's generated from the capture-schema utility.
    I'm 99% certain this is what you're encountering.

  • Why IVisualElementContainer does not have "getChildren" method defined?

    Hi all,
    In Flex 3 SDK Container.as has method getChildren() and rawChildren property typed as IChildList.
    But In Flex 4 the interface IVisualElementContainer does not have a definition for getChildren() > thus neither SkinnableContainer nor Group have this method defined.
    Was this decision made deliberately to simplify the interface API?
    I find it convenient to have "getChildren" method implemented inside Group and SkinnableContainer,  for example this can be useful if I want to access all visual childs of those containers to pass them along to some manager class or to dynamically set some common property of all childs ( e.g visibility).

    MX had a concept of two sets of children: regular children and raw children.  One component could have two children lists.
    Spark simplifies this concept because of the skin.  Now there's really only one set of children.  Because of this IVisualElementContainer acts like IChildList and has a very similar API.  You should be able to use IVisualElementContainer as you would IChildList before.
    Note that in places where we do have more than one-set of children, we don't expose them on the main object, but require you to dig down in to the separate object (the skin or the controlBarGroup for example).
    Hope that helps,
    Ryan

  • When online and asked to fill in phone no., the iPhone presents a numeric keyboard that does not have space, hyphen or parenthesis keys. How to get a full keyboard to come up all the time?

    When asked to input my phone number on some online forms (Yelp, donation), a numeric keyboard comes up on my phone. This keyboard has 0-9 characters, + # symbols, and the words "pause" and "wait.". There is no option for parentheses for area code, no hyphen option, no period option and no space option. As a result, numbers run in a single row. I then get the message "Invalid phone number" or "Invalid Format.". The sites then won't allow me to continue. This numeric keyboard is useless. How do I get either a numeric keyboard with the needed features or, better yet, get the alpha-numeric pad we usually see?  This seems so weird on Apple's part.

    MaryAmanda wrote:
    Does anyone know anything about onsite specifics?
    I'm wondering where the onsite warranty can be in effect.  Like, can it be used in ANY city in the US?  Can it be used only in metrololitan areas?  What is a metro area in Lenovo's eyes?
    Does anyone know where I can get better and accurate info on the onsite warranty?  Like a coverage map would be very helpful.  Because why should I spend the money on it, if I can't access it?
    Looking forward to more info...thanks.
    There is no coverage map as such.
    I live in what is considered a rural area and had techs driving 60-70 miles one way to get to me, never an issue.
    Obviously, YMMV.
    In my not-so-modest experience, both onsite and accidental damage upgrades are worth every penny if one intends to keep their ThinkPads for an extended period of time.
    Good luck.
    Cheers,
    George
    In daily use: R60F, R500F, T61, T410
    Collecting dust: T60
    Enjoying retirement: A31p, T42p,
    Non-ThinkPads: Panasonic CF-31 & CF-52, HP 8760W
    Starting Thursday, 08/14/2014 I'll be away from the forums until further notice. Please do NOT send private messages since I won't be able to read them. Thank you.

  • Using Numbers 3.2, one of my tables does not allow me to add rows.

    This table does not have the "=" or "_|" symbol at the bottom, allowing me to add rows. The menu bar under Table>Add Row Above and Table>Add Row Below are both grayed out.  What can I do to add rows?
    My computer is a MacBook Pro 15", late 2013;  2.6 GHz, 16GB RAM, OSZX 10.9.3

    Hi Patrick,
    On way to experience this is if you have a filter running and some of your rows are hidden. If the is the case, just unclick the filter.
    quinn

  • CHILD form error FRM-30100: Block must have at least one primary key item.

    Hi friends,
    I have increased the DML array of the child block from 1 to 10, but it throws me error:
    FRM-30100: Block must have at least one primary key item.
    Block: CEC_ADJUSTMENT_RECON
    Form: CEC_ADJ
    FRM-30085: Unable to adjust form for output.
    How does a form know that the table does not have primary key? Is it referring to it?
    Thanks a lot                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

    I dont understand why do you increase the DML array size..
    Because it says in the HELP
    Specifies the maximum array size for inserting, updating, and deleting records in the database at one time.
    A larger size reduces transaction processing time by reducing network traffic to the database, but requires more memory.  The optimal size is the number of records a user modifies in one transaction.
    The FRM-30100 comes not because of the above property..
    If your query data source type is other than TABLE, it is a must to set at least one database field's PRIMARY KEY ITEM PROPERTY in the block to be a YES.

  • Referenced join path ___ does not have table '$2$' as endpoint

    Hi,
    We are trying to make one of our first views. I joined the schema in attach.
    The first part is a join between 3 tables: FMIFIIT and 2 dependent tables for further information.
    For the second part I made an analytical view on FMIFIIT making totals based on 3 secondary key fields.
    I would like to join the first view with the second one, so I can add total amounts to every detail line.
    But I always get an error when  activating the analytical view:
    <detail>
      <element>cubeSchema -> cubes -> cube (_SYS_BIC:kul.testing.kcl/AN_FMIFIIT_2/olap) -> characteristics -> dimension (BLDAT)</element>
      <code>41</code>
      <message>Referenced join path 'DATA_SLT_D11220:FMIFIHD' does not have table '$2$' as endpoint</message>
      </detail>
    I seems as if all 3 tables need to be fact-tables, and as I look at the definition that is not the case:
    <cubeTables>
      <cubeTable name="DATA_SLT_D11220:FMIFIHD" type="d-table"/>
      <cubeTable name="DATA_SLT_D11220:FMIFIIT" type="f-table"/>
      <cubeTable name="DATA_SLT_D11220:PRPS" type="d-table"/>
    </cubeTables>
    Is this 'TYPE' influenced by the presence of measures in it? And do all tables need to have measures in it?
    <measures>
      <measure name="FKBTR" table="DATA_SLT_D11220:FMIFIIT" column="FKBTR" aggregationType="sum" isVisible="true"/>
      <calculatedMeasure name="TOTBEDRAG" aggregationType="sum" isVisible="true" calculateBeforeAggregation="false" datatype="fixed" length="13" scale="2">
      <formula>"FKBTR"</formula>
      </calculatedMeasure>
      <calculatedMeasure name="BEDRAG54" aggregationType="sum" isVisible="true" calculateBeforeAggregation="false" datatype="fixed" length="13" scale="2">
      <formula>if("WRTTP"=''54'',"FKBTR",0)</formula>
      </calculatedMeasure>
      <calculatedMeasure name="BEDRAG57" aggregationType="sum" isVisible="true" calculateBeforeAggregation="false" datatype="fixed" length="13" scale="2">
      <formula>if("WRTTP"=''57'',"FKBTR",0)</formula>
      </calculatedMeasure>
    </measures>
    Can anyone advice on how I can solve this issue? It might be a issue with my design.
    Thanks a lot.
    Kris
    Message was edited by: Tom Flanagan

    Hi Kris,
    Did you manage to resolve this? I'm getting the same error now. Can you help me out of this...
    Regards,
    Chandra.

  • Trying to access row values in a table which does not have any rows yet

    try{
                             MappedRecord importParams = recordFactory.createMappedRecord("CONTAINER_OF_IMPORT_PARAMS");
                             IFunction function1 = client.getFunctionsMetaData().getFunction(funModGetDet);
                             IStructureFactory strucFact = interaction.retrieveStructureFactory();
                             response.write("try2 :"+pnumber);
                            IRecord structure = (IRecord) strucFact.getStructure(function1.getParameter("PERNR_TAB").getStructure());
                             response.write("try111 :"+pnumber);
                             structure.setString("PERNR",pnumber);
    I am getting the following error "Trying to access row values in a table which does not have any rows yet " where PERNR_TAB is a table containing field "PERNR".
    Can anybody help me out?

    Please re-post this question in the appropriate forum. It seems to have nothing to do with Web Dynpro.

  • OWB 904:  DBLINK user does not have tables in its schema ?

    For an external Oracle source module, there is a dblink that has been defined. But the user that has been used for this dblink does not have any tables/views in its schema. The tables are in a different schema. How do I get acces to those tables through OWB interface and import them ?

    The user needs to be granted access/privileges to the tables in the different schema in order for these tables to be accessed. For oracle tables the user can be given these privileges through Oracle Enterprise Manager.

  • ORA-12060: shape of prebuilt table does not match definition query

    Oracle version: 11G Release 2
    When Iam trying to create a Materialized view with on prebuilt table syntax I am facing the below issue.
    Create table sample_table as select col1,col2,col3 from sample_view;
    table created.
    Create Materialized view sample_table on prebuilt table refresh complete on demand as
    select col1,col2,col3 from sample_view;
    I am getting the below exception
    Error report:
    SQL Error: ORA-12060: shape of prebuilt table does not match definition query
    12060. 00000 - "shape of prebuilt table does not match definition query"
    *Cause:    The number of columns or the type or the length semantics of a
    column in the prebuilt table did not match the materialized
    view definition query.
    *Action:   Reissue the SQL command using BUILD IMMEDIATE, BUILD DEFERRED, or
    ensure that the prebuilt table matches the materialized view
    definition query.
    How to resolve this issue?

    SQL> create table sample_table as
      2  select owner, table_name, tablespace_name
      3  from dba_tables
      4  where rownum < 11;
    Table created.
    SQL> Create Materialized view sample_table on prebuilt table refresh complete on demand as
      2  select owner, table_name, tablespace_name
      3  from dba_tables;
    Materialized view created.What issue?
    Which leads me to ask what version of Oracle you have because we don't know.
    SELECT *
    FROM v$version;

  • Short dump 'Table does not exist in database'

    Hello All,
    When a report is executing it is going to short dump by saying 'Table does not exist in database'. As per the short dump analysis this issue is happening because of the following   Native SQL statement statement :
    Program :  %_T050N0 (This is a dynamic  program generating by SAP )
    Form Name :  DYN_LIC_SEL_TOT
    exec sql performing LOOP_MOVE_WRITE_ISAP.
    select single_plate, itm_num, ctry_code, model_lot,
    lic_hold_flg, qty into :dcat-lplate, :dcat-matnr,
    :dcat-werks, :dcat-charg, :dcat-holdflag,
    :dcat-qty from ZLICENSE_R2 where itm_num   = :p_matnr and
                    model_lot = :p_charg
    endexec.
    As per the customer this issue occurring since they migrated the SAP  back-end data base from Oralce to DB6. Here I felt that ZLICENSE_R2 is not migrated from the  Oracle to DB6. But as per the BASIS Team, even this table was not maintained in Oracle also. If the table was not maintained in the Oracle, this issue should have been there even before migration also.
    Following is the short dump details:
    Short text
        Table does not exist in database.
    What happened?
        The table or view name used does not
        exist in the database.
        The error occurred in the current database connection "DEFAULT".
    What can you do?
        Check the spelling of the table names in your report.
        Note down which actions and inputs caused the error.
        To process the problem further, contact you SAP system
        administrator.
        Using Transaction ST22 for ABAP Dump Analysis, you can look
        at and manage termination messages, and you can also
        keep them for a long time.
    Error analysis
        An exception occurred that is explained in detail below.
        The exception, which is assigned to class 'CX_SY_NATIVE_SQL_ERROR', was not
         caught in
       procedure "DYN_LIC_SEL_TOT" "(FORM)", nor was it propagated by a RAISING
    clause.
    Since the caller of the procedure could not have anticipated that the
    exception would occur, the current program is terminated.
    The reason for the exception is:
    Triggering SQL statement: "select single_plate, itm_num, ctry_code, model_lot,
    lic_hold_flg, qty from ZLICENSE_R2 where itm_num = ? and model_lot = ? "
    Database error code: "-204"
    Could you please  let me know what might be the reason for this issue.
    Many Thanks in Advance.

    Transaction SE11, input ZLICENSE_R2 for table name, and display the table. Did the table display? If not, that is the main problem.
    If the table displays, go to menu item Utilities -> Database Object -> Database Utility
    In the resulting screen, under the "Status" fields, you should see text "Exists in the database." If you don't, then the table exists in the dictionary, but doesn't exist in the database system. Click the "Create database table" button and then you should be able to run the program.
    You may need basis team's help to carryout some of these actions.

  • Advanced Table does not refresh after database level action

    Hi,
    I have a page which has an advanced table. I update the advanced table from the page do some validations, update some DB level columns(also part of advanced table) and see that the changes are saved to the DB but the advanced table does not show the updates done at the DB level.
    I tried clearing the VO Cache and re-executing the VO but still it does not refresh the Advanced table data.
    This is very critical requirement for the client, any inputs will be greatly appreciated.
    Thanks a lot in Advance.
    Here is the code snippet from my CO's processRequest:
    OAApplicationModule am = pageContext.getApplicationModule(webBean);
    OAAdvancedTableBean tblbean = (OAAdvancedTableBean)webBean.findChildRecursive("recasttable");
    if(tblbean!=null)
    tblbean.setRendered(true);
    OAApplicationModule tblam = (OAApplicationModule)am.findApplicationModule("RecastLineAM1");
    tblam.invokeMethod("initQuery");
    tblbean.getTableData();
    Here is my AM - initQuery() code:
    public void initQuery()
    //clearVOCaches("RecastLineEO",true);
    clearVOCaches(null,true);
    getRecastLineVO1().init();
    Here is the VO - init() code:
    public void init()
    System.out.println("****************************executing...");
    OADBTransaction tx = (OADBTransaction) getApplicationModule().getTransaction();
    if (tx.getTransientValue("RECAST_ID") !=null)
    Number recastId = (Number) tx.getTransientValue("RECAST_ID");
    System.out.println("recastId: "+ recastId);
    setWhereClause("RECAST_HDR_ID = :1");
    setWhereClauseParams(null); // Always reset
    setWhereClauseParam(0, recastId);
    executeQuery();
    }

    hi,
    This is how I am calling a DB package. the package does updates on the table. once done I am issueing a commit and requerying the data, however the vo is not getting refreshed.... Can someone point out what am I missing... why is the VO not getting refreshed....
    This is very critical...
    Thanks
    Srini
    public void validateRecast(String respKey)
    OADBTransaction tx = (OADBTransaction)getApplicationModule().getTransaction();
    Number recastId = (Number) tx.getTransientValue("RECAST_ID");
    System.out.println("*********************validateRecast().RecastId: " + recastId);
    OracleCallableStatement ocs = null;
    Connection conn = tx.getJdbcConnection();
    String strOut="", strErr="";
    Number respId = null;
    try
    respId = new Number(respKey);
    catch(Exception e)
    throw new OAException("Invalid Responsibility");
    String stmt = "BEGIN " +
    "GE_RECAST_UTILS_PKG.validate_recast(:1,:2,:3,:4); " +
    "END;";
    try
    ocs = (OracleCallableStatement)conn.prepareCall(stmt);
    ocs.setNUMBER(1,recastId);
    ocs.setNUMBER(2,respId);
    ocs.registerOutParameter(3,OracleTypes.VARCHAR);
    ocs.registerOutParameter(4,OracleTypes.VARCHAR);
    ocs.execute();
    strOut = ocs.getString(3);
    strErr = ocs.getString(4);
    ocs.close();
    System.out.println("Returned with: " + strOut);
    if(strOut.equalsIgnoreCase("ERROR"))
    //throw new OAException(strErr);
    tx.putTransientValue("ERROR",strErr);
    tx.commit();
    getApplicationModule().clearVOCaches("RecastLineEO",true);
    RecastLineVOImpl lineVo = (RecastLineVOImpl)getApplicationModule().findViewObject("RecastLineVO1");
    lineVo.init();
    System.out.println("===============RecastLnId: " +lineVo.first().getAttribute("RecastLnId"));
    System.out.println("===============Product Line: " +lineVo.first().getAttribute("ProductLine"));
    catch(SQLException e)
    tx.rollback();
    if(ocs!=null)
    try
    ocs.close();
    }catch(SQLException e1)
    throw OAException.wrapperException(e1);
    throw OAException.wrapperException(e);
    }

  • My iphone 5 in ios 6.1.4 does not have facetime

    my iphone 5 in ios 6.1.4 does not have facetime, in call or settings. not have icon facetime in anywhere,, please heeelp,

    ramin6007 wrote:
    look, when i make a call, the facetime icon must be show it in there with mute and keypad and speakers and others.... , but there is no facetime icon on there, you think this is problme in ios 6.1.4?
    NO. It is a problem caused by the fact that the phone came from a country where FaceTime is illegal, as you have been told several times. There is no way to add FaceTime.

Maybe you are looking for

  • Multiple AX's on the same Wired Network

    Need a little advice. I have 6 buildings on my campus, all wired via ethernet. I have a single AX (identical model) installed in each building. When people travel from building to building they have to connect to that buildings AX. Is it possible to

  • Speckles on external Samsung Display when connected to my Macbook Pro

    When I connect my MacBook Pro to my Samsung SyncMaster 2693HM monitor via a mini display port DVI adapter, I get loads of speckles on the display. They vary in colour depending on the display colour and are driving me mad! Webcam video of this effect

  • Security Certificate Error

    Hi. I have a Toshiba Notebook. For the last 6 months i have been getting this message on a few safe websites that i normally visit :- "There is a problem with this website's security certificate" The security certificate presented by this website was

  • Does Air 1.5 support ExternalInterface?

    I'm attempting a solution on Air + Ajax (flex-ajax-bridge) + LCDS, which requires the support of flash.external package. Not sure if the new version, or, when, will support the flex-ajax-bridge be supported. Thanks.

  • Value restriction in COGI

    Hi all, We want to restrict user by specifying certain limit for value of transactions carried outin COGI FOr example up to Rs 20000. how to restrict user by allowing goods movement with errors by value of transaction? Regards, Milind.