SAP BW - Infoset

In questo capitolo, discuteremo di cosa sia un Infoset, come crearlo e modificarlo e quali sono i suoi diversi tipi.

Infoset in SAP BI

Gli infoset sono definiti come un tipo speciale di InfoProvider in cui le origini dati contengono una regola di join sugli oggetti DataStore, InfoCubi standard o InfoObject con caratteristiche dei dati master. Gli infoset vengono utilizzati per unire i dati e tali dati vengono utilizzati nel sistema BI.

Quando un InfoObject contiene caratteristiche dipendenti dal tempo, quel tipo di join tra origini dati viene chiamato come join temporale.

Questi join temporali vengono utilizzati per mappare un periodo di tempo. Al momento della segnalazione, altri InfoProvider gestiscono i dati anagrafici dipendenti dal tempo in modo tale che ogni volta venga utilizzato il record valido per una data chiave univoca predefinita. È possibile definire un join temporale come un join che contiene almeno una caratteristica dipendente dal tempo o uno pseudo InfoProvider dipendente dal tempo.

Un InfoSet può anche essere definito come un livello semantico sulle origini dati.

Usi di un infoset

Gli infoset vengono utilizzati per analizzare i dati in più InfoProvider combinando le caratteristiche dei dati master, gli oggetti DataStore e gli InfoCubi.

È possibile utilizzare l'unione temporale con InfoSet per specificare in un determinato momento in cui si desidera valutare i dati.

Puoi utilizzare i rapporti utilizzando Business Explorer BEx sui DSO senza abilitare l'indicatore BEx.

Tipi di join di infoset

Come Infoset è definito dove le origini dati contengono la regola di join su oggetti DataStore, InfoCubi standard o InfoObject con le caratteristiche dei dati master. I dati uniti tramite Infoset possono essere utilizzati nelle query BEx per la creazione di report. I join possono essere suddivisi nelle seguenti query:

Inner Join

Questo join restituisce righe quando c'è una corrispondenza completa in entrambe le tabelle.

Table - 1

ID ordine Identificativo del cliente Data dell'ordine
1308 2 18-09-16
1009 17 19-09-16
1310 27 20-09-16

Table - 2

Identificativo del cliente Nome del cliente Nome del contatto Nazione
1 Andy Maria Germania
2 Ana Ana T Canada
3 Jason Jason Messico

Il risultato di Inner join nella Tabella 1 e nella Tabella 2 nella colonna CustomerID produrrà il seguente risultato:

ID ordine Nome del cliente Data dell'ordine
1308 Ana 09-18-16

Join esterno sinistro

Un join esterno sinistro, o join sinistro, risulta in un set in cui vengono conservate tutte le righe della prima tabella o del lato sinistro. Le righe della seconda tabella o della tabella di destra vengono visualizzate solo se hanno una corrispondenza con le righe della prima tabella.

Table – 1

gid nome di battesimo cognome compleanno preferito_tool
1 Albert Einstein 1879-03-14 mente
2 Albert Slater 1973-10-10 singoletto
3 cristiano Slater 1969-08-18 vanga
4 cristiano Balla 1974-01-30 videocassette
5 Bruce Wayne 1939-02-19 pala
6 Wayne Cavaliere 1955-08-07 vanga

Table – 2

pid gardener_id nome_pianta fertilizzante planting_date
1 3 rosa 2001-01-15
2 5 margherita 2020-05-16
3 8 rosa no 2005-08-10
4 9 viola 2010-01-18
5 12 rosa no 1991-01-05
6 1 girasole 2015-08-20
7 6 viola 1997-01-17
8 15 rosa no 2007-07-22

Ora, se applichi Left Outer Join su gid = gardener_id, il risultato sarà la seguente tabella -

gid nome di battesimo cognome pid gardener_id nome_pianta
1 Albert Einstein 6 1 girasole
2 Albert Slater nullo nullo nullo
3 cristiano Slater 1 3 rosa
4 cristiano Balla nullo nullo nullo
5 Bruce Wayne 2 5 margherita
6 Wayne Cavaliere 7 6 viola

Allo stesso modo, puoi utilizzare il join esterno destro in cui tutte le righe delle tabelle di destra vengono conservate come righe comuni.

Join temporale

I join temporali vengono utilizzati per mappare un periodo di tempo. Al momento della segnalazione, altri InfoProvider gestiscono i dati anagrafici dipendenti dal tempo in modo tale che ogni volta venga utilizzato il record valido per una data chiave univoca predefinita. È possibile definire un join temporale che contenga almeno una caratteristica dipendente dal tempo o uno pseudo InfoProvider dipendente dal tempo.

Self Join

Quando un tavolo è unito a se stesso, è come se ti unissi a un tavolo due volte.

Creazione di un InfoSet

Vai a RSA Workbench e usa il Transaction Code: RSA1

Sotto Modeling → Go to InfoProvider tab → Right click → Create InfoSet.

Nella finestra successiva che si apre, puoi compilare i seguenti campi:

  • Immettere il nome tecnico.
  • Immettere il nome lungo e il nome breve.

Start with the InfoProvider section- Qui è possibile definire l'oggetto che si desidera utilizzare durante la definizione di un InfoSet. È possibile selezionare tra i seguenti tipi di oggetti:

  • Oggetto DataStore
  • Oggetto Info
  • InfoCube

Nella finestra successiva, modificare la modalità di visualizzazione della schermata InfoSet. Fare clic sull'opzione Seleziona InfoProvider. Ciò consentirà di selezionare l'InfoProvider a cui vengono uniti i dati.

Apparirà la seguente schermata con due InfoProvider selezionati.

Per attivare questo InfoSet, fare clic sul pulsante Attiva.

Modifica di un infoset

Per modificare un infoset, utilizzare T-Code: RSISET

Il Edit InfoSet: Initial Screen appare come mostrato nella seguente schermata:

Apportare le modifiche all'InfoSet. Selezionare Tipo di partecipazione, ecc. E quindi fare clic sull'icona Attiva come mostrato nella seguente schermata.