Montag, 29. Februar 2016

Summe über mehrere Bereiche mit ALT=

Ich habe gerade einen guten Tipp bei Chandoo gefunden, wie man sofort eine Summe unter verschiedenen Spalten mit einem Klick setzen kann.

Man markiert jede Summenzelle mit STRG (CTRL) und drückt ALT + = (ALT & Shift & 0). Sofort hat man seine Summe.


Samstag, 20. Februar 2016

Kurze Information über aktuelle Posts

Nachdem ich in letzter Zeit wenig neue Beiträge veröffentlicht habe, wollte ich nun wissen, ob die Beiträge lieber in Englisch oder in Deutsch veröffentlicht werden sollen. Ein paar Kommentare wären nett.

Demnächst kommt wieder ein großer Beitrag über den NCo Connector und die Möglichkeit einen RFC Server damit zu erstellen. Es gibt diverse Beiträge mit dem alten NCo Connector, aber kaum etwas zu der neuen Version.

Aktuell bin ich mit diversen Projekten beschäftigt und komme leider nicht dazu neue Beiträge zu beschäftigen. Sobald das Scheduling von Analysis Office Arbeitsmappen aus dem BusinessObjects Enterprise (BOE) mit unserem Reporting Tool funktioniert, geht es hoffentlich weiter.


Dienstag, 26. Januar 2016

.Net Fehler Interop type cannot be embedded

Beim Entwickeln im .Net Studio kann es zu dem Fehler "Interop Typ 'CrystalDecisions.Enterprise.SessionMgr' kann nicht eingebettet werden. Verwenden Sie stattdessen die anwendbare Schnittstelle." oder in Englisch "Interop type 'CrystalDecisions.Enterprise.SessionMgr' cannot be embedded. Use the applicable interface instead." kommen.

Man kann diesen Fehler umgehen, wenn man in den Einstellungen der Referenz den "Embed Interop Types" von True auf False umstellt.



Danach kann man das Programm ohne Fehler kompilieren. 

Freitag, 15. Januar 2016

Support SAP Connector for Microsoft .Net (NCo)

In letzter Zeit sind mir immer wieder verschiedene Probleme mit dem externen Zugriff auf SAP BW Systeme aufgefallen. Die Zugriffe werden über den SAP Connector für .Net (NCo) realisiert. Leider sind viele Programme noch mit dem alten Stand des NCo unterwegs und die SAP bietet dafür keinen Support mehr an. 

Zufällig habe ich neulich bei Martin diese schöne Tabelle gefunden.


 

Damit man immer mit der neuesten Version des NCo arbeitet, sollte man entweder den Hinweis 856863 im Auge behalten oder über den Link service.sap.com/connectors gehen. 

Mittwoch, 6. Januar 2016

Rename and delete a Analysis Office Workbook

If you want to delete or rename a Analysis Office Workbook, you have to right click on the Workbook Opendialog.


So every user can rename or delete workbook. If you don't want this, you have to authorize the object S_RS_AO. The object can be add manually in transaction PFCG.

Dienstag, 8. Dezember 2015

Analysis Office: How to work with Excel formulas

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.


Then you can drag your formula down to the end of the Crosstab.


When you now add a new characteristic to the rows, you will see the Excel formula will be automatically adjusts.



Donnerstag, 19. November 2015

Analysis Office: Best Practice Verbindung

Nachdem der Artikel "Fehler beim Herstellen einer Verbindung in Analysis for Office per VBA" sehr oft gelesen wird, möchte ich hier nach und nach ein paar Tipps & Tricks zu dem Arbeiten mit Analysis Office veröffentlichen.

Das wichtigste, wenn man mit VBA in Analysis Office arbeitet, ist das aktualisieren der DataSource. Sonst funktioniert nichts. Sobald eine Verbindung zum Business Warehouse besteht, muss jede DataSource einmal aktualisiert werden.

Wenn man nur eine DataSource hat, geht das mit dem Befehl:

Call Application.Run("SAPExecuteCommand", "Refresh", "DS_1")

Wenn man mehr als eine DataSource hat, gibt es den Befehl:

Call Application.Run("SAPExecuteCommand", "Refresh")

Damit man aber anschließend weiß, ob die Aktualisierung erfolgreich war, sollte man den Befehl folgendermaßen nutzen:

Dim lResult As Long
lResult= Application.Run("SAPExecuteCommand", "Refresh")

bzw.

Dim lResult As Long
lResult= Application.Run("SAPExecuteCommand", "Refresh", "DS_1")

Somit kann man lResult auf 1 bzw. 0 prüfen und weitere Aktionen erledigen.

Wenn man jedes Mal die DataSource(s) aktualisiert, wird sehr viel Zeit verschwendet. Um diesem entgegenzuwirken gibt es den Befehl:

Call Application.Run("SAPGetProperty", "IsDataSourceActive", "DS_1")

Mit diesem Befehl wird überprüft, ob die DataSource schon aktiv ist. Anschließend noch einmal ein Beispiel Coding

Sub AnalysisOfficeStart()

Dim lResult As Long

'Besteht eine Verbindung zum Business Warehouse
If Application.Run("SAPGetProperty", "IsConnected", "DS_1") Then

    'Ist die DataSource aktiv?
    If Not Application.Run("SAPGetProperty", "IsDataSourceActive", "DS_1") Then
    
        'Aktualisieren der DataSource
        lResult = Application.Run("SAPExecuteCommand", "Refresh", "DS_1")
    
    Else
    
        'Zeige Variablenmaske
        lResult = Application.Run("SAPExecuteCommand", "ShowPrompts", "DS_1")
        
    End If
    
Else

    lResult = Application.Run("SAPLogon", "DS_1", "Mandant", "Benutzer", "Passwort")
    lResult = Application.Run("SAPExecuteCommand", "Refresh", "DS_1")

End If

End Sub

Anschließend kann das nächste Coding ausgeführt werden.

Donnerstag, 12. November 2015

Analysis Office 2.1 Logoff via VBA

Seit Version 2.1 stellt Analysis Office nun endlich einen VBA Befehl für das Ausloggen aus dem jetzigen System zur Verfügung.

Bisher steht davon noch nichts in der Hilfe, aber es wird im SCN Forum unter "Whats new in Analysis Office 2.1" genannt.

Der Befehl lautet:

Public Sub Logoff()
Call Application.Run("SAPLogoff",Parameter)
End Sub

Parameter:
  • True: Mit diesem Wert wird die Verbindung zum System neugestartet
  • False: Mit diesem Wert wird die Verbindung zum System nicht neugestartet
Ergebnis:
  • 0: Ausführung fehlerhaft
  • 1: Ausführung erfolgreich

Logoff mit Parameter False



Logoff mit Parameter True


Montag, 19. Oktober 2015

Analysis Office Springen ala BEx Query

Im BEx Analyzer konnte man aus einer Query/Arbeitsmappe in eine andere Query springen. Dies war sinnvoll, um eine Query für den Überblick zu haben und eine mit Detailinformationen.



Die Funktion gibt es auch in Analysis Office, dafür muss wie vorher in der Transaktion RSBBS alle nötigen Informationen gepflegt werden. Danach erscheint in der Analysis Arbeitsmappe folgender Eintrag.


Viel Spaß beim testen.


Donnerstag, 15. Oktober 2015

Analysis Addin stürzt ab

Wenn man mit Makros in der Analysis Office Arbeitsmappe arbeitet und die Kreuztabelle einer DataSource entfernt, kann es sein, dass das Analysis Office Addin komplett abstürzt.

Daher sollten nicht mehr benötigte DataSourcen komplett entfernt werden und nicht nur deren Kreuztabelle.




Dieser Blog ist nun unter www.reyemsaibot.com erreichbar.

Mittwoch, 7. Oktober 2015

Enable Analysis Office Addin

Before you can use Analysis Office with Visual Basic for Application, you have to load the Analysis Addin. The code for this is in Analysis Office 1.4:

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
   End If
  Next 

End Sub

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
   End If
  Next 

End Sub

Now you can continue working with the SAP Analysis commands.


You can reach this blog under www.reyemsaibot.com

Samstag, 26. September 2015

SAP Analysis mehrere Elemente filtern

Es gibt entweder die Möglichkeit direkt beim Auffrischen einer Query in Analysis for Office (AO), nach mehreren Elementen zu filtern. Dafür klickt man auf den Pfeil des Plus-Symbols. Es öffnet sich ein Menü und dort wählt man den Eintrag Zeilen über die Elementfilter hinzufügen.



Es erscheint nun folgender Dialog



Dort kann man entweder alles per Hand auswählen oder man klickt auf den kleinen Button links. Dieser fügt aus der Zwischenablage die Einträge ein. Wenn man das ganze mit VBA realisieren möchte, muss man den Befehl =SAPSetVariable verwenden. Dort ist es auch möglich mehrere Werte auszuwählen. Dafür definiert man einen Bereich und setzt diesen ein. 


Dieser Blog ist nun unter www.reyemsaibot.com erreichbar

Dienstag, 22. September 2015

SAP Analysis Datenquellen-Informationen darstellen

Wie schon im BEx Analyzer gibt es wichtige Informationen, die man gerne in der Excel Arbeitsmappe darstellen möchte. Im BEx Analyzer sah es folgendermaßen aus:


Im Analysis für Office, kann man nun diese Informationen bequem über die Ribbon Oberfläche von Microsoft einfügen.

Wem diese Informationen wie Name der Datenquelle oder Letzte Aktualisierung nicht reicht, kann mithilfe der Formel =SAPGetInfoLabel weitere Felder sich individuell in seine Arbeitsmappe bauen. Interessant ist in diesem Zusammenhang auch die Aktualität der Daten bei Multiprovidern. Da hilft die Formel =SAPGetSourceInfo weiter.

Freitag, 18. September 2015

Ein weiteres Excel Dashboard Beispiel

Nachdem der gestrige Eintrag über „Excel Dashboard einfachgestalten“ einen solchen Anklang gefunden hat, wollte ich nun ein weiteres Beispiel zeigen.




Beide Grafiken sind auf eine A4-Seite optimiert. Welches wirkt besser? 

Dieser Blog ist nun unter www.reyemsaibot.com erreichbar.

Donnerstag, 17. September 2015

Excel Dashboards einfach gestalten

Die Daten, die das Business Warehouse liefert, möchte man benutzen, entweder für einen Monatsbericht oder um aktuelle Geschehnisse des Betriebes zu sehen. Sowohl der BEx Analyzer als auch Analysis für Office liefert diese Daten immer in "Datentabellen". Diese sind weder gut zu lesen, noch ist es möglich auf den ersten Blick zusehen, was man damit aussagen möchte.



Damit es ein wenig ansehnlicher wird, baut man seine eigenen Berichte mit SVERWEIS oder sonstigen Excel-Methoden. Das Ergebnis ist meistens folgendes:



Dies passt nun schon oft in die CI des Unternehmens. Ist aber meistens auch schwer verständlich und enthält viele redundante Informationen. Das folgende Dashboard lehnt sich an die HICHERT Richtlinien an. Ist noch nicht perfekt, aber zeigt was möglich ist.


Noch ein Beispiel für ein Diagramm, welches nicht wirklich viel aussagt.




Dagegen sieht man auf folgendem Bild sofort, wie der Umsatz jeder Produktgruppe sich für den aktuellen Monat entwickelt und in welchem Bereich der Deckungsbeitrag geringer ausfällt (unterer Bereich).



Solche einfachen Dashboards sind relativ schnell in Excel erstellt, leider nimmt sich kaum jemand Zeit dafür. Diese Beispiele wurden in Excel 2010 erstellt. Mit Excel 2013 sind noch weitere Möglichkeiten dazugekommen, Daten zu präsentieren. Einfach mal ein wenig testen.


Dieser Blog ist nun unter www.reyemsaibot.com erreichbar.

Dienstag, 2. Juni 2015

SAP BW Nicht zugeordnete Arbeitsmappen/Workbooks finden

Über die Transaktion se38 kann man mit dem ABAP Programm RRMX_WORKBOOKS_GARBAGE_COLLECT Arbeitsmappen / Workbooks finden, die aktuell keinem Benutzer oder Benutzergruppe zugeordnet sind. Durch setzen des Hakens "gefundene Workbooks löschen" werden diese aus dem System entfernt.





Dienstag, 26. Mai 2015

Verlagerung von BW-OLAP-Funktionen auf SAP HANA

Es gibt den Hinweis 2063449 welcher den aktuellen Stand der Verlagerung von OLAP Funktionen auf die SAP Hana dokumentiert.

Dienstag, 28. April 2015

Excel VBA Text zu Datum umwandeln

Leider gibt der BEx Analyzer ein Datum als Textfeld aus. Dies führt dazu, dass die Sortierung nach einem Datum nicht richtig funktioniert. Mit folgendem Code ist die Umwandlung von Text zu Datum sehr einfach möglich.

Sub Text_zu_Datum()

Dim dDate As Date
Dim Bereich As Range

Set Bereich = Range(Selection.Address)

For Each Cell In Bereich

    If IsDate(Cell.Value) Then
    
        dDate = Cell.Value
        Cell.Value = dDate
    
    End If
    
Next

End Sub

Dieser Blog ist nun unter www.reyemsaibot.com erreichbar.