two dimensions of time in a cube

Hi all

I have an obligation to create a cube for customer mgmt reports. People want to report on registrations and connections of clients.

So I need, in my cube, two references to the size of my time (called dim_time). I tried and owb accepts two references to dim_time, rename the second dimension to dim_time_1 automatically. Deployment and loading is also very good.

If from a test perspective, this seems to be the right way to do it. Has anyone else done something like this and you've seen all the problems later?
I want to be back up before going to production.


Another issue is about the join of the second reference dim_time to the date of termination. Everyone has a recording date, but most (I hope) is not a termination date. But each of them must be loaded in the cube. I have not seen a possibility to influence the joins to the cube operator. What is possible?


Kind regards

Knut

To make two references to the same dimension, you can create two roles in the time dimension. Then, in the cube, you can view each role. In fact, it's the same thing you did, the only difference is using roles make the model easier to understand, because you can give a friendly name to each role.
The second point is on the reference to a date zero. I think that there is no way to do it using the cube object. In these cases, I use to create a date as 12/31/9999 "and referring to it. The inside of the card, you can use a phrase with something like this: to_date (NVL (your_date, ' 31129999'), 'ddmmyyyy'). And, of course, don't forget to enter this date in the dimension.
It is not common to have null data in DW. Any exceptions must be identified and documented, for example, 'Not available', 'Unknown', etc.

Tags: Business Intelligence

Similar Questions

  • How to use @sumrange in two dimensions?

    How to use @sumrange in two dimensions? I want to sum up all the values through the period and the time of a measure...

    It does not give the right ratio:
    "WHEELS" / @SUMRANGE ("COGS", Jan:Dec,@RELATIVE(Years,0)); ")

    This gives the right solution, but the year is coded:
    "WHEELS" / (@SUMRANGE ("GEARS"-> "FY12", Jan: Dec) + @SUMRANGE ("GEARS"-> "FY13", Jan:Dec));))

    I want to dynamically reference every year at once.

    Thanks in advance.

    Hello

    Try the @XRANGE function in the @SUMRANGE

    Then

    "WHEELS" / @SUMRANGE ("GEARS", @XRANGE ("FY09"-> "Jan", "FY15"->"Dec"));

    Coding always a little difficult, but you can substitute two variables for ease of maintenance

    Thank you

    Anthony

  • For the last week or three Firefox updated two or three times for each update and sometimes for no apparent reason...

    For the last week or three Firefox updates two or three times for each update. Sometimes it refreshes without obvious reason. For example, I'll be in the middle of typing in the message forum block & it refreshes. Or by filling out an online form. Or simply viewing a page.

    You can check for problems caused by an extension that is not working properly.

    Start Firefox in Safe Mode to check if one of the extensions (Firefox/tools > Modules > Extensions) or if hardware acceleration is the cause of the problem (switch to the DEFAULT theme: Firefox/tools > Modules > appearance).

    • Do NOT click on the reset button on the startup window Mode without failure.
  • In calendar, some events appear two or three times.  Additional events will not delete however.

    How can I remove additional events/events that appear two or three times on the same date.  The delete key does not delete the event.

    Synchronization with iCloud?

    Calendar - resolve duplicate calendars

  • Made with multi date columns to the dimension of time

    Hello world

    First let see my script:

    I have the control panel with these columns

    order_no (int),

    create_date (date),

    approve_date (date)

    close_Date (date)

    ----

    I have a time hierarchy dimension: time

    I want to see at the time of the hierarchy, how many orders created, approved and closed for each time part(year,quarter,month,..) as below:

    Date | created | approved | closed

    ————————————————------------------------

    2007-1st quarter | 50. 40         | 30

    2007 - q2 | 60. 20         | 10

    Q3-2007 | 10. 14         | 11

    2007-4th quarter | 67. 28         | 22

    Q1-2008 | 20. 13         | 8

    Q2-2008 | 55. 25         | 20

    Q3-2008 | 75. 35         | 20

    Q4-2008 | 90. 20         | 2

    My solution:

    Physical layer;

    1. I create an order f alias as the fact table for the roll of the order

    2 i joined f-ordered with d-time (time alias) on f_order.created_Date = d - time.day_id

    3 - I added 2 logical column with the formula of the measures:

    Sum aggregation is_approved(If approve_date= THEN 0 else 1)

    Sum aggregation is_closed(If closed_date= THEN 0 else 1)

    order_no (will use to measure aggregation created County

    When I create the report in analytics in the generated query he used created_date and this isn't what I expected!

    What is the best solution?

    1-

    If I have to create 3 is of the order: f_order_created, f_order_approved, f_order_closed and join each other on these columns d-time?

    f_order_created.created_Date = d - time.day_id

    f_order_approved.approved_Date = d - time.day_id

    f_order_closed.closed_Date = d - time.day_id

    2-do you create my fine measure?

    Hello anonymous user,.

    The approach with three done alias that you then use in three separate sources of logical table for your logical fact is the right one. This way, you keep canonical once and did do the role play.

    So you won't need to 3 facts in the layer of logic that you ask above, but only 3 LTS. Physically, you need 3 alias joined the dimension of time with the join specifications you mention of course.

    PS: Jeff wrote about this a few years if you want to take a look.

  • Help!  How to upgrade two dimension collection ArrayCollection?

    Hello

    I'm having a problem of understanding of documentation on populating a DataGrid of two dimension collection ArrayCollection. My situation is that I have a DataGrid with a bunch of information, currently stored in a two-dimensional array (digital in the first dimension and by field name in the second dimension). I also have a bunch of data streaming from an XMLSocket, which, when it happens, is analyzed, resulting in one of the fields of the table in need of update. I can do very well with the table directly, but I can't try to understand how use the ArrayCollection collection features to cross this two-dimensional structure - setItemAt() does not seem suited for this purpose? I need to trigger the effects on the relevant cell that has been updated, when I round coding, so I will try to use some structure that handles update events and others for me automatically, such as the ArrayCollection collection.

    I do not know is still the best technique to use, and the intermediate level (the ArrayCollection collection and others) could be changed completely, so if you can suggest (and illustrate, if she is as confused as this!) a better method, I would be grateful.

    Thank you

    David

    Ah.

    You must look for the item in the collection ArrayCollection. This is usually done with a loop in the collection. When you have found the item you would:

    Item.Quantity = new quantity;
    dp.itemUpdated (item);

    You must call the method of collection itemUpdated to make the signal Collection all interested parties (for example, the DataGrid bound to her) she's changed.

    A Collection can also views and ViewCursors that might be useful to have a lot of data.

  • With the help of & lt; CFIF & gt; to compare two sets of time

    I use < cfif > to compare two sets of time, if there is a match, and then display the link. I do something wrong because it displays is not a link even thought it is a football game. I'm using the Access database, any help is greatly appreciated!

    Here is my code:

    < CFQUERY DATASOURCE = "testDB" NAME = "gettasks" >
    SELECT id, event_name, from_date
    calendar
    where from_date > = # #dateformat(daterequest,'mm/dd/yyyy') #.
    AND from_date < = # #dateformat(daterequest,'mm/dd/yyyy') #.
    < / CFQUERY >

    < CFSET startTime = CreateTime (0,0,0) >
    < CFSET endTime = CreateTime (23,59,59) >

    < TABLE BORDER = "0" CELLPADDING = "0" CELLSPACING = "0" STYLE = "" border-collapse: collapse "WIDTH ="100% "ID ="AutoNumber1">"
    "< = CFLOOP" "#startTime #" TO = "#endTime #" INDEX = "i" STEP = "#CreateTimeSpan (0,1,0,0) #" >
    < CFOUTPUT >
    < b >
    < TD WIDTH = "6%" HEIGHT = "20" onClick = "javascript: popup ('addevent.cfm?)" addDate = #daterequest #& addTime = #TimeFormat (i, "h: mm tt") #")" VALIGN = "TOP" ALIGN = "right" BGCOLOR = "# A0AB84" CLASS = "smallWtext" STYLE = "cursor: point;" " cursor: hand; border-left: 1px solid ##EAEAEA; border-top: 1px solid ##EAEAEA; border-right-style: Double; border-right-width: 3 "> #TimeFormat (i, 'h tt') # < table >"
    < TD WIDTH = "94%" HEIGHT = "20" STYLE = "border-right: 1px solid ##EAEAEA;" border-top: 1px solid ##EAEAEA; border-bottom-style: dotted; border-bottom-width: 1 "BGCOLOR ="##FFFFEB"CLASS ="text">
    < CFLOOP QUERY = "gettasks" > <! - problem cannot match time - >
    < TimeFormat (from_date, "h tt") CFIF is ' #TimeFormat (i, 'h tt') # "> < A HREF =" editevent.cfm? id = #id # & daterequest = #daterequest #"> • #event_name # < /A > < br / > < / CFIF >
    < / CFLOOP > < table >
    < /TR >
    < b >
    < TD WIDTH = "6%" HEIGHT = "15" onClick = "window.location ='daily.cfm? disp = add & addDate = #daterequest #& addTime = #TimeFormat (i,"h: mm tt") #"; return true; "ALIGN ="right"BGCOLOR =" # A0AB84 "STYLE =" cursor: point; cursor: hand; border-left: 1px solid ##EAEAEA; border-right-style: Double; border-right-width: 3; < cfif #TimeFormat (i, 'h tt') # is "23:00" > border-bottom: 1px solid ##EAEAEA < / cfif > ' > < table >.
    < TD WIDTH = "94%" HEIGHT = "15" STYLE = "border-right: 1px solid ##EAEAEA;" "< cfif #TimeFormat (i, 'h tt') # is"23:00 "> border-bottom: 1px solid ##EAEAEA < / cfif > ' BGCOLOR ="##FFFFEB"> < table >
    < /TR >
    < / CFOUTPUT >
    < / CFLOOP >
    < /table >

    OK, let's try another direction. Keep as an object DateTime from_date and use the createodbcdate() and createodbcdatetime() functions to convert your variable daterequest to date/time objects and compares the range.


    SELECT id, event_name, from_date
    calendar
    WHERE the from_date BETWEEN #createodbcdate (daterequest) #.
    AND #createodbcdatetime(daterequest+"23:59:59") #.

    Phil

  • How to compare two dates and times in BPEL?

    Hi all
    I need to compare two dates and times in a switch activity, but could not find any function for her.

    My switch like this activity:

    case Date1 > date2:
    do something;
    otherwise:
    do something;

    He is not such a function in 'The functions of Date' and can not find this function to xpath.

    IBE, there is no function for a period of time to make (less one date of another?...) If this return to the data compare question).

    Thank you.

    Hello

    Logic function as more/less function can be used to compare two dates so that same comapring two numbers.

    Ex: If your variable reception contains two pieces of data such as date1 and date2, then you can use format in condition switch below.

    XpathXpression (date1) > XpathXpression (date2)

    hope this will help you.

  • Find the difference between two date and time

    Hi friends,

    I wanted to find the difference between two date and time, but my qury is slightest error "invalid number."

    select sql_step_num,proc_name,run_seqno,start_date,end_date,(to_char(start_date,'HH24-MI-SS') - to_char(end_date,'HH24-MI-SS') ) as ed  
    from eval.EVAL_RUNTIME_DETAILS
    where trunc(start_date) = trunc(sysdate) 
    order by sql_step_num;

    You try to get the feel between two char strings.
    And more difference between two dates gives a NUMBER of days.
    Try this:

    select sql_step_num,proc_name,run_seqno,start_date,end_date,numtodsinterval(end_date-start_date,'DAY') as ed
    from eval.EVAL_RUNTIME_DETAILS
    where trunc(start_date) = trunc(sysdate)
    order by sql_step_num;
    
  • Arrangement for two dimensions in tileList control Possible?

    Hello
    Can someone tell me, is it possible to organize the image controls two dimensions in a TileList control, so that we could get clues for children according to the rows and columns that we want to get the image in row 2 and column 5 and get the location? If so, if give me an example please... I need this help very urgent

    The container Tile and TileList are designed specifically to not give you this control - you are supposed to simply mix in the components and they appear one after the other until an edge is reached then a new row or column is created.

    If you want this type of control, use a DataGrid and itemRenderers. That has the row and column indexes.

  • Calculation, including the facts of two dimension

    Hello

    I would like to perform calculations on facts of two different sections.
    Example: I have a (fresh) made with a single dimension (time). There are two records in the fact table, the costs for the 'now' and costs for "then":

    How can I calculate, for example, the difference in costs between "now" and "then"?

    Thanks for your help!

    Concerning
    Matthias

    Do you know if I can hide the lines of items not calculated in the diagram somehow?

    Yes. It is also possible. For this you need to hide the lines of items not calculated from your PivotTable itself so that the chart does not display it.

    I don't have obiee with me right now. Click on the properties of this line (in the same place where you created your calculated item), there will be a skin called option or hidden or something like that. Click on it. the uncalculated wil be lost.

    close the message if we respond.

  • Synchronous triggering of two HP3458A - delay time

    Hello

    I would like to get the time difference between synchronous HP3458A 2 trigger instruments. Estimated time is in nanoseconds or microseconds. Find hatched VI. Set the project includes reseting the two HP3458A, adjust settings, obtaining data, averaging, and errors. Who Subvi should I use for highest accurate time measurements? And where (before or / and after reading)? I think I get Date/time are not useful for this purpose.

    Best,

    Kristina.


  • Using two buttons market timer / stop, need help please.

    Hey everybody.

    I am stil working on my project, and now I'm trying to implement a timer using two buttons market / stop. Everything I do now is when you press start the stopwatch starts and when you press stop I want the timer to stop and display the time.

    Whats happening is when I press start, the timer starts, but when stop is pressed the timer displays a value of say 12 seconds, a second more later I press stop again a value of 14secs arise and it stops at 14.  Now, whenever I press on start it will start at 14 and repeat this process.

    So I think that somewhere, I did not put my right timer.

    Could someone say somethings that I should change in my code.

    They are declared at the top:

    static public boolean status=false;
    static public int count=0;
    static public Timer timer;
    

    Here is my code:

    ButtonField start = new ButtonField("Start",ButtonField.USE_ALL_WIDTH|                          ButtonField.FIELD_HCENTER|ButtonField.USE_ALL_HEIGHT);                          start.setChangeListener(new Listener1());add(start);
    
    ButtonField stop = new ButtonField("Stop",ButtonField.USE_ALL_WIDTH|                            ButtonField.FIELD_HCENTER|ButtonField.USE_ALL_HEIGHT);                            stop.setChangeListener(new Listener2());                          add(stop);          
    
                public class Listener2 implements FieldChangeListener            {            public void fieldChanged(Field field, int context)             {            ButtonField btn = (ButtonField) field;            Status.show("Timer is at" + Integer.toString(count));            status = false;            timer.cancel();            }            }
    
                public class Listener1 implements FieldChangeListener            {            public void fieldChanged(Field field, int context)             {            ButtonField btn = (ButtonField) field;            Status.show("Timer started");            status = true;                try                {                                                timer = new Timer();                                        timer.scheduleAtFixedRate(new StartEvent(),1,1000);                }                catch(Exception e)                {                //do nothing                }            }
    
        private class StartEvent extends TimerTask    {    public void run()       {        if(status = true)              {              count++;                        }        else            timer.cancel();//        count=0;    }    }    }
    

    any help is appreciated

    Thank you guys

    Probably best to follow just a matter of a Thread.  So next time, you can start a new Thread with a new question.  However, you should also search the forum before asking questions, that your two supplementary questions have been answered in other posts on this forum.

    Concerning your problem to press the stop and get another moment, I think that you must have application logic that disables the stop button once pressed, until you press the Start button.  For example, you could do by assigning to the time of departure - 1 in the Stop button, and then, when you press the Stop button, he can check the start time and displays a message saying "Timer not started" If the start time is - 1.  There are a number of other ways to do this, I described this method because it is easy to explain.  It is not really how I'd do.

    The best way to set the buttons next, is to add then to a HorizontalFieldManager, then add the HorizontalFieldManager to your screen.

    To stop the button displays the menu, you must set it with the style CONSUME_CLICK, for example:

    ButtonField stopButton = new ButtonField ("Stop", ButtonField.CONSUME_CLICK);

  • I do a layout of paper every two weeks; This time, when I opened my model, set up for the next issue when I typed 'W' to display the grid I have something totally different than previously, a background grid which is more annoying.  Why in the world

    new to InDesign 6 months I do a newspaper page layout every two weeks.  This time, when I opened my model, set up for the next issue, when I typed "W" to display the grid, I have something I never saw elsewhere. ".  The background was filled with a new grid of tiles rather than the void behind the newspaper that I'm used to seeing.  I don't know what happened, but it seems that Adobe has tinkered once more with the program.  The last time this happened, I lost the icon "cover the columns" at the top; now, it's a case of two steps to put the head-lines across more than one column.  NOT useful.

    There is probably a command or a term, I don't know that this right but my main question is why, when I did this dozens of times before, doing something different will come this time.  (I know, without replica.)

    I'd also appreciate comments that someone out there could offer re why now when I tap on InDesign, is there a slight pause before that something happens to the screen.  What is my new Mac, or something to do with the program that I can fix it?

    Thanks, Sacie

    It looks like the grid of the document, which can be disabled in the view menu.

  • How to calculate the time difference in the two date columns time.

    Hi Obiee Experts,

    I came back new requirement on obiee 10g.


    I have two date columns in my table time, data as below.

    StartDate: 18/03/2012-04:40:51

    Closing date: 18/03/2012-04:50:55

    I want to the output as below (Jet lag).

    output
    04:40:51 (less)-04:50:55 = 00:10:04

    I hope you understand my requirement in OBIEE.

    Note: I want to show above the output values in another State for OBIEE10g column.

    Please share me your valuable contributions. Urgent appeals.

    Thank you
    Satya

    Hi Satya,

    Here's another solution. You can try the formula below as it is:

    Cast (floor (TIMESTAMPDIFF (sql_tsi_second, '-SNP_SESSION '.))) SESS_BEG, '-SNP_SESSION '. SESS_END) / 3600) as char). ':' ||
    Cast (floor (mod (TIMESTAMPDIFF (sql_tsi_second, '-SNP_SESSION '.)))) SESS_BEG, '-SNP_SESSION '. ((SESS_END), 3600) / 60) as char). ':' ||
    Cast (mod (TIMESTAMPDIFF (sql_tsi_second, '-SNP_SESSION '.))) SESS_BEG, '-SNP_SESSION '. SESS_END), 60) as char)

    I would like to know if that's what you're looking for.

    Thank you

Maybe you are looking for

  • How can I selectively sharing apple?

    I share an Apple ID with my boyfriend and my sister. I like to have collective playlists on Apple music with my boyfriend that we can add and subtract to, but to do that I have to share. The only problem with that is that when I turn on sharing, I ge

  • Unit Auto-duplex of PSC 2410 Photosmart all-in-one

    I bought a new computer that uses 7 (64 bit) of Windows operating system. I have attached a PSC 2410 Photosmart all-in-one printer. The auto-duplex feature is no longer available, manual duplex printing is available. When this printer was attached to

  • Control Panel and write text

    Hello everyone I am new to this software, then, I have two question 1. I have a panel that contains strings, I've set up some parameters to test, but I found I have to set these channels each time after I restart this software, are there ways to save

  • HP 5070 - 2026 Slimline s7700n 802. 11 b/g Wireless Module.

    I have a HP 5070 - 2026 Slimline s7700n 802. 11 b/g Wireless Module. Cannot know where to plug them.

  • We get an error installation Windows Player 10 - my computer is too old?

    I just bought a rocket and haven't opened the box yet.  Read the manual downloaded - I'm looking requirements sytem and find that I need Media Player 10.  So, I'm going to download on my computer and get an error message.  Visit the Windows - and req