Run - Allocation: Allocated Leasecost Leasecost Squarefootage / Total Square - Footage
Run - Allocation: Allocated Leasecost Leasecost Squarefootage / Total Square - Footage
Run - Allocation: Allocated Leasecost Leasecost Squarefootage / Total Square - Footage
Often the driver of an allocation is a value such as Sales, SquareFootage, or Employees that you must compare with its total over a given region. For example, the allocation formula for LeaseCost might be the following:
Posted by Jeffrey Holdeman in jeffrey.holdeman on Nov 10, 2009 2:06:05 PM SCN member MotaEngil Developers asked in the SAP BusinessObjects Planning and Consolidation, version for SAP NetWeaver SAP BusinessObjects Planning and Consolidations, version for SAP NetWeaver how to achieveBPC reports - zebra formatting for Excel reports. I will demonstrate two ways to achieve such an outcome using the advanced formatting capabilities of EvDRE formulas in BPC. Let us start with a simple EvDRE report containing four rows with three of them being base members (Accounts CE0004010 to CE0004030) and one calculated total (Account CE0004000).
The intention is to have every other row in the report, be formatted with a color different from the one immediately above or below it. Hence the name "zebra" formatting. Presumably such a requirement is aimed to improve ease in readability of a long report with many rows. The following is a picture of the report we seek to create, while keeping in mind that the rows in the report are not static and will vary depending on the user navigation and the data which exists in the BPC system. However the EvDRE formula which produces this report handles this situation perfectly. Afterall, EvDRE means (Everest) DynamicRange Expansion. Everest being an old code name for the product, if you were not aware.
Having explained the requirement and shown the result, now let us turn to the details behind the solution. The report is based on using the EvDRE formula which contains a FormatRange. In this example it is defined as cell block Sheet1!$A$45:$F$61.
The FormatRange was automatically created as a default by the EvDRE wizard as follows:
We can relate these instructions easily to the report which was shown above. For example it show that DATA elements in the report get a number format expressed with a comma representing the thousands place and a period indicating a decimal place. The DATA cells also have a single black border. Totals rows are defined using the CALC property and have a similar formatting design, but also have a yellow pattern. The dimension member key values get a light green color pattern. To achieve the zebra stripe effect, we have to add a new row within the FormatRange (adjust cell B9 as applicable). I have copied row 46 to row 56 and then changed the CRITERIA from DEFAULT to INPUT.
Next apply the Excel technique for Conditional Formatting to cell C56. Conditional formatting is available from the Home ribbon within the Styles group in Microsoft Excel 2007.
Create a New Rule and select the Rule Type called "Use a formula to determine which cells to format".
In the input box type in either of the following formulas: =MOD(ROW(),2)=0 or =MOD(ROW(),2)=1 Before we continue, let us look at the meaning of these formulas. The first formula checks to see if the row number is even and if true applies the conditional formatting. The the second formula is similar but affects only odd numbered rows. You can see this result is accomplished with the combination of using the Excel functions =ROW() and =MOD(). The latter being a formula that returns the remainder after a number is divided by a divisor. Next select the Format button and goto the Fill tab and select a color which you want to create the zebra stripe effect.
After clicking OK two times to close the conditional formatting dialogue, the spreadsheet will look similar to the following. (It may not actually change color if the first formula was used in an odd numbered row, or visa-versa.)
At this point all that is necessary is to Refresh the BPC report and the conditional formatting will be applied to all the rows dynamically returned by the EvDRE formula. **************************************************************************************** A simpler solution to the zebra stripe requirement is actually offered by the BPC EvDRE function itself. There is an available parameter called ODDROWS which can be used in the APPLY TO section of the FormatRange. For example we might have defined row 56 as follows:
In the example above, cell C56 is simply formatted with a green fill color, rather than using a conditional formatting. After refreshing the BPC report again, the resulting output is as expected.
Using the ODDROWS option, BPC will format the first row of the report and every other row, no matter what row number the cells happen to lie. So if the first row of the report happens to be in row 12, for example, it will be formatted, even though 12 is not an odd number. In contrast, the conditional formatting approach does use the relative position of the report and formats even or odd rows in the workbook as determined by the formula chosen above. Also to note is the fact the conditional formatting did not alter the calculated rows, while the ODDROWS method did. Although it would be possible to create a second conditional formatting rule which does apply against calculated members. Either method can be used to achieve the zebra stripe requirement, but the technique shown here for conditional formatting might be valuable to BPC report writers in numerous other ways beyond color formatting.
This scaling property field should be defined with a length of 1 byte. If for some reason your system does not have this property, then add it to the account dimension, or any other dimension that fits your business requirements. Next maintain your dimension members and assign this property a value which represents a yes or no value. With this setup, yes means to use scaling and no means to not use scaling for each dimension member. In practice you can use any value you want to represent the logical condition, some possible suggestions are shown below. Property Value Yes condition No condition "Y" or "N" "1" or "0" "X" or "blank" Y 1 X N 0
Let's begin by creating a report or input schedule using the EvDRE function. Input =EvDRE() into a cell in the worksheet and click on the Refresh Workbook icon from the BPC for Excel toolbar. When the BPC - EvDRE Builder wizard opens, check the option "Allow formatting" as shown below.
It is in the format range block where you will define the scaling factor you desire to be used in the EvDRE report. Under the CRITERIA column, add a new row which corresponds to the dimension and property shown above. In this example, I have defined the criteria as: P_ACCT.SCALING="Y". Remember to adjust this to your particular master data setup. Under the FORMAT column input any number which is greater than 10,000 since we want to see the effect of scaling to 1000 in this example. I chose to enter number 12345. Finally, under the column APPLY TO enter DATA to signify this formatting should apply to the data in the report.
Next select the cell where number 12345 was entered under the FORMAT column. Right-click and select "Format cells" from the context menu. Select the category for a "Custom" format. Then define the custom format using "0," which tells the system to scale the formatted cell display by 1000.
After clicking on OK, the value 12345 will be scaled by 1000 resulting in a display as 12.
Note: you can learn more about custom number formats in Excel from the Microsoft Office Online help at this link. For example, if you wanted to scale your data by a thousand and also display one decimal place, you could define a custom number format as "#.0,". If you need to scale your data by a million while displaying one decimal, add two commas after the number "#.0,," or use "0,," if no decimal places are to be displayed. In my system, test data was entered as follows: P_ACCT EvDescription Amount CE0004010 CE0004020 CE0004030 Personnel Expense Wages and Salaries Social Contributions 20,000.00 10,000.00 10,000.00
Finally, refresh your BPC report or input schedule to use the new formatting.
As you can see from this example, accounts CE0004020 and CE0004030 have scaling enabled through their member properties, while account CE0004010 does not. Account CE0004000 is a parent of each of these three accounts and it too has scaling enabled. While this example would not be logical from a financial reporting perspective, it is intended to demonstrate how you can control the scaling for each dimension member individually. You might for example need to do this in a report that combines dollar amounts scaled by 1000 and statistical amounts which should not be scaled, such as head count. Note: This demonstration was conducted using SAP BusinessObjects Planning and Consolidation 7.0, version for NetWeaver. However it is equally applicable for the BPC 7.0, version for Microsoft.
217 Views
Comment
Add a comment
Hi Jeff, Just a couple observations; The original purpose of the Scale property in an Account type dimension is to enable scaling with the use of the evgts, (get scaled value) function. The bulk of BPC customers and the preloaded temples still use this function. Thankfully, Outlooksoft did a great job documenting this in the online help. In the SAP document, How to Maximize Advanced Formatting for BPC it presents and infers the Scale property not only indicates the scale of the value but the type of value, (percent, scale value, ratio ). For example, the scale property would maintain values for multiple scales, (i.e., 1, 100, 1000 ). You can also maintain a value such as Percent to indicate the value is a percentage or perhaps Ratio to indicate a ratio vale. In the formatting section; Criteria: Account.Scale=% Format: 12.3% Criteria: Account.Scale=%2 Format: 12.34% Criteria: Account.Scale=1000 Format: 1,234,567,890 Criteria: Account.Scale=Ratio Format: 12.3 It is also possible to use the Scale property within a conditional format or a formula to present the scaled value.
(Used in a formula will usually address rounding issues.) Thanks! David Fletcher