Showing dimension data without a fact record

To explain my requirement, lets say I have 3 tables
City(Dimension shows all city information)
Day(Date Dimension with all dates for some years(past and future))
Sales(Fact table showing all sales measures, multiple records for a city and day)
A sample query to retreive data i need
select city.name,day.name,SUM(sales.amount) amount
from City,Day,Sales
where city.code = sales.city_code
and day.date_value = sales.transaction_date
group by city.name,day.name
Now if there is no sales transaction for a particular day and city, still i want to show the day and city with amount as 0
The solution i can think of is doing a Cartesian on city and day tables use it as an inline view and then do an outer join with sales table.
Is there any better way to achieve this, using some simple query logic or any advanced feature?
Any inputs on the above would be of great help.
Thanks
Kranthi
Edited by: user12033529 on Sep 12, 2010 6:57 AM

Hi, Kranthi,
Welcome to the forum!
Whenever you have a proiblem, please post your version of Oracle (e.g. 10.2.0.3.0); a little sample data in a form people can use to re-create the problem (e.g.
CREATE TABLE     city
(     city_id          NUMBER (6)     PRIMARY KEY
,     city_name     VARCHAR2 (20)     NOT NULL
INSERT INTO CITY (city_id, city_name) VALUES (1, 'Asheville');
INSERT INTO CITY (city_id, city_name) VALUES (2, 'Bryson City');
INSERT INTO CITY (city_id, city_name) VALUES (3, 'Cherokee');
CREATE TABLE     day
(     dt     DATE     PRIMARY KEY
INSERT INTO day (dt)
SELECT      DATE '2010-09-10' + LEVEL
FROM     dual
CONNECT BY     LEVEL     <= 3;
CREATE TABLE     sales
(     sales_id     NUMBER (6)     PRIMARY KEY
,     city_id          NUMBER (6)
,     sales_dt     DATE
,     amount          NUMBER (9)
INSERT INTO sales (sales_id, city_id, sales_dt, amount) VALUES (11, 1, DATE '2010-09-01',  10);
INSERT INTO sales (sales_id, city_id, sales_dt, amount) VALUES (12, 1, DATE '2010-09-11',  20);
INSERT INTO sales (sales_id, city_id, sales_dt, amount) VALUES (13, 1, DATE '2010-09-12',  40);
INSERT INTO sales (sales_id, city_id, sales_dt, amount) VALUES (14, 1, DATE '2010-09-12',  80);
INSERT INTO sales (sales_id, city_id, sales_dt, amount) VALUES (15, 2, DATE '2010-09-11', 160);
INSERT INTO sales (sales_id, city_id, sales_dt, amount) VALUES (16, 2, DATE '2010-09-11', 320);
COMMIT;) and the results you want from that data (e.g.
CITY_NAME            DT          TOTAL_AMOUNT
Asheville            11-Sep-2010           20
Asheville            12-Sep-2010          120
Asheville            13-Sep-2010            0
Bryson City          11-Sep-2010          480
Bryson City          12-Sep-2010            0
Bryson City          13-Sep-2010            0
Cherokee             11-Sep-2010            0
Cherokee             12-Sep-2010            0
Cherokee             13-Sep-2010            0).
user12033529 wrote:
... The solution i can think of is doing a Cartesian on city and day tables use it as an inline view and then do an outer join with sales table.
Is there any better way to achieve this, using some simple query logic or any advanced feature?For this particular problem, I think that is the best way.
There is another way: the SELECT ... PARTITION BY feature (also know as Query Partitioning ).
For example:
WITH     all_cities     AS
     SELECT     c.city_name
     ,     s.sales_dt
     ,     s.amount
     FROM               sales     s     PARTITION BY (city_id)
     RIGHT OUTER JOIN     city     c     ON     s.city_id     = c.city_id
SELECT     a.city_name
,     d.dt
,     NVL ( SUM (a.amount)
         , 0
         )          AS total_amount
FROM               all_cities     a     PARTITION BY (city_name, sales_dt)
RIGHT OUTER JOIN     day          d     ON     a.sales_dt     = d.dt
GROUP BY     a.city_name
,          d.dt
ORDER BY     a.city_name
,          d.dt
;It seems like you should be able to do this without a sub-query, but I don't know how.
Query Partitioning is really useful when you want to include only some dimensions that are actually present in the fact table. For example, if you wanted to show only the cities that actually had sales (that is, in this example, if you didn't want to include Cherokee), but you do want all dates in the day table for each city.
Query Partitioning was new in Oracle 10. If you have an older version, I think a cross-join, like you originally suggested, is the only reasonable way.
Edited by: Frank Kulash on Sep 12, 2010 1:14 PM

Similar Messages

  • 11g Cube not showing any data with no Rejected records

    Hi David ,
    Strangely one of my 11g Cube is not showing data from today as it is showing all records rejected . However when I lookup Rejected records table I didn't find any records .Not sure what is happening . When I want to peep out the AWM queries from CUBE_BUILD_LOG and ran to the database in the AWM schema the records are retruning perfectly fine . I wonder same query is firing during Cube load but without any data ? My Cube build script has only LOAD and Aggregate .
    after maintain My dimensions data are looking fine but no data populated after Cube maintenance . My MV switch off across all dimensions and cubes .
    I navigate to CUBE_OPERATION_LOG and not able to comprehend about the content.
    Any advice ?
    Thanks and Regards,
    DxP

    Hi David ,
    To be very frank today is very bad day ... Please see below my observation:
    Executed below to make sure that no key values in dimension is missing but present in fact . All below query returns no row.
    select distinct owner_postn_wid from w_synm_rx_t_f
    minus
    select distinct row_wid from postn_dh
    select distinct payer_type_Wid from w_synm_rx_t_f
    minus
    select distinct row_wid from wc_ins_plan_dh
    select distinct market_wid from w_synm_rx_t_f
    minus
    select distinct row_wid from w_product_dh
    select distinct period_day_wid from w_synm_rx_t_f
    minus
    select distinct row_wid from w_daytime_D
    select distinct contact_wid from w_synm_rx_t_f
    intersect
    select distinct row_wid from w_person_d
    select distinct X_TERR_TYPE_WID from w_synm_rx_t_f
    minus
    select distinct row_wid from W_LOV_D
    ============================
    Below returns count of 0 rows : ensure no NULL present
    select count(1) from w_synm_rx_t_f where contact_wid is null;
    select count(1) from w_synm_rx_t_f where owner_postn_wid is null;
    select count(1) from w_synm_rx_t_f where payer_type_Wid is null;
    select count(1) from w_synm_rx_t_f where period_day_wid is null;
    select count(1) from w_synm_rx_t_f where X_TERR_TYPE_WID is null;
    select count(1) from w_synm_rx_t_f where market_wid is null;
    +++++++++++++++++++++++++++++++++
    Cube Build Log has below entry:
    796     0     STARTED     CLEAR VALUES     MKT_SLS_CUBE     CUBE          NNOLAP     NN_OLAP_POC     P14:JAN2010          17-AUG-11 07.12.08.267000000 PM +05:30          JAVA     1          C     47141     67     0     1     
    796     0     COMPLETED     CLEAR VALUES     MKT_SLS_CUBE     CUBE          NNOLAP     NN_OLAP_POC     P14:JAN2010          17-AUG-11 07.12.08.267000000 PM +05:30          JAVA     1          C     47141     67     0     2     
    796     0     STARTED     LOAD     MKT_SLS_CUBE     CUBE          NNOLAP     NN_OLAP_POC     P14:JAN2010          17-AUG-11 07.12.08.283000000 PM +05:30          JAVA     1          C     47142     68     0     1     
    796     0     SQL     LOAD     MKT_SLS_CUBE     CUBE     "<SQL>
    <![CDATA[
    SELECT /*+ bypass_recursive_check cursor_sharing_exact no_expand no_rewrite */
    T16_ROW_WID ALIAS_127,
    T13_ROW_WID ALIAS_128,
    T10_ROW_WID ALIAS_129,
    T7_ROW_WID ALIAS_130,
    T4_ROW_WID ALIAS_131,
    T1_ROW_WID ALIAS_132,
    SUM(T20_MKT_TRX) ALIAS_133,
    SUM(T20_MKT_NRX) ALIAS_134
    FROM
    SELECT /*+ no_rewrite */
    T1."CONTACT_WID" T20_CONTACT_WID,
    T1."MARKET_WID" T20_MARKET_WID,
    T1."OWNER_POSTN_WID" T20_OWNER_POSTN_WID,
    T1."PAYER_TYPE_WID" T20_PAYER_TYPE_WID,
    T1."PERIOD_DAY_WID" T20_PERIOD_DAY_WID,
    T1."MKT_NRX" T20_MKT_NRX,
    T1."MKT_TRX" T20_MKT_TRX,
    T1."X_TERR_TYPE_WID" T20_X_TERR_TYPE_WID
    FROM
    NN_OLAP_POC."W_SYNM_RX_T_F" T1 )
    T20,
    SELECT /*+ no_rewrite */
    T1."ROW_WID" T16_ROW_WID
    FROM
    NN_OLAP_POC."W_DAYTIME_D" T1 )
    T16,
    SELECT /*+ no_rewrite */
    T1."ROW_WID" T13_ROW_WID
    FROM
    NN_OLAP_POC."W_PERSON_D" T1 )
    T13,
    SELECT /*+ no_rewrite */
    T1."ROW_WID" T10_ROW_WID
    FROM
    NN_OLAP_POC."WC_INS_PLAN_DH" T1 )
    T10,
    SELECT /*+ no_rewrite */
    T1."ROW_WID" T7_ROW_WID
    FROM
    NN_OLAP_POC."W_LOV_D" T1 )
    T7,
    SELECT /*+ no_rewrite */
    T1."ROW_WID" T4_ROW_WID
    FROM
    NN_OLAP_POC."POSTN_DH" T1 )
    T4,
    SELECT /*+ no_rewrite */
    T1."ROW_WID" T1_ROW_WID
    FROM
    NN_OLAP_POC."W_PRODUCT_DH" T1 )
    T1
    WHERE
    ((T20_PERIOD_DAY_WID = T16_ROW_WID)
    AND (T16_ROW_WID = 20100101)
    AND (T20_CONTACT_WID = T13_ROW_WID)
    AND (T20_PAYER_TYPE_WID = T10_ROW_WID)
    AND (T7_ROW_WID = T20_X_TERR_TYPE_WID)
    AND (T20_OWNER_POSTN_WID = T4_ROW_WID)
    AND (T20_MARKET_WID = T1_ROW_WID)
    AND ((T20_PERIOD_DAY_WID) IN ((20100107.000000) , (20100106.000000) , (20100128.000000) , (20100124.000000) , (20100121.000000) , (20100118.000000) , (20100115.000000) , (20100109.000000) , (20100125.000000) , (20100114.000000) , (20100111.000000) , (20100110.000000) , (20100104.000000) , (20100101.000000) , (20100129.000000) , (20100123.000000) , (20100117.000000) , (20100113.000000) , (20100108.000000) , (20100131.000000) , (20100120.000000) , (20100116.000000) , (20100119.000000) , (20100105.000000) , (20100102.000000) ,
    (20100130.000000) , (20100127.000000) , (20100122.000000) , (20100112.000000) , (20100103.000000) , (20100126.000000) ) ) )
    GROUP BY
    (T1_ROW_WID, T4_ROW_WID, T7_ROW_WID, T10_ROW_WID, T13_ROW_WID, T16_ROW_WID)
    ORDER BY
    T1_ROW_WID ASC NULLS LAST ,
    T4_ROW_WID ASC NULLS LAST ,
    T7_ROW_WID ASC NULLS LAST ,
    T10_ROW_WID ASC NULLS LAST ,
    T13_ROW_WID ASC NULLS LAST ,
    T16_ROW_WID ASC NULLS LAST ]]>/>
    </SQL>"     NNOLAP     NN_OLAP_POC     P14:JAN2010          17-AUG-11 07.12.08.627000000 PM +05:30          JAVA     1     MAP1     C     47142     68     0     2     
    796     0     COMPLETED     LOAD     MKT_SLS_CUBE     CUBE     "<CubeLoad
    LOADED="0"
    REJECTED="4148617"/>"     NNOLAP     NN_OLAP_POC     P14:JAN2010          17-AUG-11 07.12.40.486000000 PM +05:30          JAVA     1          C     47142     68     0     3     
    796     0     STARTED     UPDATE     MKT_SLS_CUBE     CUBE          NNOLAP     NN_OLAP_POC     P14:JAN2010          17-AUG-11 07.12.40.501000000 PM +05:30          JAVA     1          C     47143     69     0     1     
    796     0     COMPLETED     UPDATE     MKT_SLS_CUBE     CUBE          NNOLAP     NN_OLAP_POC     P14:JAN2010          17-AUG-11 07.12.40.548000000 PM +05:30          JAVA     1          C     47143     69     0     2     
    +++++++++++++++++
    You can observer clear rejection of 4 million rows ... Ran the above query which returns my data successfully.
    Look out to CUBE_REJECTED records take the sample record and put into the above query it is returning the data fine with my measures and dimension WID's :(PLEASE SEE BELOW THE FILTERS on ROW_WID)
    =========================
    SELECT /*+ bypass_recursive_check cursor_sharing_exact no_expand no_rewrite */
    T16_ROW_WID ALIAS_127,
    T13_ROW_WID ALIAS_128,
    T10_ROW_WID ALIAS_129,
    T7_ROW_WID ALIAS_130,
    T4_ROW_WID ALIAS_131,
    T1_ROW_WID ALIAS_132,
    SUM(T20_MKT_TRX) ALIAS_133,
    SUM(T20_MKT_NRX) ALIAS_134
    FROM
    SELECT /*+ no_rewrite */
    T1."CONTACT_WID" T20_CONTACT_WID,
    T1."MARKET_WID" T20_MARKET_WID,
    T1."OWNER_POSTN_WID" T20_OWNER_POSTN_WID,
    T1."PAYER_TYPE_WID" T20_PAYER_TYPE_WID,
    T1."PERIOD_DAY_WID" T20_PERIOD_DAY_WID,
    T1."MKT_NRX" T20_MKT_NRX,
    T1."MKT_TRX" T20_MKT_TRX,
    T1."X_TERR_TYPE_WID" T20_X_TERR_TYPE_WID
    FROM
    NN_OLAP_POC."W_SYNM_RX_T_F" T1 )
    T20,
    SELECT /*+ no_rewrite */
    T1."ROW_WID" T16_ROW_WID
    FROM
    NN_OLAP_POC."W_DAYTIME_D" T1 )
    T16,
    SELECT /*+ no_rewrite */
    T1."ROW_WID" T13_ROW_WID
    FROM
    NN_OLAP_POC."W_PERSON_D" T1 )
    T13,
    SELECT /*+ no_rewrite */
    T1."ROW_WID" T10_ROW_WID
    FROM
    NN_OLAP_POC."WC_INS_PLAN_DH" T1 )
    T10,
    SELECT /*+ no_rewrite */
    T1."ROW_WID" T7_ROW_WID
    FROM
    NN_OLAP_POC."W_LOV_D" T1 )
    T7,
    SELECT /*+ no_rewrite */
    T1."ROW_WID" T4_ROW_WID
    FROM
    NN_OLAP_POC."POSTN_DH" T1 )
    T4,
    SELECT /*+ no_rewrite */
    T1."ROW_WID" T1_ROW_WID
    FROM
    NN_OLAP_POC."W_PRODUCT_DH" T1 )
    T1
    WHERE
    ((T20_PERIOD_DAY_WID = T16_ROW_WID)
    AND (T16_ROW_WID = 20100101)
    AND (T20_CONTACT_WID = T13_ROW_WID)
    AND (T20_PAYER_TYPE_WID = T10_ROW_WID)
    AND (T7_ROW_WID = T20_X_TERR_TYPE_WID)
    AND (T20_OWNER_POSTN_WID = T4_ROW_WID)
    AND (T20_MARKET_WID = T1_ROW_WID)
    AND T13_ROW_WID = 255811
    AND T7_ROW_WID = 122
    AND T4_ROW_WID =3
    AND T1_ROW_WID=230
    AND T10_ROW_WID = 26
    AND ((T20_PERIOD_DAY_WID) IN ((20100107.000000) , (20100106.000000) , (20100128.000000) , (20100124.000000) , (20100121.000000) , (20100118.000000) , (20100115.000000) , (20100109.000000) , (20100125.000000) , (20100114.000000) , (20100111.000000) , (20100110.000000) , (20100104.000000) , (20100101.000000) , (20100129.000000) , (20100123.000000) , (20100117.000000) , (20100113.000000) , (20100108.000000) , (20100131.000000) , (20100120.000000) , (20100116.000000) , (20100119.000000) , (20100105.000000) , (20100102.000000) ,
    (20100130.000000) , (20100127.000000) , (20100122.000000) , (20100112.000000) , (20100103.000000) , (20100126.000000) ) ) )
    GROUP BY
    (T1_ROW_WID, T4_ROW_WID, T7_ROW_WID, T10_ROW_WID, T13_ROW_WID, T16_ROW_WID)
    ORDER BY
    T1_ROW_WID ASC NULLS LAST ,
    T4_ROW_WID ASC NULLS LAST ,
    T7_ROW_WID ASC NULLS LAST ,
    T10_ROW_WID ASC NULLS LAST ,
    T13_ROW_WID ASC NULLS LAST ,
    T16_ROW_WID ASC NULLS LAST
    =================================
    THE XML export of CUBE as below:
    <!DOCTYPE Metadata [
    <!ENTITY % BIND_VALUES PUBLIC "OLAP BIND VALUES" "OLAP METADATA">
    %BIND_VALUES;
    ]>
    <Metadata
    Version="1.2"
    MinimumDatabaseVersion="11.2.0.1">
    <Cube
    ETViewName="MKT_SLS_CUBE_VIEW"
    Name="MKT_SLS_CUBE">
    <Measure>
    <BaseMeasure
    SQLDataType="NUMBER"
    ETMeasureColumnName="TRX"
    Name="TRX">
    <Description
    Type="LongDescription"
    Language="AMERICAN"
    Value="TRX">
    </Description>
    <Description
    Type="ShortDescription"
    Language="AMERICAN"
    Value="TRX">
    </Description>
    <Description
    Type="Description"
    Language="AMERICAN"
    Value="TRX">
    </Description>
    </BaseMeasure>
    </Measure>
    <Measure>
    <BaseMeasure
    SQLDataType="NUMBER"
    ETMeasureColumnName="NRX"
    Name="NRX">
    <Description
    Type="LongDescription"
    Language="AMERICAN"
    Value="NRX">
    </Description>
    <Description
    Type="ShortDescription"
    Language="AMERICAN"
    Value="NRX">
    </Description>
    <Description
    Type="Description"
    Language="AMERICAN"
    Value="NRX">
    </Description>
    </BaseMeasure>
    </Measure>
    <CubeMap
    Name="MAP1"
    IsSolved="False"
    Query="W_SYNM_RX_T_F"
    WhereClause="W_DAYTIME_D.ROW_WID = 20100101">
    <MeasureMap
    Name="TRX"
    Measure="TRX"
    Expression="W_SYNM_RX_T_F.MKT_TRX">
    </MeasureMap>
    <MeasureMap
    Name="NRX"
    Measure="NRX"
    Expression="W_SYNM_RX_T_F.MKT_NRX">
    </MeasureMap>
    <CubeDimensionalityMap
    Name="TIME"
    Dimensionality="TIME"
    MappedDimension="TIME.CALENDER.MONTHLY"
    JoinCondition="W_SYNM_RX_T_F.PERIOD_DAY_WID = W_DAYTIME_D.ROW_WID"
    Expression="W_DAYTIME_D.ROW_WID">
    </CubeDimensionalityMap>
    <CubeDimensionalityMap
    Name="CUSTOMER"
    Dimensionality="CUSTOMER"
    MappedDimension="CUSTOMER.CUSTOMER_HIERARCHY.DETAIL_LEVEL"
    JoinCondition="W_SYNM_RX_T_F.CONTACT_WID = W_PERSON_D.ROW_WID"
    Expression="W_PERSON_D.ROW_WID">
    </CubeDimensionalityMap>
    <CubeDimensionalityMap
    Name="INS_PLAN_DH"
    Dimensionality="INS_PLAN_DH"
    MappedDimension="INS_PLAN_DH.INS_PLAN.DETAIL"
    JoinCondition="W_SYNM_RX_T_F.PAYER_TYPE_WID = WC_INS_PLAN_DH.ROW_WID"
    Expression="WC_INS_PLAN_DH.ROW_WID">
    </CubeDimensionalityMap>
    <CubeDimensionalityMap
    Name="LIST_OF_VALUES"
    Dimensionality="LIST_OF_VALUES"
    MappedDimension="LIST_OF_VALUES.LOV_HIERARCHY.DETAIL_LEVEL"
    JoinCondition="W_LOV_D.ROW_WID = W_SYNM_RX_T_F.X_TERR_TYPE_WID"
    Expression="W_LOV_D.ROW_WID">
    </CubeDimensionalityMap>
    <CubeDimensionalityMap
    Name="POSITIONDH"
    Dimensionality="POSITIONDH"
    MappedDimension="POSITIONDH.POST_HIER.DETAIL"
    JoinCondition="W_SYNM_RX_T_F.OWNER_POSTN_WID = POSTN_DH.ROW_WID"
    Expression="POSTN_DH.ROW_WID">
    </CubeDimensionalityMap>
    <CubeDimensionalityMap
    Name="PRODH"
    Dimensionality="PRODH"
    MappedDimension="PRODH.PRODHIER.DETAILLVL"
    JoinCondition="W_SYNM_RX_T_F.MARKET_WID = W_PRODUCT_DH.ROW_WID"
    Expression="W_PRODUCT_DH.ROW_WID">
    </CubeDimensionalityMap>
    </CubeMap>
    <Organization>
    <AWCubeOrganization
    MVOption="NONE"
    SparseType="COMPRESSED"
    MeasureStorage="SHARED"
    NullStorage="MV_READY"
    CubeStorageType="NUMBER"
    PrecomputePercent="35"
    PrecomputePercentTop="0"
    PartitionLevel="TIME.CALENDER.MONTHLY"
    AW="&AW_NAME;">
    <SparseDimension
    Name="TIME"/>
    <SparseDimension
    Name="CUSTOMER"/>
    <SparseDimension
    Name="INS_PLAN_DH"/>
    <SparseDimension
    Name="LIST_OF_VALUES"/>
    <SparseDimension
    Name="POSITIONDH"/>
    <SparseDimension
    Name="PRODH"/>
    <DefaultBuild>
    <![CDATA[BUILD SPEC LOAD_AND_AGGREGATE
      LOAD NO SYNCH,
      SOLVE
    )]]>
    </DefaultBuild>
    </AWCubeOrganization>
    </Organization>
    <Dimensionality
    Name="TIME"
    ETKeyColumnName="TIME"
    Dimension="TIME">
    </Dimensionality>
    <Dimensionality
    Name="CUSTOMER"
    ETKeyColumnName="CUSTOMER"
    Dimension="CUSTOMER">
    </Dimensionality>
    <Dimensionality
    Name="INS_PLAN_DH"
    ETKeyColumnName="INS_PLAN_DH"
    Dimension="INS_PLAN_DH">
    </Dimensionality>
    <Dimensionality
    Name="LIST_OF_VALUES"
    ETKeyColumnName="LIST_OF_VALUES"
    Dimension="LIST_OF_VALUES">
    </Dimensionality>
    <Dimensionality
    Name="POSITIONDH"
    ETKeyColumnName="POSITIONDH"
    Dimension="POSITIONDH">
    </Dimensionality>
    <Dimensionality
    Name="PRODH"
    ETKeyColumnName="PRODH"
    Dimension="PRODH">
    </Dimensionality>
    <Description
    Type="LongDescription"
    Language="AMERICAN"
    Value="MKT SLS CUBE">
    </Description>
    <Description
    Type="ShortDescription"
    Language="AMERICAN"
    Value="MKT SLS CUBE">
    </Description>
    <Description
    Type="Description"
    Language="AMERICAN"
    Value="MKT SLS CUBE">
    </Description>
    <ConsistentSolve>
    <![CDATA[SOLVE
      SUM
        MAINTAIN COUNT
         OVER ALL
    )]]>
    </ConsistentSolve>
    </Cube>
    </Metadata>
    +++++++++++++++++++++++
    I dropped the AW and create new from exported XML and maintain all dimensions and then rebuild . Still have the issue :(
    Any thing you can hightlight from above ?
    Thanks,
    DxP
    Also I sustpect whethere it is a issue due to below error caused when I click on one of my Position_Hier view from AWM : even if I select that view it is throwing the error in SQL developer after displaying first couple of rows (while page down)
    java.sql.SQLException: ORA-33674: Data block size 63 exceeds the maximum size of 60 bytes.
    at oracle.olap.awm.util.jdbc.SQLWrapper.execute(Unknown Source)
    at oracle.olap.awm.querydialog.PagedQueryDialog$1.construct(Unknown Source)
    at oracle.olap.awm.ui.SwingWorker$2.run(Unknown Source)
    at java.lang.Thread.run(Thread.java:595)
    Edited by: e_**** on Aug 17, 2011 8:41 PM

  • PDF files don't show dimensions data

    I work in a printing office and we have a file server full of PDF files (made with Illustrator CS1-> CS4). Before, we used a custom search program to search for PDF files but we came to the conclusion that it would be handier to use Bridge to search, because we'd get a thumbnail AND get the additional metadata (allowing us to sort according to size, colours, etc.)
    The problem is, when I display a list of all our PDFs in Bridge, the "Dimensions in cm" in Metadata is empty! The only dimensions I see, are in pixels which, as you can imagine, is useless to us. Despite this, Acrobat correctly shows the file size in milimeters as you can see below (left screenshot). It remains a mystery to me why Bridge (made by the same company!) isn't capable of displaying this info which acrobat can clearly extract.
    Is there a way to fix this? It seems like a glaring oversight if not - the option is clearly there but none of our PDFs show it.

    I'm not sure i know what you mean because there's nothing to configure there. All you can do, is tick boxes and the dimension boxes are all ticked - you can see so in the screenshot otherwise they wouldn't show up. I also unticked "hide empty fields" because otherwise, it won't show them either. Yesterday I went through the entire list to see if there was more meta data that contained dimensions but there's none.

  • Maintain Dimension Data withn the Current Record With Highdata

    Hi,
    I have following value in the Product Dimension :
    Product_SK Product_code PROD_PRICE REC_END_DATE
    ========== ============ ========== ============
    1001 P001 12.3 20-JAN-2005
    1002 P001 15.5 15-MAR-2007
    1003 P001 17.0 20-JUL-2009
    1004 P001 25 31-MAR-9999
    1005 P002 20.2 20-FEB-2001
    1006 P002 23.2 20-FEB-2004
    1007 P002 22.5 31-DEC-9999
    I want to maintain the dimension table with the only high record end data value(31-DEC-9999). Is there any filtering condition to maintain the Dimension like building the CUBE. During CUBE build there is an option "Filter ". Is there any process to give any filter condition in the Dimension build ?

    If you are not using materialized views, then an easy answer is to map the dimension to a view on top of the table. But as it happens you can also apply a filter on a dimension. See the old thread "Dimension Mapping in 11g. Can Where clause be used to filter source table?" for details.
    Re: Dimension Mapping in 11g. Can Where clause be used to filter source table?

  • P6V7 - Show Finish Date without the year

    I have a project with specific milestone dates. To the left of the each milestone in the Gantt, I expect to show the milestone date in terms of DD-MM and ommit the year.
    When selecting to show the finish date, I get the full date. Is there a way to truncate what is being shown?

    You've been given one solution which is to generate your list of dates and outer join to that.
    It's also possible you could make use a partition outer join (introduced in Oracle 10).
    http://www.oracle-developer.net/display.php?id=312
    Outlines a couple of possible paths.

  • Merging data without set text framing - creating continuous, flowing/wrapping records

    Hi.
    Has anyone figured out a way to merge data without confining each record to set text frame size, hence creating a continuous flow or wrapping of records?
    I need to put in an image, followed by a text description, so I can't merge all the text into one text box.
    I can fit frame to text, then align with set gap, but this is way to time consuming and ineffective when creating a doc of several 100 pages.

    OysterBoy84 wrote:
    Hi.
    Has anyone figured out a way to merge data without confining each record to set text frame size, hence creating a continuous flow or wrapping of records?
    I need to put in an image, followed by a text description, so I can't merge all the text into one text box.
    I can fit frame to text, then align with set gap, but this is way to time consuming and ineffective when creating a doc of several 100 pages.
    Searching Google for "indesign script combine all stories" without quotes turns up a number of links. There's a link to InDesign Secrets that describes a free script that may solve your problem.
    HTH
    Regards,
    Peter
    Peter Gold
    KnowHow ProServices

  • How can I get a date without the hour from sql server 2000 ?

    hellou!
    I have a JTable, and one of it's columns has to show a date. This date i have to show is specified as datetime on the Sql Server 2000 database where I have to take the data.
    the query of the dataset attached to the JTable is something like "select * from Table".
    The problem is that the JTable column that displays the date shows the date and the hour, for example:
    7/10/04 0:00:00
    and I need to show the date without the hour, only the 7/10/04. Can anyone tell me how to do that?
    thank you very much! : )

    The easiest way to format a date is with java.text.SimpleDateFormat. When creating it you pass a format string which can be used to parse or format date objects.
    SimpleDateFormat formater = new SimpleDateFormat( "MM/dd/yyyy" );
    // Get date objects directly from sql
    Date foundDate = result.getDate( 1 );  //where result is the ResultSet and 1 is the date column
    String formatedDate = formater.format( foundDate );Now the JTable's table model can be adjusted to store a formated String instead of a Date. If for some reason it is required to store the value as a Date overload the table model to return the formated string when getValueAt is called.

  • Merging data without MobileMe

    I have a MacBook, an iMac and a iPhone 3Gs. Currently, I use MobileMe to sync my calendars and contacts over all three devices, but it's time to renew and frankly, it's a bit above my budget.
    I know that if I want to merge things that I've entered into my iPhone, I can simply do a physical sync with the iMac (the computer that's holding all my iTunes) but I don't sync with the laptop/MacBook because 1) I don't want to confuse the phone and 2) it doesn't have any of my iTunes library. But I do need my contacts and my calendars to be merged, so I'm trying to figure out how to do that without having to physically type in any new data.
    Any tips?

    OysterBoy84 wrote:
    Hi.
    Has anyone figured out a way to merge data without confining each record to set text frame size, hence creating a continuous flow or wrapping of records?
    I need to put in an image, followed by a text description, so I can't merge all the text into one text box.
    I can fit frame to text, then align with set gap, but this is way to time consuming and ineffective when creating a doc of several 100 pages.
    Searching Google for "indesign script combine all stories" without quotes turns up a number of links. There's a link to InDesign Secrets that describes a free script that may solve your problem.
    HTH
    Regards,
    Peter
    Peter Gold
    KnowHow ProServices

  • 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 ghosh 

    Hi 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

  • Deleted bridge cc. Now I need to reinstall but it shows up in my creative cloud app as up to date without the option to download. How do I access it to download and reinstall?

    In an effort to correct an issue with my creative cloud, I deleted bridge cc. Now I need to reinstall but it shows up in my creative cloud app as up to date without the option to download. How do I access it to download and reinstall?

    Bmullinax please see CC desktop lists applications as "Up to Date" when not installed - http://helpx.adobe.com/creative-cloud/kb/aam-lists-removed-apps-date.html for information on how to reinstall Bridge CC.

  • Filters on non-conforming dimensions when fetching data from multiple facts

    Hi,
    I would like to confirm my understanding about how OBI fetches data from multiple facts. I have set up the BMM layer. Through Answers I am getting data from multiple facts as expected. However, is it necessary to base filters only on the conforming dimensions? If I do so, I am getting the correct data. But if I filter data on non-conforming dimensions, then I am getting more data which I am not expecting.
    Suppose, Fact1, Fact2 and Fact3 share a CommonDim dimension. If I have a filter on CommonDim, then the filter is used on the three fact tables. However, if I filter data based on Fact1's DimTwo which is not shared by Fact2 and Fact3 and I have measurements from all the fact tables, then from the SQL generated, it seems that OBI is fecting all data from Fact2 and Fact3 and data from Fact1 where DimTwo = 'SomeValue'. Then it seems to be merging the data from the three result sets.
    Is this expected, esp. a scenario where a filter is based on a non-conforming dimension (DimTwo in the example)? Have I missed anything? What do I need to do, if I want to return rows from Fact1 based on DimTwo's filter and then if there is data on Fact2 and Fact3 based on the value in CommonDim corresponding to DimTwo's filter?
    Please let me know.
    Thanks and regards,
    Manoj.
    PS.: I have got a link now which is http://obibb.wordpress.com/2010/06/06/multiple-fact-reporting-on-non-conforming-dimensions-part-ii/
    Edited by: mandix on 25-Oct-2011 12:01

    Hi
    The problem you describe is similar to mine (I wrote several threads ago).
    That is, if there is a non-conformed dimension in a report then the column from the fact table which is not connected with those non-conformed dimensions containes zeros or blanks.
    Was this problem solved? I didn't quite catch one of previuos messages... If you can please repeat it more detailed.
    What I tried to do is to set Total level in the Content tab (LTS properties). In this example - I could set Total level to JOBS in the plan type dimension. But it didn't help.
    So if you know what to do then please describe it here...

  • Showing Dimension counts for record results.

    Hi experts,
    In my application, I want to show dimension counts for record results. Support results contains 50 records, Out of 50 records, with Color=Red has 15 records. Therefore I want to display the Red Color results as -
    Color:
    Red (15)
    Silver(5)
    Like wise for other dimensions as well. As per the Endeca documentations, I guess "Drs" parameter is there to achieve it. If this is true then can you guys explain how the required functionality can be achieved using endea_jspref application . Or using presentation api, what kind of code should be written.
    Any input/ideas will be highly appreciated.
    Regards,
    Hoque

    Hi,
    in my code level i used like below to display num of records
    if you use RefinementMenu cartridge(in jsp RefinementMenu.jsp) you will get refinements in that content.
    <c:forEach items="${content.refinements}" var="refinement">
    <li>
    <dsp:include page="/renderNavLink.jsp">
    <dsp:param name="navAction" value="${refinement}"/>
    <dsp:param name="text" value="${refinement.label} (${refinement.count}) "/>
    </dsp:include>
    </li>
    </c:forEach>
    in above ${refinement.label} :: means the lable name(color:red,silver) and
    (${refinement.count}) :: means the no of records it has( red(10), silver(12))
    in renderlink.jsp i used to render content or navigation based on your click(red or silver)
    i think so it may help you from endeca Stuff.
    Regards
    Y.V.L

  • Dimension Table Larger Than Fact Table

    Hi,
    I need a solution to deal with a situation in my project. The master data for the Business Partner is close to 20 Mil and growing. The overall records in the fact table is only 1.5 to 2 Mil.
    I am looking for suggestions that can help me in designing a optimal data model which does not hinder the reporting performance. Reporting with 20 Mil records in Dimension and 10 times less data in the fact table is not common occurance. I guess this is a scenario that the retail Industries would have experinced due to the huge customer base.
    P.S: Segregation of the dimension is something that will not help. And its currently a line item dimension. So any thoughts apart from these will be highly appreciative.
    Thanks!
    Sajan R

    Hi Sajan Rajagopal ,
    I think u need to just go through the dimensions u had created so trat u can delete unnecessary infoobjects assigned to tat dimension and can build a dimension whcih has only those of master data.
    For Ex...for the material master when we checked we had huge amount of data more than ur's so we had made diffenet dimenons for material and batch and then we had tried to load the data for tat dimensions and it was working fine and also data loads also getting loaded fine..
    Please check ur dimensions once so tat required ones are defined correctly in the dimensions

  • Few dimension values used in FACT tables.

    Hello all,
    We are trying to know if somebody faced this issue earlier. We have dimension tables containing 5 million records, but the fact table uses hardly 30k of these dimension values. The fact table contains 350 million records, so is there any way to improve the performance of the query in such a scenario, where hardly 20% of dimension values are actually used by the FACT tables.
    Thanks and Regards,
    Upendra

    nilanjan chatterjee wrote:
    Hi,
    >
    > The data for the parent members should be available in the SQL tables.
    > For example, 2011.TOTAL is parent member. You should not have any data for this member in your database. If it is there, it might have come somehow (may be an import). But this is not right. You might want to remove these records. But be sure that you dont delete the records for the base level members.
    >
    > Hope this helps.
    I guess you meant should not, right ?

  • Not exists / union - two dimensions nothing in the fact folder, possible???

    What I am trying to do is (in functional terms) produce an invoices on hold report.
    This has two distinct characteristics - some invoices are coding but on hold (easy - see first part of the SQL below), but some invoices have no coding, nothing in the FACT folder and I need to show two dimension folders which currently only join via the FACT folder - is this possible??
    equivalent SQL =>
    select supp.supplier_name, inv.invoice_number, inv.invoice_amount, dis.amount, code.segment1||'/||code.segment2
    from     AP_INVOICES_MV inv
    ,          ap_suppliers_mv supp
    ,       ap_holds_mv hold
    ,      AP_INVOICE_DISTRIBUTIONS dis
    ,     gl_coding code
    where inv.invoice_key = hold.invoice_key
    and    inv.supplier_key = supp.supplier_key
    and  inv.invoice_id = dis.invoice_id
    and   dis.code_key = code.code_key
    and   hold.holds <> 'No Holds'
    union
    select supp.supplier_name, inv.invoice_number, inv.invoice_amount, 0 amount, 'XXXXX/XXXX' gl_code
    from     AP_INVOICES_MV inv
    ,          ap_suppliers_mv supp
    ,       ap_holds_mv hold
    where inv.invoice_key = hold.invoice_key
    and    inv.supplier_key = supp.supplier_key
    and   hold.holds <> 'No Holds'
    and   not exists
    (select 'x'
    from    ap_invoice_distributions dis
    where dis.invoice_id = inv.invoice_id)
    order by 1, 2, 4 ascMy problems are; -
    1. is that the second part of the union (not exists section) requires me to join two DIMENSION tables without going via the FACT table is this possible?? (If so how - what JOINS would I need on between the FACT and the DIMENSIONS and would this significantly impede running speed generally)
    2. Given that even when writing direct database requests the FROM part of the SQL is the subject area, not the tables, the tool writes the joins for you, how can I write the equivalent of the above??
    n.b.
    AP_INVOICES_MV - DIMENSION
    ap_suppliers_mv - DIMENSION
    ap_holds_mv - DIMENSION
    gl_coding code - DIMENSION
    AP_INVOICE_DISTRIBUTIONS FACT
    With the structure following the classic STAR with all folders described in the dimensions equi joining to the FACT folder, BUT some in the invoices dimension will not have corresponding values in the FACT folder (un-coded invoices).
    With thanks for your input,
    Robert.

    Try this app: http://tyorex.com/iWorkConverter
    Batch convert Pages files to doc and pdf.

Maybe you are looking for

  • Adobe Acrobat PDFs is not in my apps, how do I add it in 4.0

    Adobe Acrobat PDFs is not in my apps, how do I add it in 4.0

  • Garageband version 10.0.2 vs. version 6.0.5?

    This is more of an opinion survey than anything. Just wondering how other Garageband users are finding the new version so far (version 10.0.2)? I've mostly stuck to the old one (version 6.0.5), since I know how to do everything I need to do with it.

  • How to Create Approval for  New Business Partner Master Data

    Hello Experts, Is it possible for creation of an approval query such that while creation of New Business Partner: if   a user forgets to add data in a field say TIN No. which is present in Tax Information, then   the Business Partner Creation is with

  • The copy function doesn't work for years

    Hi experts, i have a copy function for copying a combination of version, vtype and fiscyear in another combination e.g. version = 0, vtype = 10 and fiscyear = 2010 should be copied to version = 101, vtype = 60 and fiscyear = 2011 As far as the year d

  • Can some one instruct on how to use SetRotate?

    I'm having to code in VB6 and need to know how to use the SetRotate command programmatically to set the view of the PDF to a different angle. I'm using AcroPDF.dll control in a form and would like the user to be able to change the angle of the PDF. A