Embedded Analytics

Analytical List Page (ALP)

(C) Brandeis Consulting

Übersicht

Beispiel ALP

Ein gutes Tutorial zur ALP

(C) Brandeis Consulting

Was ist eine ALP?

  • ALP = Analytical List Page
  • Bietet eine Kombination aus Analyse und Transaktion
  • Ermöglicht:
    • Datenanalyse in Echtzeit
    • Drilldown in Detailinformationen
    • Durchführung von Aktionen auf Basis der Analyse
    • Navigation in transaktionale Fiori Apps mit Intent Based Navigation
  • Ideal für datengetriebene Entscheidungsprozesse
(C) Brandeis Consulting

Überblick Fiori Elements Floorplans

Floorplan Zweck Beispiel
List Report Anzeige & Filterung großer Datenmengen Kundenlisten
Object Page Detaillierte Anzeige einzelner Datensätze Kundenprofil
ALP Analyse + Filterung + Aktionen Umsatzanalyse

➡ ALP kombiniert Reporting & Analyse in einer Oberfläche.

(C) Brandeis Consulting

Oberflächenaufbau einer ALP

Titelbereich

Mit zusätzlichen KPIs

Header Bereich mit Visual Filter Bar

Grafische oder klassische Filterung der Daten

Visualisierungen

Ein Diagramm, das flexibel angepasst werden kann

Tabellarische Detailansicht

Datensätze der CDS Quelle, ggf. mit Navigationsmöglichkeit zu einzelnen Datensätzen oder Anwendungen

(C) Brandeis Consulting

Architektur & Komponenten

  • UI-Schicht:
    SAPUI5 / Fiori Elements generieren das Layout automatisch
  • Datenzugriff:
    OData-Services, die auf ABAP CDS Views basieren
  • Annotationsgesteuert:
    Visualisierungen, Filter und KPIs werden durch Metadaten definiert
    • CDS Annotationen steuern das meiste
    • Für Manches (Visual Filter) brauchen wir Frontend Annotationen
(C) Brandeis Consulting

Optionen zur Erstellung einer ALP

ALP mit BAS/VS-Code erzeugen

  • Vorgehen ähnlich wie bei RAP Anwendungen
  • CDS Annotationen aus dem Backend
  • Frontend-Annotationen im BAS

ALP mit Key User App erzeugen

  • Grafische Oberfläche für die Erstellung der ALP
(C) Brandeis Consulting

Basis: Analytische CDS Views mit OData Service

(C) Brandeis Consulting

Vorgehen

  • Anlegen des CDS Views
    • Annotationen für die Darstellung in der Tabelle
  • OData Service anlegen
  • im BAS
    • Fiori Elements Projekt mit ALP Template anlegen
    • Preview starten
  • Anpassungen machen an
    • Annotationen im CDS
    • Frontend Annotationen im BAS mit Guided Development
(C) Brandeis Consulting

Definition der Tabellendaten im CDS

      @UI.lineItem: [{ position: 10 }]
      Status,

      @UI.lineItem: [{ position: 20 }]
      @DefaultAggregation: #SUM
      @Semantics.quantity.unitOfMeasure: 'EffortUnit'
      EstimatedEffort,

      @UI.lineItem: [{ position: 30 }]
      @DefaultAggregation: #SUM
      @Semantics.quantity.unitOfMeasure: 'EffortUnit'
      TotalCurrentEffort,
      @UI.lineItem: [{ position: 40 }]
      @DefaultAggregation: #SUM
      @Semantics.quantity.unitOfMeasure: 'CountUnit'
      EffortLineCount,
      @UI.lineItem: [{ position: 50 }]
      @DefaultAggregation: #SUM
      @Semantics.quantity.unitOfMeasure: 'CountUnit'
      TaskCount,
(C) Brandeis Consulting

Definition der Tabellendaten im CDS

Aggregationsverhalten

Alle Kennzahlen brauchen ein Aggregationsverhalten

    @DefaultAggregation: #SUM

Einheiten und Währungen

Alle Mengen und Beträge bekommen Einheiten und Währungen. Es werden nur gleiche Währungen aufaggregiert. Ansonsten werden zusätzliche Zeilen eingefügt.

    @Semantics.quantity.unitOfMeasure: 'EffortUnit'

Spalten Einblenden

Alle Spalten, die angezeigt werden sollen, müssen mit der Annotation

    @UI.lineItem: [{ position: 10 }]

in der entsprechenden Position definiert werden. Es wird automatisch nach den Merkmalen Gruppiert.

Service Definition und Service Binding anlegen

Oder bestehenden Service erweitern.

(C) Brandeis Consulting

Im Business Application Studio (BAS)

Wir machen das möglichst früh, damit wir die folgenden Schritte auch in der Vorschau anzeigen können.

  • Anlegen mit File->New Project from Template
  • Template Selection: SAP Fiori generator -> Analytical List page
  • System & Service Auswählen
(C) Brandeis Consulting

BAS Einstellungen

(C) Brandeis Consulting

BAS Vorschau

  • Auf Ausführen Button klicken
  • Start Anwendungsname auswählen
  • Warten bis sich entweder
    • Ein weiteres Browserfenster öffnet oder
    • in der Debugconsole "Server started URL: http://localhost:8080" erscheint. Dann darauf klicken und index.html auswählen.
(C) Brandeis Consulting

ALP: Diagramm mit Varianten

@UI.selectionPresentationVariant: [{
     qualifier: 'SPV',
     presentationVariantQualifier: 'PV' }]

@UI.presentationVariant: [{
    qualifier: 'PV',
    visualizations: [{
        type: #AS_CHART,
        qualifier: 'ChartDefault'
    }]

}]
@UI.chart: [{
    qualifier: 'ChartDefault',
    chartType: #PIE,
    dimensions: ['Type'],
    dimensionAttributes: [{
        dimension: 'Type',
        role: #CATEGORY
    }],
    measures: [ 'TotalCurrentEffort' ],
    measureAttributes: [{
        measure: 'TotalCurrentEffort',
        role: #AXIS_1
    }]
}]
(C) Brandeis Consulting

ALP: Diagramm ohne Varianten


Falls in der manifest.json keine PresentationVariant festgelegt wird, dann werden die Default-Variante genommen. D.h. die PV/Chart ohne die qualifier Annotation.

@UI.chart: [{
//    qualifier: 'ChartDefault',
    chartType: #PIE,
    dimensions: ['Type'],
    dimensionAttributes: [{
        dimension: 'Type',
        role: #CATEGORY
    }],
    measures: [ 'TotalCurrentEffort' ],
    measureAttributes: [{
        measure: 'TotalCurrentEffort',
        role: #AXIS_1
    }]
}]
(C) Brandeis Consulting

Visual Filter

(C) Brandeis Consulting

Charts

Dokumentation der Chart Typen

(C) Brandeis Consulting

KPI Cards

(C) Brandeis Consulting