Disaggregate Periodic Data to Weekly Data (Modeling Time Dimension)

Hi,
     We are using BPC MS Version 7.0. Our users plan at period level and I need to disaggregate periodic data to weekly data by looking up weeks from Time Dimension.
Suppose if 2009.Jan  has 4 weeks I need the following result
Periodic Data
2009.Jan Acct1 1000$
Weekly Data
2009.Jan Wk1 Acct1 250$
2009.Jan Wk2 Acct1 250$
2009.Jan Wk3 Acct1 250$
2009.Jan Wk4 Acct1 250$
Can we model Time Dimension with two hiearchies to achieves this?
Which is best way to dissaggrate? (Stored Proc or SSIS Pacakge or Script Logic) ?
Thanks
Raj

An easy way to achieve this feature is to have the time dimension be weekly and do the spread on the input schedules before sending. 
There would be two EVDREs (one refresh only of monthly data and the other send only of weekly data).  The data range of the monthly EVDRE would be input and where the user enters data.  The data range of the weekly EVDRE would be formulas (pointing to the monthly data and doing the correct division based on number of weeks in a month).  The user is inputting monthly data, but the schedule is sending the weekly values.
The allocation will work as well, but I would suggest to create a weekly input node under each month to capture the monthly value and then spread to the weekly members.
JAN
|---WK Input
|--- WK1
|--- WK2
|--- WK3
|--- WK4

Similar Messages

  • Modelling Time Dimension with Fact Table containing Start Date and End Date

    Hi Gurus,
    I have a time dimension with Year till Date. I have a fact table which consists of Start Date, End Date, Person ID, Department ID.
    How do i design Time dimension with fact table the below scenario
    In the dashboard i have start Month and End month as prompts.
    In the report i need to display Count(Person ID) > Start Date and < End Date along the trend.
    For instance, i have selected Jan-2009 as start date and Apr-2009 as End Date, then i need to display Count(Person ID) of Jan-2009, Feb2009, Mar-2009 andApr-2009.
    I Can not connect Time dimension with only Start Date or only with End Date to get the trend along the months.
    Please advice on the issue which i am having.

    Hi,
    Thanks for the response, Infact i tried using Complex join in physical layer. I have considered Time table joined with Fact table, and used >= and took and alias of the Time table and joined fact table using <=. When coming to BMM, i am not knowing how do i design this as if i merge the both the time dimensiona and its alias into single table, values will not be correct and if i make them as seperate columns. i can not show the trend as both are different columns.
    Can you please let know where i am going wrong.
    Thanks

  • BPC Time Dimension  - 13 periods NOT Calendar

    My client reports 13 periods in a year (4 weekly).
    Quarter two contains 4 periods (periods 4, 5, 6, 7).
    I was reading a post about how to set this up properly using the UserTimeId property. They had a situation where they needed to put their 13th period in Qtr 4, and they discussed using this property, but the answer didn't go into exactly what settings to put in the UserTimeid property.
    Could someone explain how to set this up in BPC so that it calculates properly - my system is a YearToDate system (not periodic),
    regards
    scott Farrington

    Hi Scott,
    Have you tried just putting these 4 periods in Quarter 2 on your time dimension hierarchy?  I believe the hierarchy (not the properties) is what drives QTD reporting, so theoretically that should work.  I have not tried your specific scenario however as it is a fairly uncommon setup.
    If that doesn't work and you can explain exactly what kind of issues you are seeing, then it might be easier for others to come up with helpful solutions.
    Thanks,
    Ethan

  • Time Dimension

    I have created a Time dimension using the Dimension Wizard with two hierarchies:
    Year - Quarter - Month - Date
    Year - Week - Date
    We have a data warehouse with two fact tables, FactSite and FactWell.
    Each table contains a different date field and we hope to use the Time dimension as a role playing dimension for each.
    So we wish to filter FactSite and FactWell data by
    Year - Quarter - Month - Week - Date using
    the operational date fields.
    My queries are. Must we now:
    1 - Populate (using wizard) the Time dimension with a suitable date range? (i.e. the start date and expected end date of our data set).
    Then during our ETL process, we do a lookup in the Time dimension and set the surrogate key in the corresponding fact table.
    2 - Populate the Time dimension during the
    ETL process from our OLTP data source? 
    3 - What is the best practice for this type of scenario?

    Hi Darren,
    According to your description, you need a time table to create your time dimension, now you want to know which is better, creating the time table in the project or creating the table in the OLTP data source during ETL process, right?
    Microsoft SQL Server Analysis Services provide a convenient way to create time table, you can use the Dimension Wizard in SQL Server Data Tools (SSDT) to create a time dimension when no time table is available in the source database. As per my understanding,
    it better to generate the time table in data source view using wizard. Please refer to the link below to see the details.
    http://msdn.microsoft.com/en-us/library/ms174832.aspx
    Then you can create a Date hierarchy Year - Quarter - Month - Week - Date using this time table.
    http://msdn.microsoft.com/en-IN/library/hh231692.aspx
    Regards,
    Charlie Liao
    TechNet Community Support

  • Populating the time dimension in ODI

    I need to populate my time dimension in ODI> I read a solution in this forum suggesting to create a time table/view in the source schema, reverse it in ODI and then use it as source to populate the time dimension. Is there another way to do this? One way I thought of was to use the ORDERDATE field in my ORDER table (my source table in Oracle) and map it to my time dimension in SQL Server via an interface. But I also have DUEDATE, SHIPDATE and PAYDATE fields in my ORDERS table and this approach would mean that I have to map them through separate interfaces to the time dimension as well. I have created a procedure in the source schema(Oracle) and want to use it in ODI to populate the time dimension. But I amnt sure if that is possible in ODI. Could anyone help me with this please?
    Regards,
    Neel

    Hi Neelab,
    Sorry for my delay to reply you, I had no time the lasts days...
    To get the four distinct key from your time dimension, just add four instance of dimension table at interface each one joined with one of the columns.
    I believe that you load your time dimension from some other table than PRJ_TBL_TRANSACTION because you have the HolidayType column in your time dimension...
    A view is one possible solution to load the time table but depends how the performance of the query is.
    A way to do it at ODI is:
    - Create 4 interfaces, one for each column, to load 1 singe table with 1 single date column, don't worry about duplicated value at this time, than you can just use the "IKM Control Append" that has more performance but check the "Distinct" box (flow tab) at each interface
    - Create a last interface from this temp table as source, to the time dimension target table. Now you will use the "IKM Incremental Update" and do choose the "Update" option to "NO". Check the "Distinct" box.
    As this table will have no more than 6.200 records from the last 20 years it will be a small table where you shouldn't have performance problems.
    These are some of possible solutions but I would like to add other "way to think".
    By the table that you show here you have a simple time table with no special feature, for that, let me suggest you other way.
    - in the current way you will join but didn't get the record that "fail" from the join once they will be exclude if a date do not exist at time dimension
    My suggestion:
    - Load the dimension time table from your source table
    - as PK in time dimension table, use the ''Julian Day"
    - At ODI target fact table (datastore), create a 4 reference constraints (one by column) to the time dimension
    - at interface do not use the dimension as source and transform the 4 date to Julian and let the 4 constraints take care if they exists or not at dimension table.
    OR
    - Look for the minimum "possible" date at your company
    - populate your time dimension with every each day since then until a future date (Dec 31, for instance)
    - create a process to populate the future date that will be execute in a interval that you decide (once a year, once a month, as you wish) dependent on how further the date is populated
    - use the "Julian date" as PK
    - At interface just transform any date to "Julian Date" it will be at dimension time once it is naturally unique
    You could substitute the Julian date for "YYYYMMDD" that is a unique value too.
    I presented you 2 way to consider be considered, each one could be used based on how important is for the business know if a date was loaded or not.
    Someone can question that has the dates loaded from source against has all dates previous loaded could help to find errors from days that wasn’t loaded but it has a failure. As there are 4 dates source columns (and we are talking just about one source table until now) if a date loaded math a date when the load failure there is no value in use the time dimension date to analyze this possibility.
    I defend the full time dimension load.
    Make sense and/or help you??

  • Time dimension - not ordered

    Hello,
    I'm new on OLAP Cubes,
    I've made one that works well instead of the fact that my time dimension is not sorted : dates are not in order.
    I've tried to sort dates before the cube, in the views. but even if when i see time attribute sorted in my view my cube time dimension stays unsorted.
    I'm working with AWM 10g
    please help !

    You can always use the time_end_date attribute to sort the results of the query. When you say that the time dimension values are not sorted? what do you mean .... is the hierarchy correct ... all nn-JAN-yyyy records under JAN-YYYY or is it also mixed up due to the improper sorting? If the hierarchy is alright.. you may need to
    Can you provide more details... perhaps all details relating to db view/table - structure (table/view, columns, datatype, size etc) and sample data (few rows) as well as how the data appears in the olap time dimension when viewed through AWM results. Whats loaded (all of the records but sorted improperly or if only some of them => what're the records which dont get loaded?)
    Also noticed that you used the term olap cube time dimension.. the time dimension is not exactly an independent component of the cube, its used by the cube. Its defined in the AW and exists only as a dimension (independent of any/all cubes). The cube only references it.
    Another reason for mismatch (not very likely though) could be that you have time end date data in your view as a varchar field instead of a date and is interpreted wrongly while its being loaded as a date datatype attribute by the AW dimension load program. Depending on your NLS settings (and thereby the default date format), the date string is interpreted as a inappropriate date. You usually encounter errors during such a load ... day #13 interpreted as month #13 (invalid) as a result of a mismatch of date format settings.
    HTH

  • Setting date ranges when Time dimension includes Period instead of Month

    I hope I am missing something simple here - we are on OBIEE 10g, and I have a Time dimension defined as follows:
    Year > Quarter > Period > Week > Day
    A "period" is not equivalent to a calendar month - a period can include either 4 or 5 weeks, and always starts on a Sunday. Fiscal years start on the first Sunday in July.
    I need to create a graph that shows Total Sales for the previous 13 periods (not including the current period). This needs to be a rolling 13 periods based on the current period.
    Since this is Period and not Month, I am unable to use the Month(CURRENT_DATE) functionality. Do I need to have repository variables defined for the current period? Is there another way to calculate what the current Period in my Time dimension is in a filter SQL?
    So I want to do something like "Where period between [current_period - 14] and [current_period -1] as the filter for Period.
    Thanks in advance for any assistance.
    Rhonda

    Sorry about that...
    Periods are 1-12 (numeric).
    Period 4 of FY 2012 for example has a begin date of 10/02/2011 and end date of 11/05/2011.
    Right now we do not have unique combos created (like 4/2012, 5/2012, etc) so to get a unique value I have to specify both a year and period.
    So on my dashboard today I will need to create a graph that covers FY2011 periods 6-12 and FY2012 periods 1-6 (translates to 12/5/2010 - 12/31/2011).
    I haven't created repository variables before, but as the Period parameter will be used often I guess I will find out how.
    Thanks in advance for the help.
    Rhonda

  • Creating Time dimension in BW data model. - like seen in logical data model

    Hello all,
    I have been struggling with this thing and I am looking for some help from anyone on this forum.
    We are trying to create a logical data model of our bw system. We are going live next month with Student module for universities. We have multiple Infocubes and DSO and since there is so much crossing over in between them most of the reporting is done on infosets.
    One of the thing we were thinking; is it possible to create something like a common time dimension table for every infoprovider. Basically when we are providing the reports to the end user can we give them a drop down menu which gives a time frame for reporting rather than selecting.
    Example: Like can we create something which looks in the drop down like current month data, last months data, three months ago, four months ago, five months ago, one year ago, two years ago. Can we make like these data slices in our cube and deliver it to the end user?
    We have in our cube a few date infoobjects, like receipt date, decision date, cancellation date and like wise.
    Please let me know if any one has done any similar thing, it will be very helpful.
    Thank you so much in advance.

    if you add your common time dimension to your data model, first identify for each infoprovider the time against which 'current month' and other frames should be applied and map them to your dimension.
    just a question... are you not using time dimension in cubes ? ideally this should be your time dimension llinking all.
    when you use time dimension which uses 'current month' , 'current year' , you will have to address their historisation as well. (because current month now will not be so current after 2 months).
    so in data load procedure every day these values need to change (meaning drop and reload).
    and routines to populate these values based on reporting date.
    Edited by: hemant vyas on May 6, 2009 1:56 PM

  • 9.3 Date-Time Dimension - Period to Date?

    Anyone know if it's possible to do PTD or a PTD equivalency within a date-time dimension? I've got years(gen2) , quarters (gen3), months (gen4), weeks (gen6) and days (gen7). We'd like to be able to pick a day, say 1/31/2007, and generate the following date ranges with :
    days prior Status 1 Status 2 Status 3
    0-15
    16-30
    31-60
    61-90
    91+
    It could be viewed as an aging report of sorts.
    Thanks,
    Bob
    Edited by: user10509607 on Nov 19, 2008 12:59 PM
    Edited by: user10509607 on Nov 19, 2008 1:05 PM

    I suspect that your chief problem is a forum mismatch
    ?

  • Adding data to a table model at run time

    hiii
    i want to add data to the table model at runtime.
    i have used TableModel.My code looks like this
    public class CaptureTableModel extends AbstractTableModel {
         private String[] columnNames = { "No", "Source", "Destination", "Protocol",
                   "Flags" };
         private TCPPacket tcpPacket;
         private List data;
         private static int counter = 0;
         private int columnCount = columnNames.length;
         public CaptureTableModel(){}
         public CaptureTableModel(TCPPacket tcp) {
              try{
              tcpPacket=tcp;
              counter++;
              byte[] tcpdata = tcpPacket.getData();
              String srcHost = tcpPacket.getSourceAddress();
              String dstHost = tcpPacket.getDestinationAddress();
              String tcpPacketData = new String(tcpdata, "ISO-8859-1");
              if (tcpPacketData == null)
                   tcpPacketData = "";
              int protocol = tcpPacket.getProtocol();
              String proto = null;
              if (protocol == 6)
                   proto = "TCP";
              long sequenceNumber = tcpPacket.getSequenceNumber();
              data = new ArrayList();
              String[] info = {
                        Integer.toString(counter),
                        srcHost,
                        dstHost,
                        proto,
                        "[ACK " + tcpPacket.isAck() + " ; FIN " + tcpPacket.isFin()
                                  + " ; PUSH " + tcpPacket.isPsh() + " ; RESET "
                                  + tcpPacket.isRst() + " ; SYN " + tcpPacket.isSyn()
                                  + " ; URGENT " + tcpPacket.isUrg() };
              data.add(info);
         } catch (Exception e) {
              e.printStackTrace();//return null;
         public int getRowCount() {
              return counter;
         public int getColumnCount() {
              return columnCount;
         public String getColumnName(int column) {
              return columnNames[column];
         public Object getValueAt(int rowIndex, int columnIndex) {
              System.out.println("the value in getValueAt"+((Object[])data.get(rowIndex))[columnIndex]);
              return ((Object[])data.get(columnIndex))[rowIndex];
              //return null;
    the method getValueAt is not bieng called..where am i going wrong.
    can anyone help me??

    Use the "code" formatting tags when posting code so the code retains its original formatting.
    i want to add data to the table model at runtime.Use the DefaultTableModel it supports dynamic methods like addRow(...), removeRow().

  • How to allow KPIs can keep data as weekly base, SSM7.5 ?

    How to allow KPIs can keep data as weekly base, SSM7.5 ?

    Chamnap,
    I would highly recommend taking some training before embarking on building models in PAS. Although the Help Guide in PAS will give you some of the information you need, I would really recommend training. While some modification of Cube Builder is possible, you do have to make those changes each time you rebuild your Cube Builder model.
    My suggestion would be to sign up for the OKP Training, which is an online training course for SSM 7.5. Being online, the course has recorded presentations and the 22 hours of material go through all aspects of SSM from the user and administration interfaces to an introduction and instruction on how to build models in PAS.
    This is the link to SAP Education and their listing of this offering:
    http://www.sap.com/services/education/catalog/globaltabbedcourse.epx?context=%5b%5bCPM_SM%7cOSM75%7c%7c%7c%7cG%7c%5d%5d%7c
    Regards,
    Bob

  • Powerpivot Error on Refresh -- "We couldn't get data from the data model..."

    I'm using Excel 2013 and Windows 8.1.  I have a spreadsheet I've been using for over a year, and I've just started getting this error message when I try to refresh the data.
    "We couldn't get data from the Data Model.  Here's the error message we got:
    The 'attributeRelationship' with 'AttributeID' - 'PuttDistCat9' doesn't exist in the collection"
    Any idea how I can fix this problem?  I haven't changed anything related to that particular attribute.  All the data is contained in separate sheets in the workbook, so there are no external sources of data.
    Thanks.
    Jean

    Thanks for all the suggestions.
    I found a slightly older version of the spreadsheet that still refreshes properly, so I don't think I have any issues with the version of Excel or Power Query.  (I've had this same error before, and I believe I applied the hotfix at that time.)
    I think this problem started after I updated a number of the date filters in the pivot tables.  I haven't made any changes to the data model, and the only updates I've made were to add data (which I do all the time), and to change the date filters on
    the pivot tables.
    As suggested, I added a new pivot table querying one table (the table with the attribute that shows up in the error message), and it worked fine.  I can also refresh this pivot table.
    Then I tried adding a pivot table which went against several tables in the data model (including the table in question).  The pivot table seemed to return that data properly.  However, when I tried to refresh it, I got the same error message ("we
    couldn't get data from the data model..."). 
    Dany also suggested running the queries one at a time to see which one is in error.  Without checking all the pivot tables, it appears that any which use the table "HolePlayedStrokes" generate the error (this is the table with the attribute
    mentioned in the error message).  Pivot Tables without that particular table seem to refresh OK.  Unfortunately, that is the main table in my data model, so most of the pivot tables use it.
    Any other suggestions?  I'd be happy to send a copy of the spreadsheet.
    Thanks for all the help.
    Jean

  • How to get start date of the period for a given date from cube

    I have a situation where i need to find the start day of the period for a given date. is there a way to know that. i want to use that in my report. i enter the date from my report(i have date parameter), depends on the date, i want to display the start day
    of the period. how can i write expression for that in my report?
    ram

    Hi ramprasad74,
    According to your description, you are using Analysis Services as a data source for the report, the cube has hierarchy: Fyear, FQuarter, FPeriod, fweek, Fdate. You want to add a date parameter to the report, after you changed value of the parameter, the
    report will return the first day of FPeriod.
    To achieve your goal, we need to add a parameter to the report, then use the parameter in mdx query. For detail information, please refer to the following steps:
    In the Report Data pane, right-click on a dataset created from a SQL Server Analysis Services data source type, and then click Query. The MDX query designer opens in Design mode.
    On the toolbar, click Design to toggle to Query mode.
    On the MDX query designer toolbar, click Query Parameters symbol. The Query Parameters dialog box opens.
    In the Parameter column, click <Enter Parameter>, and then type the name of a parameter.
    In the Dimension column, choose a value from the drop-down list.
    In the Hierarchy column, choose a value from the drop-down list.
    In the Default column, from the drop-down list, select a single value.
    Click OK. 
    In query designer dialog box, type the mdx query like below:
    with member [Measures].[FirstChild]
    as
    [Date].[Fiscal].currentmember.parent.firstchild.name
    select {[Measures].[FirstChild]} on 0,
    [Date].[Fiscal].[Date].members on 1
    from
    ( SELECT ( STRTOSET(@ParameterName, CONSTRAINED) ) on 0
    from
    [Cube]
    Here are relevant threads you can reference:
    https://social.msdn.microsoft.com/forums/sqlserver/en-US/c7146ac3-40ea-4d53-b321-c707aebbd405/how-to-pass-date-parameter-to-mdx-query
    https://social.msdn.microsoft.com/forums/sqlserver/en-US/fd12a865-bc90-4a65-af42-ce38a8cfa29b/pass-date-time-parameter-to-mdx-query-ssrs
    If you have any more questions, please feel free to ask.
    Thanks,
    Wendy Fu
    If you have any feedback on our support, please click
    here.

  • Date and Time dimensions

    After reading the following article, I have decided to use SSAS dimension wizard for generating our Date dimension, which creates a DATETIME PK.
    http://www.made2mentor.com/2011/05/date-vs-integer-datatypes-as-primary-key-for-date-dimensions/ 
    I have also created a separate Time dimension as granularity of an hour is required.
    The Time dimension is very simple and only contains a surrogate key (INTEGER) and actual time in hours (VARCHAR).
    DimTime(TimeKey, TimeInHours)
    Our Fact table will now have a link to both the Date and Time dimension using the PK's.
    Our analysis is required by hour, day, week, month and year.
    My query is; Will this current structure cause any problems when creating MDX scripts to analyse our data (i.e. drilldown and rollup queries) Hour - Day - Week - Month - Year

    Hi Darren,
    According to your description, there a day and hour granularity in your fact table, so you want to a hierarchy like Hour - Day - Week - Month - Year, right?
    In your scenario, you created a time table that only contains a surrogate key (INTEGER) and actual time in hours (VARCHAR). We cannot create a Hour - Day - Week - Month - Year hierarchy without ant relationship between date table and time table. As per my understanding,
    you need create a foreigner key in time table, and join those table in the data source view, then you can create such a hierarchy. Here are some links about create time dimension, please see:
    http://www.ssas-info.com/analysis-services-articles/59-time-dimension/1224-date-and-time-dimensions-template
    http://www.codeproject.com/Articles/25852/Creating-Time-Dimension-in-Microsoft-Analysis-Serv
    Regards,
    Charlie Liao
    TechNet Community Support

  • Period locked for new data on PO an SO

    Since last week when we try to update a PO anr SO we got this Message
    PERIODE LOCKED FOR NEW DATA.
    For exemple we change the remark feild only and we got this message.
    Since PO and SO are not impacting any gl entry this is not normal. on the DEMO DB i can update a SO or PO when the perio is close without any problem

    Hi Roy,
    First you have to change if your posting perioud is close.
    if close then choose your posting perioud then in your window left side a sign of triangle click on.
    after change ur status  and after u are able to do changes in previous posting perioud.
    this may help u...
    Thanks.
    JRAJPUT

Maybe you are looking for