Posts

Posts mit dem Label "SAP" werden angezeigt.

Power Query, Spalte in Tabelle transformieren, Datenblock, Number.Mod

Bild
Lern Video Ausgangslage: Datenblock (zB wie hier: Adressdaten) bestehend aus 5 Zeilen  Ziel: Transformation der Datenblöcke in Zeilen Diese Vorgehensweise kann auch für Datenblöcke für N Zeilen angewandt werden. Hierzu muß der Modulo Operator entsprechend angepasst werden (s. Schritt 3) 1 Power Query erstellen (Daten -> aus Tabelle) 2 Indexspalte ergänzen (beginnend mit 1) 3 benutzerdefinierte Spalte [Rest] hinzufügen / Modulo   = Number.Mod([Index],5) 4 bedingte Spalte [Indikator] hinzufügen 5 benutzerdefinierte Spalte [ID] hinzufügen = List.Sum(List.Range(#"Indikator"[Indikator],0,[Index])) 6 Spalten [Index] und [Indikator] entfernen 7 Spalte (hier [Adresse]) pivotieren und Spalten umbenennen alternativer Ansatz mit Listobjekt (Liste), List.Split(), Table.FromRows() 1 Tabelle (eine Spalte) in Liste konvertieren 2 Liste aus Listen (Listobjekten) erzeugen List.Split() 3 Liste in Tabelle konvert...

Power Query, abhängige Attribute eines Merkmals vergleichen,List.Difference

Bild
Ausgangslage 2 Tabellen, Spalten [Attribut1] ... [AttributN] sind abhängig von Spalte [Merkmal] Aufgabe: Ermittlung der Differenz beider Tabellen, anders formuliert: Unterscheiden sich die Spalteninhalten [Attribut1] ... [AttributN] beider Tabellen ? Und wenn ja, welche abhängigen Spalten sind es ? 1 Tabellen [Liste1] und [Liste2] als Arbeitsmappenabfrage abbilden 2 Entpivotieren Reiter [Transformieren] -> Spalten entpivotieren -> andere Spalten entpivotieren (Spalte [Merkmal] ist markiert) Anders formuliert: die Spalten [Attribut1] ... [AttributN] und deren [Wert] werden transponiert, Spalten werden in Zeilen gewandelt 3 Spalten [Attribut] und [Wert] in neuer Spalte zusammenführen [Zusammengeführt] 4 nach Spalte [Merkmal] gruppieren, Option [Alle Zeilen]   screenshot siehe folgenden Blog Beitrag  und / oder hier (Abschnitt [alternativer Ansatz])   Spalte [Zusammengeführt]  des Table Objekts in List Objekt (Alle Spalteninhalt...

Power Query, Spaltennamen von Quelldaten in benutzerfreundliche Spaltennamen umbenennen, List.Zip

Bild
Phase 1 - Vorbereitung Quell - Ziel Felder Struktur (Spaltennamen) 1.1 Datenquelle über Excel Power Query anbinden zB SAP Export Daten, Text Datei, Tab getrennt angewendete Schritte := [Quelle] = Csv.Document(File.Contents("D:\Projekte\SAP\Daten\SAP_Export.txt"),[Delimiter=" ", Columns=6, Encoding=1252, QuoteStyle=QuoteStyle.None]) 1.2 Liste (Listobjekt) mit Spalten der Datenquellenstruktur erstellen angewendete Schritte := [Liste_Quellfelder] = Table.ColumnNames(Quelle) Exkurs: Anzahl Spalten der Quelldaten ermitteln = List.Count(Table.ColumnNames(Quelle)) 1.3 in Tabelle konvertieren, Spalte in [Quell_Feld] umbenennen Language M Code --- SCHNIPP --- let     Quelle = Csv.Document(File.Contents("D:\Projekte\SAP\Daten\SAP_Export.txt"),[Delimiter=" ", Columns=6, Encoding=1252, QuoteStyle=QuoteStyle.None]),     Liste_Quell_Felder = Table.ColumnNames(Quelle),     #"In Tabelle konvertiert...

Power Query, laufender Index innerhalb einer Gruppe, Gruppenindex

Bild
Aufgabe: laufenden Index innerhalb einer Gruppe (hier: [Bestellnummer]) erstellen.  Nach Gruppenwechsel  (hier: von Bestellnummer 500000000 zu 6000000000)  fängt der Index wieder bei 1 an 1 Gruppieren, neuer Spaltenname [Daten] 2 benutzerdefinierte Spalte [Gruppenindex] hinzufügen =Table.AddIndexColumn([Daten], "Index", 1, 1) 3 Spalte [Daten] entfernen 4 Spalte [Gruppenindex] erweitern Praxisbeispiel SAP ERP Tabelle MVER (Verbrauchsdaten) Language M Code --- SCHNIPP --- let     Quelle = Excel.CurrentWorkbook(){[Name="tbl_SAP_MVER"]}[Content],     #"Entpivotierte Spalten" = Table.UnpivotOtherColumns(Quelle, {"Material", "Jahr", "Periode", "Zeile"}, "Attribut", "Wert"),     Spalte_Verbrauch_hinzufuegen = Table.AddColumn(#"Entpivotierte Spalten", "Verbrauch", each "Verbrauch"),     Spalte_Attribut_entfer...

SAP Tabellenbeziehungen

Unter  Berater Wiki  können u.a. Beziehungen zwischen wichtigen SAP Tabellen abgerufen werden, so zum Beispiel: Konditionen Logistik SAP MM Stammdaten Eine Übersicht finden Sie hier

SAP Web Intelligence

Handbuch zur Verwendung von Funktionen, Formeln und Berechnungen in Web Intelligence Funktionsgruppe Datum und Uhrzeit Monat([Reservierungsdatum]) Rückgabewert: Dezember, wenn gilt [Reservierungsdatum] = 15. Dezember 2005) NummerMonatDesJahres([Reservierungsdatum]) Rückgabewert: 12, wenn gilt [Reservierungsdatum] = 15. Dezember 2005) Funktionsgruppe ZEICHEN AktuellesDatum() Rückgabewert: 15/12/2005 (wenn gilt: AktuellesDatum() = 15.12.2005) FormatDatum(AktuellesDatum();"dd/MM/yyyy") Rückgabewert: 15/12/2005 (wenn gilt: AktuellesDatum() = 15.12.2005) verschachtelte Wenn Bedingung Wenn ([Dimension]InListe("011";"012";"019";"020";"021";"060");"Name1"; Wenn([Dimension]InListe("042";"043";"050";"051";"081";"082");"Name2";"#"))

SAP Analysis 4 Office

Lern Videos Kreuztabelle kopieren und in neue Excel Tabelle einfügen Excel VBA benutzerdefiniertes Zahlenformat in zusätzliche Spalte auslesen best practices VBA mit Analysis 4 Office Variablen und Filter Handbuch SAP BW Analysis 4 Office

SAP Analysis 4 Office, benutzerdefiniertes Zahlenformat auslesen

Bild
Beim Kopieren von Zellinhalten, welche ein benutzerdefiniertes Zahlenformat verwenden, wird dieses Format nicht in die Zieltabelle übernommen zB 1.000  ST, 50 KG usw. Mit folgendem VBA Code kann man den Format String auslesen und die Einheit in die benachbarte Zelle schreiben, bevor man einen Kopiervorgang einleitet: --- SCHNIPP --- Public Sub FormatStringEinheit_auslesen() Dim c As Range Dim i, j, counter As Integer For Each c In Selection counter = 0     'Länge des Format Strings     i = Len(c.NumberFormat)               For j = i To 1 Step -1                               'auf Vorhandensein eines Anführungszeichens prüfen             If Mid(c.NumberFormat, j, 1) = Chr(34) Then                 counter = counter + 1         ...

SAP relationales Modell Kreditoren email Adressen

Bild
LFA1.ADRNR ADR6.ADDRNUMBER email Adresse := ADR6.SMTP_ADDR

SAP, Power BI, Liefertreue und Lieferzeit berechnen

Bild
Lern Video Ausgangstabelle 1 Verzug berechnen, Fallunterscheidung: [Wareneingangsdatum] = NULL -> Verzug NULL [Wareneingangsdatum] = [stat_Lieferdatum] -> Verzug = 0 [stat_Lieferdatum] < [Wareneingangsdatum] -> Verzug fxArbeitstage([stat_Lieferdatum],[Wareneingangsdatum] [stat_Lieferdatum] > [Wareneingangsdatum] -> Verzug fxArbeitstage([Wareneingangsdatum],[stat_Lieferdatum]) *(-1) 2 Lieferzeit fxArbeitstage([Bestelldatum],[Wareneingangsdatum]) Language M Code (Power Query) let fxArbeitstage = (start as date, end as date, optional Feiertage as list) as number =>         let            Liste_Feiertage = if Feiertage = null then {} else Feiertage,            Liste_Tage = {Number.From(start)..Number.From(end)},            Liste_Differenz  = List.Difference(Liste_Tage, Liste_Feiertage),       ...

SAP Transaktionen MM Listenberichte Report

Bild
Im SAP können die verwendeten Listen über ALV Grid View - entweder über das Selektionskriterium Listumfang - oder über die Parameter-ID ME_USE_GRID = 'X' im Benutzerstamm aktiviert werden. weitere Auflistung von MM Transaktionen

SAP relationales Modell Einkauf

Bild
verwendete SAP Tabellen: EKKO := Einkaufsbelegkopfdaten EKPO := Einkaufsbelegpositionen EKET := Liefereinteilungen EKES := Bestellbestätigungen EKBE := Bestellpositionshistorie Anwendungsszenarien: Datenbasis zur Errechnung einer Lieferanten Liefertreue relationales Modell (Transaktion SQVI - QuickViewer) Ergebnisstruktur: Anschließende Berechnung Abweichung in Arbeitstagen [Buchungsdatum im Beleg] - [Statistikrelevantes Lieferdatum] mit Power Query möglich ( s. Blogbeitrag ) Offene-Posten-Liste Bestellpositionen (Transaktion SQVI - QuickViewer)

SAP SE11, grafische Visualisierung von Tabellen und -beziehungen

Bild
In SAP sind Informationen auf viele einzelne Tabellen verteilt (Relationales Datenmodell). Diese stehen teilweise über Primär- und Fremdschlüssel in Beziehung. SAP bietet mit der SAP Transaktion SE11 ein Data Dictionary an, mit dessen Hilfe man Tabellenbeziehungen anzeigen kann. Dafür wählt man in der Transaktion SE11 die Option "Grafik" an oder nutzt die Tastenkombination STRG - SHIFT - F11: Bei Bedarf  kann man aus den verknüpften Tabellen auswählen und diese dem ER-Modell hinzufügen Für einen schnellen Überblick über Tabellenbeziehung kann sich auch ein Blick auf die Transaktion SQVI lohnen (Quick Viewer)

SAP Analysis 4 Office, Funktion SAPSetFilter() Hintergrundfilterung Datenset

Bild
Leider bietet das SAP Excel AddIn Analysis 4 Office "out of the box" keine Möglichkeit, mehrere Dimensionselemente als Gruppe / benutzerdefiniertes Datenset anzulegen. Das heißt in der Praxis oft, dass bei Bedarf manuell eine Mehrfach Selektion von Dimensionselementen durchgeführt werden muß. Diesen Schritt kann man jedoch mittels DropDown Steuerelement, der Funktion SAPSetFilter() sowie etwas VBA Code automatisieren. Funktion SAPSetFilter / Parameter SAPSetFilter("Datenquelle", "technische Feldbezeichnung", "Element1;Element2;Elementn","INPUT_STRING") --- Beginn VBA Code Public Sub HintergrundFilter_WerksEK(OE As String) 'Übergabe Wert DropDownFeld Dim lResult As Long Select Case OE 'Werkszuordnung Einkauf     Case "OE0"     'OE0     lResult = Application.Run("SAPSetFilter", "DS_1", "ZPURGROUP", "I10;I11;I12;I13;I14;I15;I16;I17;I18;I19;I20;I99", ...

SAP Daten mit Power Pivot auswerten, Datenfeeds, Theobald Software

Holger Gubbels beschreibt in folgendem Artikel sehr schön, wie man mit Excel Power Pivot und Theobald Software SAP Daten über Datenfeeds auswerten kann. http://powerpivotinsights.de/sap_daten_in_power_pivot_auswerten/ Wie man Datenfeeds im Sharepoint Umfeld erstellen kann beschreibt dieser Artikel.

führende Nullen auffüllen, Zellen formatieren, benutzerdefiniert

Bild
Bei einem Import von Rohdaten in Excel kann es passieren, dass führende Nullen bei einer Zahl nicht berücksichtigt werden, zB Typisch ist dieses Verhalten zB beim Import von Daten aus SAP Format 00002222 (8stellig, führende Nullen) Alternativ kann man führende Nullen über Excel Power Query (Get & Transform) mit folgender Funktion erreichen: Menüpunkt Spalte hinzufügen -> benutzerdefinierte Spalte hinzufügen: Beispiel: 7 stellige Zahl mit führenden Nullen =Text.PadStart([Test],7,"0") Die Funktion zum Ausfüllen mit nachgestellten Nullen lautet: =Text.PadEnd([Test],7,"0") siehe auch Verwendung benutzerdefinierter Zahlenformate in Excel Charts

nachgestelltes negatives Vorzeichen SAP Export WENN, RECHTS, LINKS, LAENGE

Bild
SAP Exporte in Excel haben bezüglich negativer Vorzeichen eine Eigenart, welche für die Weiterverarbeitung nicht geeignet sind: Das Minus-Zeichen (-) wird nicht erwartungsgemäß vorgestellt (z.B. -300), sondern nachgestellt (300-). Mit folgender verschachtelter Excel Formel kann man das korrigieren: =WENN(RECHTS(A2;1)="-";LINKS(A2;LAENGE(A2)-1)*-1;A2) alternativer Ansatz mit Excel Power Query  siehe Lernvideo