Here is a short post about something I just found and never used until now. You can create restrictions in Analysis Office by either using the context menu of a measure or via the ribbon menu entry under Calculations >> Add Restrictions. It will display a new dialog where you can define your restrictions.
Analysis Office 2.6 SP1 is available since last week. When you look at the What's new guide from SAP, you see nothing spectacular new. You have now a new file system setting called AlwaysDoApplicationSteps. You can use this setting to write entries into the table RSDDSTAT_OLAP afer each action without the need to close Analysis Office.
In my current project I have a file to import, which only delivers me a string with a length of 1000. I also get a description what is in this file. Like the following points:
The file looks like: 0000123456London............................ So I have a file and a description how to decode this file. Now I need to find a way to separate this information into InfoObjects. I build a Z-Table which contains the decode information.
Since today Analysis Office 2.6 SP1 is available. You need as always a S-User to download the latest version. Here is a short overview what it might fix.
A overview what's new will be available next week. If you find something interesting, please feel free to post a comment.
Lately, all my posts started with "In my current project", so now something else, even if it was developed in the current project. The problem we are facing with is that we get a data extraction which deliver us only the new data records, not the reverse data record.
In my current project we have a lots of source systems which delivers our data in a key figure model. In a normal case is this not a problem. But we need the values of the key figures in a hierarchy. So there are two ways to realize it. First way would be we build a structure with restricted key figures and get our hierarchy. Here is the problem, the customer will need different queries to realize his needs. If there is a change, we need to adjust different queries (each has a light different hierarchy) and the maintainace is immense.
As you might know, Analysis Office 2.6 is available now. To download it, you need a S-User with download credentials. First SAP BusinessObjects Analysis for Microsoft Office is now called, SAP Analysis for Microsoft Office. Damn I have to rewrite my book, just kidding. Here is a short overview of What's new in Analysis Office 2.6:
So I just downloaded Analysis Office 2.6 and maybe I can write a little bit more in the next days.
In the last month I was very busy with my thesis and my project at work, so I had no time to write a lot of blog posts. So here is a short overview what Analysis Office 2.5 SP2 fix. But keep in mind, Analysis Office 2.6 is up coming.
In my current project I created with a collegue a really cool function to analyze a string with 1333 characters. We are using a BW 7.4 SP 17 on HANA. First we have to build an Advanced DataStoreObject with a Field which has a length of 1333. For further understanding, we call the field Field_1333. As data type I used SSTRING.
A really cool feature of Analysis Office 2.5 can you see in the "backend" under File >> Analysis. The function Customize Analysis offers now new options. Besides the Customize User Interface from Analysis Office 2.4 which allows you to change the ribbon menu of Analysis Office, you now can directly modify the technical settings of Analysis Office.
This week is very short in case of the day of German unity and we have sprint change next week, I haven't time to write a lot so here is just one goodie. When you insert a DataSource in Analysis Office 2.5 you see the recent inserted DataSource. Now in Analysis Office 2.5 you also see the technical name of the query and the system. I think this is nice if you are testing a query on different systems.
In my current project I work a lot in the backend of a BW 7.4 on HANA but I finally found time to look into Analysis Office 2.5. Here is a short explanation about the feature that the scaling factor works now with conditional formatting. If you configure your conditional formatting like the following screenshot and apply after that your favourite scaling factor. It automatically adjusts.
Analysis Office 2.5 is finally available since the end of August for everyone. After I submit my diploma thesis last week, I have now time to see whats new in Analysis Office 2.5. Here is the first short overview of the new feature:
At the moment it is very quiet about new blog post. This is maybe the summer break everybody talks about. ;)
I am at the final phase of my diploma thesis and have no time to do cool stuff and also SAP doesn't release Analysis Office 2.5. It is still in ramp up and nothing new at the moment.
So I could only say, my current project is a BW on HANA and I am testing how HANA SQL Script (AMDP) works and how fast we could build some stuff. First tests show a transformation with routines for 800.000 records about 1:55 minutes. The same transformation with AMDP (ABAP Managed Database Procedures) only need between 15 - 23 seconds. This is really impressive.
So stay tuned, if SAP will release Analysis Office 2.5 and some examples with AMDP.
Mobile Application is the big thing in management. If you want to create a mobile application in SAP Design Studio, SAP have some recommendations:
I hope everybody stick to this recommendations or we will see people looking like that:
I know that I don't publish a lot of new posts the last few weeks. The reason is I am writing on my diploma thesis. The title is "S/4HANA versus BW/4HANA - Zukunft der Datenanalyse". My deadline is in the middle of September so I have to write a lot these days. At the moment, I have access to a BW/4HANA instance in the cloud and I want to share how you could export your development before you terminate the instance. First you have to log on with the SAP* user in the client 000. Go to the transaction stms and select the System Overview.
Last week the Analysis Office 2.4 SP3 was released. Here is a short overview of notes, which may solves some problems.
If you use a BW/4HANA instance, you have to use the BW Modeling Tools (BWMT) to build your data model. You could only build Advanced DataStore-Objects (ADSO). If you create a new ADSO, you have to select a BW-Project and an InfoArea. After that you have to define a technical name and a description. You could also use a template to build your ADSO.
I described in a earlier post how to use BW/4HANA on Amazon AWS. But if you just need a developing system for some time and don't want to use BW/4HANA, you can use the BW 7.5 SP2 developer edition on a virtual machine.
After I had time in my parental leave to read proof the second edition of my book, I can say it is now finished. The second edition is now available in the store. You can download the table of content here. This version is only available here and at the moment not on Amazon.
If you have any questions feel free to ask and send me either an email or a comment. I hope to publish regularly in the next weeks so stay tuned.
In this blogpost I want to know if there is an interesting about an Analysis Office Video Course. Thanks for your time and your answers. Open the survey.
I want to document a BW data model and searched for a Microsoft Visio shape, but I found nothing. So I build my own Visio shapes. At the moment there are the following types available:
I used them in my last blogpost about Copy Queries to a new MultiProvider.
In my current project, we want to separate the current MultiProvider with VirtualProvider underneath into one MultiProvider with VirtualProvider and one MultiProvider without VirtualProvider. This step is necessary, because we receive a lot of data and don't want to push all these data through the VirtualProvider. The VirtualProvider only add one field which we haven't got in our InfoCubes and it isn't necessary in all queries just a few.
At the moment I had to deal with a special problem. I have data in a SPO from two different sources and the goal was to find the corresponding two data lines and make one out of it. This line should marked with a special character. So I decided to build an Analysis Process (APD).
Sometimes it is necessary to check your data model if it still fit your needs. For this you can use the transaction rsrv. Select there under All Elementary Tests >> Database >> Database information about InfoProvider tables.
On 10.03.2017 a new service pack for Analysis Office was released. The main reason why you should update from SP0 or SP1 is that they fixed a lot of bugs in it (and maybe they build some new). Here is a short overview of the fixed problems:
In my current project I had to clean up the existing process chains. A lot of process chains were created via SPOs and not really used in the system. First I had to check, if one is used in a another process chain or in which one they are used.
In my current project we have to transport from a maintenance system to our development system. The problem is when you now transport the objects into quality system, you have to check the option "Overwrite Originals" so that your transport is working. But you have to put this flag on every transport you make in the future from your development system to quality.
There are also some changes in the User Interface Customization.
In my current project, we have a copy of the productive system as a maintenance system, because we made huge changes in
the development system in case of the project. So if there is an error in the production, we can easily repair it.
Some changes have also be transported into the development system, so we have the same state and our future request can be transported into production. For this we use the functionality Transport of Copies. All objects of the originally request are still locked. If you want to create a transport of copies, open the transaction SE01. Check the option “Transport of Copies” and click on Display.
After we created in Part 1 the transparent tables and in Part 2 all BAdI implementation, we can now maintain and create our SPO. First we have to fill our table ZSPOPATTERN with a PATTERNID and a corresponding INFOOBJECT. Go to the se16 and create a new table entry. As PATTERNID enter a unique id for example CALYEAR and as INFOOBJECT 0CALYEAR. For TXTLG and TXTSM enter a useful text. Depending on how many InfoObject are used for a partition, create the other pattern.
After we created in part 1 all tables and objects, we can now create a new BAdI to generate the partitions. Go to the transaction se19 and create a new implementation with the Name RSLPO_BADI_PARTITIONING.
At my current project I needed a way to create Semantic Partitioning Object (SPO) via BAdI to reduce the end-of-year work. After a little search via Google (you cannot find anything on the new SAP Community Page), I found these threads.
After I started my BW/4HANA instance on cal.sap.com and everything was working, I logged on and typed RSA1. But there was no modeling tab anymore. Then I rememberd, I need the BW Modeling Tools. So I installed the latest Version of Eclipse and the BW Modeling Tools. After that I need a Project. The project is the binder for all activities in our BW system. Make a right-click in the Eclipse Project Explorer and choose BW Project.
A new feature of Analysis Office 2.4 is workbook or sheet protection. It is similar to the Microsoft Excel Protect Sheet / Workbook function, but it is also different. When you need to protect your workbook or sheet and you use the Excel functionality, you can not refresh or drill down your Crosstab. But when you want to refresh your data or give the users the opportunity to drill down or filter, you have to use the workbook / sheet protection from Analysis Office.
And also these parameters:
Only then AppBuilderCompanyProfileDirectory is a PerMachine parameter, the others are UserRoaming. How the other parameters exactly work has to be tested. The Ao_app.config also provides new parameters:
So it can be possible that the user can choose between the old BEx Query Designer and the new BW Modeling Tools. The default parameter is "0", so at the moment I cannot say what exactly has to be the value for other query designers. The parameter DoSelectorHierarchyExplicitSelection should select only the child nodes of a node and the parent node is not automatically checked. But I haven't got a chance to test this. So I can't confirm this. I don't know at the moment how the parameter AutoCompleteFetchMemberLimit works, I only know the default value is 30. But as soon as possible I add these information to this post.
So after I read a lot about BW/4HANA, I decided to create a own SAP BW/4HANA 1.0 [Developer Edition] instance on my Amazon AWS account. First I had to extend my normal AWS account with a IAM user. For this you choose under Security, Identity & Compliance >> IAM. Under Users you click on Add user.
A new feature of Analysis Office 2.4 is that you have a function called Customize User Interface. On the first view it looks similar to the Excel customize ribbon function. But it has more flexiblity to switch between different interfaces. First you have to open the Customize User Interface dialog via File >> Analysis. The following dialog appears.
This week I want to test the integration of a BI Platform to my .Net program. So I want to install a test version of the BIP, but my virtual machine hadn't enough space. The first step was to extend the space of the disk. It is very easy in VirtualBox to extend the disk.
After my VirtualBox was ready I could install the BIP. But the next issue was found very soon. I need a license key.
So it is done, Part 2 finally is written and an example is uploaded to github. It took me about 8 months to release Part 2 of these series. Part 1 was released in March 2016 and now I had time to write an example for Part 2 and upload it to github. Part 1 discover the basics about a RFC Server with the SAP NCo Connector, part 2 now explain how to build a RFC Server more flexible.
If a SAP Design Studio Application has been developed in local mode or on a develop machine, these can be exported and then imported into a new system. Here is a short guide.
This week the new open SAP course BW/4HANA in a Nutshell started. It is a free course. One big thing is that BW/4HANA no longer supports the good old BEx Suite. You now have to use the BW Modeling Tools based on Eclipse. In this and further posts I will go deeper into the BW Modeling Tools and what is possible and what is not possible at the moment.
If you have any questions feel free to ask or correct me ;) So let's get started.
Here is a short guide how to update an extension in SAP Design Studio.
1. Select Help >> About
In this article I describe in a short manual how to set up Eclipse for Design Studio.
1. Open Eclispe and choose Window >> Preferences.
This week I don't have much time to write an article about Analysis Office, but I found an interesting article from Xavier about Migrating Analysis for Office workbooks from BW to BI Platform last week.
The topic came up yesterday as a collegue asked me if I know why he can't save a workbook to the BI platform. The workbook was opened from a NetWeaver system and than the option save to BI Platform isn't available.
So read this article if you have the same problem.
You can define the RuleID, if you do not define an ID, the system generates one automatically. As Data Source Alias, you have to enter the data source alias, e.g. DS_1. As Position you can choose between Before, After, BelowHeader or BesideHeader. For PositionBy you can enter one of the following elements:
Here is the post Analysis Office: How to work with Excel formulas as a short video.
Since Analysis Office 2.3 was released, you are able to cancel long-running queries. In the Ao_app.config you can define the parameter CancelPopupDelay. The default value is 5 seconds. You can change this setting to specify after how many seconds the cancel dialog should be displayed. The dialog could appear when you inserting a data source or navigating through the data and it took more than 5 seconds.
If the dialog is displayed, you could press "cancel" to cancel the server request. In the following message dialog, you can select restart to go back to the workbook and the data source is active. Or you select close to go back to the workbook and the data source is offline. If you don't cancel the request, the dialog will disappear automatically when the server request is completed.
It is done. My Analysis Office book is finished. You can now download the table of content and the release of the book is next week. Have fun and if you have feedback send it to me.
Have a nice weekend.
The information what you need to use Design Studio including the SDK can be found on many places. My problem was there is no guide where you find everything and here is a list:
The Preferred Startup Mode of Design Studio decides where an application is developed and saved.
In Analysis Office 2.2 SP3 some new interesting parameter for Ao_app.config were delivered. The following parameter are interesting and in some case maybe very useful.
Use this setting to define the maximum number of parallel threads that can be used to open the SAP HANA DataSources of a workbook. This only works with SAP HANA.
Use this setting to specify the mode of the prompting dialog when you open a workbook from the NetWeaver that contains exactly one DataSource.
The function SAPGetVariable returns the value for a specific BW variable. For example:
and reinstall Design Studio again. Maybe sometimes it is enough to rename only the folders. More Design Studio troubleshooting can be find in the Design Studio Wiki.
Analysis Office has different two kinds of variants. One is a workbook variant and the other is a DataSource variant. So what is exactly the difference?
If you have a workbook you can save your variants in the prompt dialog.
I just got access to a NetWeaver 7.5 SP2 and I want to test it with Analysis Office 2.3. So I open Excel and insert a query. And here we go first error: "unable to open data source", so I thought maybe the query is broken and I developed a new query and insert it. Here we go, same error. Maybe queries don't work, so I insert a InfoCube directly. Same error...
Now I refresh the insert query and got an Analysis Office message: Error while executing function module: BICS_PROV_OPEN
In the explanation was one line with the hint "wrong parameter type in an rfc call", so I looked into st22 and saw a dump which the message: CALL_FUNCTION_ILLEGAL_P_TYPE
The other day I had a very strange phenomenon. I was at a client, where I had created several queries a month ago. The query information shows me as owner of these queries. In the meantime the Department has made some small changes, so that I was no longer the last user who changed the query.
A new feature of Analysis Office 2.3 is a macro called SAPOpenWorkbook. Some of you maybe know the old sapbex.xla!SAPBExReadWorkbook or the BExAnalyzer.xla!runWorkbook command.
The user guide explanation for this macro is:
You can use this API method to open an Analysis workbook. The workbook that should be opened can be stored on a SAP NetWeaver server or on a BI platform.
The workbook is opened in the same Microsoft Excel instance. After the command execution, the opened workbook is active.
As you know the sapbex.xla!SAPBExReadWorkbook respectively BExAnalyzer.xla!runWorkbook command needed either an established connection from the addin or you created your own connection with the following code:
More information will be available on 8th June.
When I was recently creating a new query at a customer, I have found a strange phenomenon. The query should show the average ticket number of a department. First you see the explanation and then I provide the solution of the problem.
The query should show the individual, cumulative and average monthly values, as you can see in the screenshot.
Here is a short overview about the new features of Analysis Office 2.3
I think there is some cool new stuff in AO 2.3 available. Can't wait to see the next version.
I just download the version and hope to write more in the next days.
Since Analysis Office 2.1 you have a formula editor. You can find this function in the group Data Analysis >> Calculations >> Add Advanced Calculation.
I just want to implement a button which should print my application. I found a tutorial, which says the code is APPLICATION.PRINT. But when I write the coding in Design Studio, .Print isn't available.
I just started working intensive with SAP Design Studio and developing own components. When you install Design Studio 1.6, it starts in local mode. In this mode you can save your design studio application only on your local maschine. If you want to use other supported platforms, you have to select the required platform in the settings.
Since three days a new service pack of Analysis Office is available. Now you can use Analysis Office and Excel 2016.
Here is a summary of new functions
Detail information can be find in the What's new Guide.
In some cases you want to trigger an external program from a SAP system. In this part 1 I explain how to build a RFC Server with NCo 3.0. I had several problems when I started with this topic so I decided to write a short example. If someone want the Visual Studio project files, please contact me.
So let's go.
This Post describes how to build a simple RFC Server using SAP NCo 3.0 and the app.config. Part 2 will be describe how to build a RFC Server with RFC Parameter. As example program I use STFC_CONNECTION. It is a good example, because it contains importing and exporting parameters.
First you have to download and install NCo 3.0 (OSS login required). Afterwards you have to start a new project in Visual Studio.
Setting up the Visual Studio Project:
In the properties of the project you have to use a new console application. As target framework I use .Net Framework 4.5.
I just found a very good tip at Chandoo's blog, how you can sum many ranges with multi-select.
While developing in the Visual Studio for .Net you can get an error like this: "Interop type 'CrystalDecisions.Enterprise.SessionMgr' cannot be embedded. Use the applicable interface instead." or in German: "Interop Typ 'CrystalDecisions.Enterprise.SessionMgr' kann nicht eingebettet werden. Verwenden Sie stattdessen die anwendbare Schnittstelle."
To aviod this error, you have to change the properties of this reference. You have to switch the "Embed Interop Types" from True to False.
In the last time I had several problems with external access to a SAP BW System. The access was realized with an old version of the SAP Connector. And that is the problem. If you have a SAP Business Warehouse System version which is greater than 7.3, you maybe get troubles. For example SAP added new fields or like in 7.4 you now have the option for "Long text is XL" in the master data. So the old versions would not work with this.
I just found a very good table about the maintenance of all versions in Martins blog.
If you want to delete or rename an Analysis Office Workbook, you have to right click on the Workbook Opendialog.
After „SAP BW 7.4 Maintain characteristics“ is one of the most read posts. I visualize this post in a short video.
In Analysis Office 2.2 a new feature was published. You can now use your own Excel formulas in a Crosstab. First you have to add a row or column in your Crosstab. The table design is a feature since Analysis Office 2.0.
You can add your formula.
The most important thing when you are working with VBA in Analysis Office, is the refresh of the DataSource(s). Otherwise nothing works. Once a connection to the Business Warehouse is established, each DataSource needs to be refreshed.
If you have only one DataSource, that is the source code:
Call Application.Run("SAPExecuteCommand", "Refresh", "DS_1")
If you have more than one DataSource, this is the source code:
Call Application.Run("SAPExecuteCommand", "Refresh")
So that you know if the refresh was successful, you should use the following source code:
Dim lResult As Long
lResult= Application.Run("SAPExecuteCommand", "Refresh")
Dim lResult As Long
lResult= Application.Run("SAPExecuteCommand", "Refresh", "DS_1")
Therefore you can check lResult to 1 or 0. If you refresh the DataSource(s) each time, a lot of time is wasted. To counteract this, there is the following source code:
Call Application.Run("SAPGetProperty", "IsDataSourceActive", "DS_1")
This command checks if the DataSource is already active. Here an example source code:
Dim lResult As Long
'Connection is running?
If Application.Run("SAPGetProperty", "IsConnected", "DS_1") Then
If Not Application.Run("SAPGetProperty", "IsDataSourceActive", "DS_1") Then
lResult = Application.Run("SAPExecuteCommand", "Refresh", "DS_1")
lResult = Application.Run("SAPExecuteCommand", "ShowPrompts", "DS_1")
lResult = Application.Run("SAPLogon", "DS_1", "Client", "User", "Password")
lResult = Application.Run("SAPExecuteCommand", "Refresh", "DS_1")
After this you can excute your own code.
So far is nothing in the help file, but it is called in the SCN Forum under "Whats new in Analysis Office 2.1".
The command is:
Public Sub Logoff()
In BEx Analyzer you could jump into another query from a query / workbook. The GoTo-Function make sense if you have one query for overview and one for detail.
When you have macros in your Analysis Office Workbook and you remove the Crosstab of a DataSource, Analysis Office maybe crashes. Therefore, if you need the DataSource no longer, you should remove it completely and not only the Crosstab.
Private Sub EnableAnalysisOffice()
Dim addin As COMAddIn
For Each addin In Application.COMAddIns
If addin.progID= "SBOP.AdvancedAnalysis.Addin.1" Then
If addin.Connect= False Then addin.Connect= True
In Analysis Office 2.0, SAP has changed the name of the addin. The command is now:
Private Sub EnableAnalysisOffice()
Dim addin As COMAddIn
For Each addin In Application.COMAddIns
If addin.progID= "SapExcelAddIn" Then
If addin.Connect= False Then addin.Connect= True
Now you can continue working with the SAP Analysis commands.
Update: Since Analysis Office 2.3 you also can filter your data by uploading a file.
For more articles please use the year archive above.