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 | sì | 2001-01-15 |
2 | 5 | margherita | sì | 2020-05-16 |
3 | 8 | rosa | no | 2005-08-10 |
4 | 9 | viola | sì | 2010-01-18 |
5 | 12 | rosa | no | 1991-01-05 |
6 | 1 | girasole | sì | 2015-08-20 |
7 | 6 | viola | sì | 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.
