BPS modelling issues

Hi ,
    i am having a set of doubts can any one clarify me pls.
1. can partioning of transaction cubes improves the performance in bps layouts.
2. can we refer  3 cubes actual data at once  in a distribute function and populate the fourth cube using multi planning areas.
3. performance wise how much maximum number of records can we store in a transactional cube.( each record having 20 columns)
4. how to handle buffer shortage issues whice using bps function over huge volume of data.
Thanks for all of your great efforts.
Ram

To add another perspective:
1. Physical partitioning might improve BW read time but bear in mind the BW read is likely a small part of your overall BPS execution time (for example in our system BW read is only 5-10% of total execution time) so don't assume that shaving a small percentage off the read time is necessarily going to have noticable impact on BPS performance.
2. It depends - definitely possible to use a different cube for reference data in a distribution, but dist functions tend to need quite specific identification of reference data so if it is truly spread amongst three cubes may not be straightforward. You can probably get around it but might need to be creative though echo Mary's question about need to refer to 3 cubes at the same time for a single function.
3. No of records in the cube should not matter hugely, though BW read time will degenerate as it gets very large. What is absolutely critical is minimising the number of records you are pulling into the BPS buffer. To give an example on our system we have 10 million records in transactional cube but users generally working with 10-30,000 records and response time for calling up layouts on the web and executing functions generally around 5 to 15 seconds.
4. Simple answer is don't go anywhere near BPS buffer limit, not only do you get ABAP dumps when you exceed it which is very irritating I think everything gets exponentially slower as you approach memory limits (just my opinion from experience). Every design is different but my rule of thumb assuming a reasonable number of characteristics & KFs would be: much over 50,000 records will likely be getting slow for users so think about running functions in the background; much over 250,000 <b>might</b> be risk of memory problems so question whether you really need to do this in BPS - if you do then consider breaking data down into smaller sections for processing either by design of your functions and selections or using a program to help break it up like UPC_BUNDLE_EXECUTE_STEP.
Chris

Similar Messages

  • Powerpivot 2013 doesn't work on Excel 2013 / Office 365: data model issue

    Hi guys
    I recently upgraded my Office 2010 to Office 365, with Excel 2013. Before installing Office 365 I uninstalled Office 2010. I'm running Windows 8 64 bits.
    I have the Powerpivot 2013 add-in, I can activate it without any issue. However when I click on "manage" on any spreadsheet (including new empty ones) I have an error "We
    couldn't load the Data Model.  This may be because the Data Model in this workbook is damaged.", followed by "PowerPivot is unable to load the Data Model".
    I tried to repair the installation to no avail. I tried to launch excel in admin mode, nothing better.
    This issue seems to be shared by some other people on this forum but
    with no satisfactory answer so far.
    I had a SQL server 2012 plugin installed previously which I uninstalled as well, but no change.
    Would you think of something else?
    Thanks

    Hi lourson,
    Someone work out this issue to stop the Tabular Model instance. Please take a look at the following blog:
    PowerPivot 2013 Error: Data Model Damaged:
    http://www.mssqlgirl.com/powerpivot-2013-error-data-model-damaged.html
    For more information, please see the same issue at Connect site:
    https://connect.microsoft.com/SQLServer/feedback/details/780949/powerpivot-couldnt-load-data-model-when-ssas-tabular-instance-is-running#details
    Hope you can solve this issue on your new work environment.
    Regards,
    We
    are trying to better understand customer views on social support experience, so your participation in this
    interview project would be greatly appreciated if you have time.
    Thanks for helping make community forums a great place.

  • 'How to..use reporting variables in BPS'  syntax issue

    Hi,
    I am implementing the white paper 'How to...use reporting variables in BW-BPS' and I am getting a syntax error in the include YBW_BPS_VAR_READ. The error indicates 'Statement is not accessible' for my line:
    SELECT SINGLE * FROM ybw_bps_var_map
    ybw_bps_var_map being my transparent table as described in the white paper.
    I have never seen such a syntax error, has anyone had the same issue? My code is the one in the white paper.
    Thanks for any help.
    David

    Hi David,
    I have the coding up and running. I have not seen this error before and don't know how to resolve it. If you cut&paste it from the PDF, then maybe some special characters got pasted into the ABAP editor. Try to delete the line and type it in manually.
    Regards
    Marc
    SAP NetWeaver RIG

  • BPS Retraction Issue

    Hello Experts,
    We are implementing IP for Cost Center Planning and we are using BPS for Data Retraction. Our requirement is to retract the data on monthly basis to R/3 system. We are facing a strange issue here. In parameter group setting we are using Delta Mode as 0 u2013 Delta update. But when we retract the data for given month, in R/3 data for particular month is being retracted properly but data for rest of the months is being cleared. E.g we have following data in R/3 and we are in the month of Feb And we are retracting data for Mar which has value of 150
    Jan u2013 100
    Feb u2013 150
    Mar u2013 200
    April - 250
    After retraction we have following values in R/3
    Jan u2013
    Feb u2013
    Mar u2013 150
    April u2013
    Any input regarding this is appreciated !
    - Prawin !

    Is the month restricted to march in the planning level/package?? Check the characteristic selections.

  • Replacing Business Objects - Modelling Issue

    I'm working on a large 'BI' project that is replacing Business Objects with OBIEE ( actually its not really a BI project its more of a give us what we've got now using OBIEE project ) - which is proving challenging in some areas.
    One example is with the Data Model that BO provides in its Universe, the model I'm replacing is pretty much 3NF (even though it uses DIM and FACT in the table names) they're joined pretty much all over the place, which enables the users to select from tables which can be 4,5,6 steps away from the original - including via M:M relationships!
    Anyway one specific issue is based around the old question of multiple fact tables where not all dimensions are conformed.
    Dim - Business Manager ---< Fact - Forecast >----- Dim - Product -----< Fact - Actuals >------ Dim Salesman
    I've setup the Dimensions for each Dimension Logical Table.
    I've created a single logical table containing a Forecast and Actual Amount from the 2 fact tables and set the logical levels appropriately at Table Level. For the Forecast measure I have a logical level set to 'Total - Salesman' and for the Actuals measure I have logical level set to 'Total - Business Manager'.
    This works great when I select an Attribute from Business Manager, and Salesman and both of the measures in the Answer.
    However the users want to be able to select from Business Manager, and Salesman dimensions without selecting the measures, is this possible - do I need to add a bridging table to resolve the relationships between a Business Manager and Salesman explicitly rather than implicitly via the facts?
    I have set Implict Fact at the Presentation Model, however this doesn't work (it misses off Total Level aggregation in the OBI Server SQL).
    Thanks in advance for any suggestions/answers.

    Thanks for the helpful reply Turribeach, along with the interesting and informative link.
    This is my first foray into the world of BO and I think some of the points you make in the link are right on the money. I've spent many years working with Oracle Tools (Dataquery,Data Browser, Discoverer and then OBIEE when Oracle acquired the tool ). There are difficulties in the modeling with OBIEE, certainly when it comes to trying to replicate a 'fairly' complex BO universe they become apparent.
    Many hoops to jump through to give the user a like for like, which I'm not convinced will be possible - maybe some negotiation is required :-)

  • BW BPS support issues

    Hi all,
    Am very new to BW BPS. Please give me some issues which we generally face in support project when we work in BW BPS project.
    and also provide me step by step method, how to start working with BW BPS. I have searched in forums but those are not clear. Plz tell me clearly step by step.
    Thanks,
    Jack

    Hello Jack,
    there's a lot of information available. If you are serious about it, my #1 recommendation would be to get proper training. You can do it online (http://service.sap.com/rkt -> SAP NetWeaver 7.0 Learning Maps for Consultants) or in class room (http://www.sap.com/asia/services/education/index.epx -> Courses TBW45 or BW370).
    Or get a book like http://www.sap-press.com/products/Business-Planning-with-SAP-SEM.html
    Regards,
    Marc
    SAP NetWeaver RIG

  • Get WorkStatus from the other model issue (EPMWorkStatus)

    Hello,
    I’ve faced an issue with EPMWorkStatus formula. What I have:
           Two categories, let’s call them C1 and C2. C2 is a copy of C1 (was copied with standard copy package)
           In C1 there are some work statuses assigned
           In C2 there are no work statuses assigned yet
           I have two models, let’s call them M1 and M2. Work statuses are configured only for one model – M1. And the driver dimension presents only in M1 model
           Dimensions involved in work status assignment are Category (C type dimension), Time (T type dimension), P_PROJECT (U type dimension) and the driver dimension WFSTATUS (U type dimension)
             I have 3 statuses, let’s call them s1, s2, s3 (in this order)
           I have 2 connections: one to connect to M1 (let’s call it Connection1) and the other to connect to M2 (Connection2)
    I have workbook saved in M2. And I need to get work status with EPMWorkStatus formula from model M1. It seems to be a pretty easy task – just to point “M1” (model name) in “Connection name” parameter of the EPMWorkStatus formula:
    =EPMWorkStatus(M1,0,”C2”,[any Time dim base member], [any P_PROJECT dim base member],[any WFSTATUS dim base member])
    But I faced an issue. The formula returns value “s3” though there are no work statuses set for C2 category because I just created it. And there’re also no records for C2 category in generated work status table for the model M1 (I checked it at SE16 transaction). That is the formula should have returned “s1” value.
    I made some investigations and found out that if I connect using Connection1 (then change active connection to Connection2), then I got the correct results. But if I connect using Connection2, I always have the incorrect results. Even if I connect using Connection2 and then change active connection to Connection1 I have the incorrect results as well. So the results depend of what connection I used to log on (“Log on” button in Excel EPM tab).
    I also found out that received status from the EPM formula when I connect to Connection2 depends of the status I have in the same scope for category C1. That is if I have “s1” status for C1 category, I will have “s1” status for C2 category.
    How can I get the work status from the other connection?

    Hi Mikhaili,
    Save template by marking  "do not store connection"
    Go to edit report -> options and select "do not store connection"
    Regards,
    Shrikant

  • Abstract class, Interface and two models issue

    Hi!
    I will post my code and then ask the question (text between code snippets is bold, so you don't miss it, it's not shouting):
    public class AppScreen extends JFrame
                           implements ActionListener {
      private MemoryTableModel model;
      public AppScreen() {
        this.model = new MemoryTableModel();
           //code
      public void actionPerformed(ActionEvent actEvt) {
          if(table.getSelectedRow() != -1) {
            model.deleteRow(table.getSelectedRow());
          else {
            ErrDialog.noRowErr();
      public MemoryTableModel getModel() {
        return model;
    public class MemoryTableModel extends BasicTableModel
                                  implements MemoryTableInterface {
      public MemoryTableModel() {
        //code
      public synchronized void insertRow(String file, String time) {
        //code
      public synchronized void editRow(int selectedRow, String file, String time) {
        //code
    public synchronized void deleteRow(int selectedRow) {
        //code
    public abstract class BasicTableModel extends AbstractTableModel {
      private final String FILE_COLUMN = "Executable file";
      private final String TIME_COLUMN = "Time";
      protected String[] columnNames   = new String[2];
      protected List<RowRecord> data   = new ArrayList<RowRecord>();
      BasicTableModel() {
        //code
      public int getColumnCount() {
        //code
      public int getRowCount() {
        //code
      public String getValueAt(int row, int col) {
        //code
      public Class<? extends String> getColumnClass(int c) {
        //code
      public String getColumnName(int col) {
        //code
      public List<RowRecord> getData() {
        //code
      public int getTimeColumn() {
        //code
      public int getFileColumn() {
        //code
    public interface MemoryTableInterface {
      public void insertRow(String file, String time);
      public void editRow(int selectedRow, String file, String time);
      public void deleteRow(int selectedRow);
    In this form, everything works fine. But now, I would like to choose between two models at the start, so I thought I would do this:
    public class AppScreen extends JFrame
                           implements ActionListener {
      private BasicTableModel model;
      public AppScreen() {
        if(...) {
          this.model = new MemoryTableModel();
        else {
          this.model = new JDBCTableModel();
    public void actionPerformed(ActionEvent actEvt) {
          if(table.getSelectedRow() != -1) {
            model.deleteRow(table.getSelectedRow());
          else {
            ErrDialog.noRowErr();
      public BasicTableModel getModel() {
        return model;
    public class JDBCTableModel extends BasicTableModel
                                implements JDBCTableInterface {
      public JDBCTableModel(Connection conn)
        throws ClassNotFoundException, SQLException {
        //code
      public void insertRow(String file, String time) throws SQLException {
        //code
      public void editRow(int selectedRow, String newFile, String newTime)
          throws SQLException {
        //code
      public void deleteRow(int selectedRow) throws SQLException {
        //code
    public interface JDBCTableInterface {
      public void insertRow(String file, String time) throws SQLException;
      public void editRow(int selectedRow, String file, String time)
          throws SQLException;
      public void deleteRow(int selectedRow) throws SQLException;
    }But I'm getting error message from AppScreen that method deleteRow(int) is undefined for the type BasicTableModel. I thought if I initialize variable model as some implementation of BasicTableModel, it will be OK. Apparently it's not, so:
    where and what am I missing or
    how can I realize this choosing between two models so I don't have to write "if(model == MemoryModel) else if(model == JDBCModel)" around every method where I have to decide.
    Thanks!

    I would like to have issues interfacing with two classy models, as well. ;-)
    You need to have your BasicTobleModel class implement your JDBCTableInterface interface (even if it doesn't implement those methods itself), if that is how you intend to use that class.
    Edit: Too slow.

  • Problem with ODI 11g (Extension/Modeler issue)

    After installing ODI and running ODI Studio, I did not get the Connect to Repository window in the left. Extension log says: Error: Not Loaded: Missing dependencies: oracle.modeler
    Seems like its a missing extension, can anyone help me with this issue? Thanks

    Yes AyushGaneriwal,
    the problem was non printable characters in the last field of 2000 character arriving from Mainframe download, now i asked for a clean file and is working good.
    Thank you.
    B.

  • Macbook Pro (Late 2011 model issue)

    I purchased my Macbook pro (late 2011 Model) a couple of months back, towards the end of last year. Staright after i had purchased it, and had got it delivered i experienced cracking and clicking noises coming from within the Hinge of the Macbook. And got it replaced for a brand new one as i was still within the 2 weeks prior to purchase, as the apple policy states i was eligible to get a new if i had any problems. So i did. And the brand new replacement macbook pro that i have NOW has the same problem. Ever since i got the other one replaced THIS ONE has the problem or rather much worse, Cracking and clicking noises everywhere whenever i handle the notebook or carry it there is cracking noises everywhere. Whenever i open and close the screen lid, UP or Down. There is loud clicking noises coming from inside, sounds like something is breaking. This is totally unacceptable. First macbook had issue, replaced it, And now replaced Macbook pro is much worse. Since i had it replaced i havent had time to come bring it in. It still bears the same preoblem and is getting worse!

    You're just going to have to take it into your local Apple Store. They won't replace again but you're still within your one-year warranty so they will certainly repair. I have the same model and have not have any of the problems that you describe.
    Regards,
    Clinton

  • Regarding Modelling Issue

    hai
    please can any one tell me "One Characteristic Infoobject can be used as the attribute for another characteristic"
    and let me some issue regarding to this one and send some forms to [email protected]
    I will assign the points for this
    Thanks Alot
    bye
    mohammed

    Hi Mohammad,
    My understanding regarding this is, like Atributes are theoritically characteristics themselves. You can use already created Chars as attributes for other Chars or you create a new attribute in a chars then after they appear  as a chars. So actualy we are arranging them according to their dependency. Now you have choices, if you need a attribute which has attribute only property or you want to create a attribute which if you need you can make as navigational.

  • Modelling Issue

    Hi,
    We have account receivables datamodel, wherein the histroy cube is updated weekly in Finance application.
    As we are updating this every Sunday, it may or may not fall on the end of the month/ end of period.
    Example:
    suppose if the weekly load happens to be on 28 th of the month, then the next load will be on 4th of the next month. And in this process the posting period has been ended on the end of the month.
    As the weekly snapshots were gathered correctly but when it comes to the end of the month this cube is not upto date.
    what can be done inorder to get the snapshot of end of period/end of month in a weekly snapshot model..
    we are against creating one more cube for the monthly snapshots..

    Hi Veerendra,
    Inlcuding a monthly dataload request in a weekly snapshot report hinders the very purpose of weekly snapshot cube as it has chronological data weekly and at the end of month you have monthly dataload request.
    This is tircky situation for us. As we have developed whole model considering weekly snapshot scenario ( We wanted to compare the progress/status of Accounst receivables and this comparing is no longer possible if you include the monthly dataload to the same cube)
    We want to retain the weekly snapshot datamodel and somehow want to include the monthly data update which seems like impossible with out a new monthly cube.
    if there are any tricky way then pls let me know..

  • Tricky Database Modelling Issue

    My application needs to merge items of defferent types into items of one specific type.
    For example, 2dz Heinecken, 3dz Grolsch and 1dz Stella should be turned into 6dz of Heinecken whereas 2dz Heinecken, 3dz Grolsch, 1dz Stella and 3dz Carlsberg should be turned into 9dz Grolsch.
    There isn't really a pattern to it and the rules can change all the time. Therefore, the user should be able to maintain data in the database so that my application can be directed how things ought to be merged.
    I have thought and thought and though how to model this but can't see anything simple. Has anybody here any suggestion?

    I'm not sure what is unclear here Dave...
    I stated what my app was supposed to do but let me try again. Let's assume I had a Beer Table. So I'd have records like:
    Heinecken
    Grolsch
    Stella
    Carlsberg
    etc.
    As mentioned, I need something that allows me to do a lookup based on multiple of these records. For example, I could use a bitmask as a key for my beer table:
    Key Name
    1 Heinecken
    2 Grolsch
    4 Stella
    8 Carlsberg
    16 Tuborg
    32 Leffe
    64 Urquell
    etc.
    I could then create another table that would use the bitmask as a key, so that an entry for say Heinecken/Stella/Leffe which would identify Stella as the default would look like so:
    Key UseThis
    37 4
    While this approach would do the trick, there are many flaws. I was wondering if anyone here had come accross matrixes like that and found a way to implement these elegantly in a relational database?

  • Ugent Modelling issue

    There are 7 z tables in R/3 and i have made 1 to 1 mapping and created 7 different ods.
    now i want to see the possibility of combining the ods and make an another ods for the second layer. i am giving the primary keys of the differnt tables below,pls suggest which can be combined and a second layer can be made.
    TABLE1                    
    SERVGRPID     CHAR     2     0     Service Group ID
    SERVICEID     CHAR     3     0     Service ID
    TABLE2                    
    MODECODE     CHAR     1     0     Shipment Mode
    VALIDFROM     DATS     8     0     Valid From
    VALIDTO     DATS     8     0     Valid To
    VERSION     NUMC     3     0     Version Number
    TABLE3                    
    SERVGRPID     CHAR     2     0     Service Group ID
    SERVICEID     CHAR     3     0     Service ID
    SHIPMODE     CHAR     1     0     Shipment Mode
    VENDOR     CHAR     10     0     Account Number of Vendor or Creditor
    PORT     CHAR     3     0     Port Code
    CONDIND     CHAR     1     0     Condition Indicator
    RANGEID     CHAR     4     0     Range Id
    GJAHR     NUMC     4     0     Fiscal Year
    VERSION     NUMC     3     0     Version Number
    TABLE4                    
    SERVGRPID     CHAR     2     0     Service Group ID
    SERVICEID     CHAR     3     0     Service ID
    SHIPMODE     CHAR     1     0     Shipment Mode
    VENDOR     CHAR     10     0     Account Number of Vendor or Creditor
    PORT     CHAR     3     0     Port Code
    CONDIND     CHAR     1     0     Condition Indicator
    RANGEID     CHAR     4     0     Range Id
    GJAHR     NUMC     4     0     Fiscal Year
    VERSION     NUMC     3     0     Version Number
    TABLE5                    
    SERVGRPID     CHAR     2     0     Service Group ID
    SERVICEID     CHAR     3     0     Service ID
    SHIPMODE     CHAR     1     0     Shipment Mode
    VENDOR     CHAR     10     0     Account Number of Vendor or Creditor
    PORT     CHAR     3     0     Port Code
    CONDIND     CHAR     1     0     Condition Indicator
    RANGEID     CHAR     4     0     Range Id
    GJAHR     NUMC     4     0     Fiscal Year
    VERSION     NUMC     3     0     Version Number
    TABLE6                    
    ZONECODE     CHAR     3     0     Zone Code
    TABLE7                     
    PORTCODE     CHAR     3     0     Port Code

    HI mohan,
        ODS behaves same like a 2 dimentional table. obviously if u want to combine 2 or more ODS's u need to have the same keys . but i think table 2 does nt have check if table 2 have same keys as of table 1 ,3,4,5 if u have same keys in R/3 then move those fields also . if u dont have then we cannot include that ODS.
    chk the business requirement and try to come up with som other model.
    Message was edited by: San

  • Dimensional Modelling  issue

    Hi,
    I am working with Stock Exchange data, as per the availability of data, I found 2 dimensions that is
    *(1)Time*
    *(2)Company*
    In my fact table, some of the fact(measures) are changing based on Date(Day) and some of the them are changing based on Time
    My questions:
    [1] : Can a dimension model have only 2 dimensions ?
    [2] : Can I make 2 fact tables, Fact-1 will store measures based on the Date(Day) and Fact-2 will store measures based on the Time ?
    Please share your valuable suggestions..
    Thanks.
    Edited by: 952012 on Feb 14, 2013 1:19 AM
    Edited by: 952012 on Feb 14, 2013 1:51 AM

    For your questions:
    1->Yes, there is no restrictions. Make sure a dimension is joined to any other object. It can be self join using Alias.
    2->Creat a logical fact able in BMM and add DayFact and TimeFact as logical sources and set proper content levels if needed.
    Since you are going with 2 different granularity, for time you might need a new dimension table as good as W_DAY_D interms minutes.
    I think you might need it for analysis based on time and this also helps you to roll up to the day level.
    Generally 20130214 is surrogate key for w_day_d for today's record, similarly for Time level you have to go for each minute like
    1-->00:01 AM
    2
    3
    60-->01:00AM
    101-->01:01AM
    .... like that to cover 23:59 PM
    Let me know if need more info.
    If helps mark

Maybe you are looking for

  • Self assigned IP Address, wireless doesn't work

    After upgrading to Leopard I keep getting "AirPort has a self-assigned IP address and may not be able to connect to the Internet." when I try to connect to the wireless network. Thus, wifi does not work at all. I've researched it best I can and it se

  • Memory leak when "Use JSSE SSL" is enabled

    I'm investigating a memory leak that occurs in WebLogic 11g (10.3.3 and 10.3.5) when "Use JSSE SSL" is checked using the Sun/Oracle JVM and JCE/JSSE providers. The leak is reproducible just by hitting the WebLogic Admin Console login page repeatedly

  • How to write select within select  in ABAP

    Hi Guys I want to write a select statement in ABAP to select from 2 tables below is my code I want to write select within select statment in --->A and replace with ---> B FORM sales_production_order  USING    p_vbeln TYPE vbeln_va                    

  • Query on implementing Internationalization

    Hi, We're using helper classes to implement the Internalization in our project. But due to this there is lot of redundant code which also creates problem when we want to internationalize for newer markets. I've read about JSTL providing this function

  • Sending "tell a Friend" in Mobile me?????

    I'm able to compose the email to "tell a friend" and able to click send, but I get the rainbow wheel and eventually get an alert that tells me "unable to send email, try again later" am I the only one that has this problem? thanks