PMS32 Online- Hilfereferenz
Cube Fields
Caption / Bezeichnung des Feldes im Cube
Caption / Bezeichnung des Feldes im Cube. Tragen Sie hier die Beschriftung des Feldes im Cube ein.
In diesem Feld kann die genaue Bezeichnung des Facts oder der Dimension hinterlegt werden. Bei der Erstellung des Cubes werden zuerst alle Spalten des SQL's überprüft. Nicht mehr vorhandene Spalten werden gelöscht und neue Spalten werden hinzugefügt. Die Spaltenüberschrift kann dann angepasst werden.
Feldname
Der Feldname wird durch den SQL Select vorgegeben und kann NICHT geändert werden.
Die Feldnamen im SQL geben schon eine Menge an Informationen an die Auswertung mit!
???_feldname... Trennzeichen ist immer das ERSTE Underline!
F_Fact - Ein Fact (Wert)
FS_Fact - Ein Wert, der summiert wird
FSH_Fact - Ein Wert der summiert, jedoch vorerst nicht dargestellt wird (hidden)
Facts:
FS?_ - Summe (sum)
FA?_ - Mittelwert (average). Zu diesem Feld muss ein Feld mit FT?_ existieren
FD?_ - Minimum (down). Das Minimum des Wertes
FU?_ - Maximum (up). Das Maximum des Wertes
FC?_ - Anzahl (count). DIe Anzahl der Werte
Mittelwert Berechnung:
Für die Berechnung des Mittelwertes wird die Summe und der Count (Zähler/Teiler) benötigt!
SELECT ...
cc.Menge AS FA_Menge,
1 AS FT_Menge,
cc.Menge*cc.Preis AS FA_Wert,
cc.Menge AS FT_Wert
Da der Cube immer nur summieren kann, werden beide Informationen für die Berechnung des Mittelwertes benötigt!
In der Berechnung werden dann: SUM(FA_Menge) / SUM(FT_Menge) bzw. SUM(FA_Wert) / SUM(FT_Wert) berechnet, was den Mittelwert ergibt
Das Zeichen UNDERLINE _ wird für die Bezeichnung (Caption) des Wertes durch ein Leerzeichen (BLANK) ersetzt.
Beispiel:
FSH_Menge_fuer_viele_Werte: Fact,sum,hidden,'Menge fuer viele Werte'
Dimensionen:
D_Dimension (Dimension), eine Dimension, die in der Auswahlleiste der Dimensionen angezeigt wird.
DH_Dimension (Dimension,horizontal), eine Dimension, die horizontal dargestellt wird. (Wichtig nur beim Neuaufbau des Cubes)
DV_Dimension (Dimension,vertikal), eine Dimension, die vertikal dargestellt wird. (Wie oben...)
HINWEIS:
Facts müssen immer vom Typ = numerisch sein, um eine Berechnung durchführen zu können!
Dimensionen 'sollten' immer vom Typ = string sein...
Benutzen Sie keine Umlaute wie: äöü oder ß in den SQL Spalten!
Besonderheit in der WHERE Klausel des SQL Selects:
Der Ausdruck: 1=:1 in der WHERE Klausel des SQL Selects wird bei der Prüfung duch 1=0 ersetzt, damit keine Daten abgerufen werden.
Bei der vollständigen Abfrage werden die Daten jedoch mit dem Ausdruck 1=1 versehen, damit alle Daten abgerufen werden können.
Die Überschriften der Spalten im Cube können im Feld SC0.cCaption noch geändert werden!
*/ Ein Beispiel eines SQL's SELECT d44.match AS D_icd44, d44.renummer AS D_icd44l, c61.match AS DV_icc61, CAST(RTRIM(b01.artnr) AS V(25)) AS D_icb01, d44.idc61 AS D_idc61, STR(YEAR(d44.redatum),4) AS DH_jahr, PADL(MONTH(d44.redatum),2,"0") AS D_monat, d55.menge_vx AS FS_q1, CAST(d55.menge_vx AS I) AS FU_q1i, CAST(d55.menge_vx AS I) AS FD_q1i, CAST(d55.menge_vx*d55.preis_f/d44.faktor*d44.kurs AS B(2)) AS FS_y0b, CAST(d55.menge_vx*d55.preis_f/d44.faktor*d44.kurs*(1-d55.rabatt/100)*(1-d55.rabatt1/100) AS B(2)) AS FS_y0n, CAST(d55.menge_vx*d55.edpreis_i/d44.faktor*d44.kurs AS B(2)) AS FS_y0e, d55.menge_vx AS FT_y0b, d55.menge_vx AS FT_y0n, CAST(d55.menge_vx*d55.preis_f/d44.faktor*d44.kurs AS B(2)) AS FA_y0b, CAST(d55.menge_vx*d55.preis_f/d44.faktor*d44.kurs*(1-d55.rabatt/100)*(1-d55.rabatt1/100) AS B(2)) AS FA_y0n FROM CDBFDIR!d44 INNER JOIN CDBFDIR!d55 ON d44.idd44=d55.idd44 INNER JOIN CDBFDIR!c61 ON d44.idc61=c61.idc61 INNER JOIN CDBFDIR!b01 ON d55.idb01=b01.idb01 WHERE 1=:1 */ Feldnamen und Ihre Auswirkungen: D_icd44 - Dimension (interne Rechnungsnummer) D_icd44l - Dimension (Lieferanten Rechnungsnummer) DV_icc61 - Dimension vertikal (Lieferant C61.MATCH) D_icb01 - Dimension (Artikelnummer) D_idc61 - Dimension (Lieferantenkürzel) DH_jahr - Dimension horizontal (Rechnungsjahr aus Lieferanten Rechnungsdatum) D_monat - Dimension (Monat aus Lieferanten Rechnungsdatum) FS_q1 - Fact summierbar (Verbuchte Menge) FU_q1i - Fact maximum (Verbuchte Menge) FD_q1i - Fact minimum (Verbuchte Menge) FS_y0b - Fact summierbar (Bruttowert in FIW) FS_y0n - Fact summierbar (Nettowert in FIW OHNE Kopfrabatt) FS_y0e - Fact summierbar (Rohstoffzuschlag in FIW) FT_y0b - Teiler für FA_y0b (Summe der verbuchten Menge) FT_y0n - Teiler für FA_y0n (Summe der verbuchten Menge) FA_y0b - Mittelwert (Brutto), siehe auch FT_y0b. Ergibt: SUM(FA_y0b)/SUM(FT_y0b) FA_y0n - Mittelwert (Netto), siehe auch FT_y0n. Ergibt: SUM(FA_y0n)/SUM(FT_y0n) */ Die FROM Klausel: Folgende Definitionen werden ersetzt: CNETDIR! - Netzwerkverzeichnis. Wird durch (My.Clients.Path.cNetDir+'...') ersetzt CDBFDIR! - Mandantenverzeichnis. Wird durch (My.Clients.Path.cDbfDir+'...') ersetzt CSYSDIR! - Systemverzeichnis. Wird durch (My.Clients.Path.cSysDir+'...') ersetzt CFRXDIR! - Reportverzeichnis. Wird durch (My.Clients.Path.cFrxDir+'...') ersetzt */ BEI DIESEM VERZEICHNIS IST VORSICHT GEBOTEN! CTMPDIR! - Temporäres Verzeichnis. Wird durch (My.Clients.Path.cTmpDir+'...') ersetzt */ Bei Einsatz von COM+ Servern kann DEREN temp. Verzeichnis ein anderes sein!
Summierung bei Dimension abschalten
Bestimmt, ob eine Summierung in einer Dimension angezeigt werden soll.
Unsichtbar
Bestimmt, ob der Fact 'zuerst' Unsichtbar ist. Der Benutzer kann den Fact jedoch noch über das Menü des Cubes einblenden.
Berechnung eines % Wertes zur Gruppensumme
Berechnung eines % Wertes (Facts) zur Gruppensumme. Wenn eine solche Berechnung erfolgen soll muss diese hier angegeben werden. Nachträglich kann der Cube (bei der Anzeige) nicht mehr erweitert werden.
Berechnung eines % Wertes zur Komplettsumme
Berechnung eines % Wertes (Facts) zur Komplettsumme. Siehe auch FSUBTOTAL.
Feldtyp
Feldtyp im ADODB.Recordset. Wirtd intern für Berechnungen benötigt
Cubes
Zeiger auf Cubes
Intern
Primärschlüssel
Feldart / Berechnungsart
Wird aus Y01 - Systemtabelle gewählt. Kann enthalten:
F-SUM,F-AVG,F-MIN,F-MAX,F-CNT
D-ALL,D-HOR,D-VER
Diese Feld dient als Timestamp Feld innerhalb der Tabelle und wird vom System verwendet.
Dieses Feld führt ein sogenanntes Änderungskennzeichen mit.
Bei jeder Änderung an dem Datensatz der Tabelle wird dieses Feld um 1 nach oben gezählt.
Bei einem Wert der größer 999 ist wird wieder bei 0 angefangen.
*/ Ein Beispiel für die Berechnung: REPLACE ... , LASTUPD WITH (LASTUPD+1)%1000 UPDATE .... , LASTUPD = (LASTUPD+1)%1000
Diese Feld dient als Timestamp Feld innerhalb der Tabelle und wird vom System verwendet.
Dieses Feld enthält das letzte Änderungsdatum des Datensatzes.
*/ Ein Beispiel für die Berechnung: REPLACE ... , LDATUM WITH My.xDate UPDATE .... , LDATUM = My.xDate
Diese Feld dient als Timestamp Feld innerhalb der Tabelle und wird vom System verwendet.
Dieses Feld enthält das Programm der letzten Änderung des Datensatzes.
*/ Ein Beispiel für die Berechnung: REPLACE ... , LPRG WITH My.lProgram UPDATE .... , LPRG = My.lProgram
Diese Feld dient als Timestamp Feld innerhalb der Tabelle und wird vom System verwendet.
Dieses Feld enthält den Benutzer der letzten Änderung des Datensatzes.
*/ Ein Beispiel für die Berechnung: REPLACE ... , LWER WITH My.cUser UPDATE .... , LWER = My.cUser
Diese Feld dient als Timestamp Feld innerhalb der Tabelle und wird vom System verwendet.
Dieses Feld enthält die Uhrzeit der letzten Änderung des Datensatzes.
*/ Ein Beispiel für die Berechnung: REPLACE ... , LZEIT WITH My.xTime UPDATE .... , LZEIT = My.xTime
Diese Feld dient als Timestamp Feld innerhalb der Tabelle und wird vom System verwendet.
Dieses Feld enthält das Neuanlagedatum des Datensatzes.
My.xDate gibt das aktuelle Datum zurück.
Bitte verwenden Sie nicht DATE()!
*/ Ein Beispiel für die Berechnung: INSERT INTO ... (...,NDATUM) VALUES (...,My.xDate)
Diese Feld dient als Timestamp Feld innerhalb der Tabelle und wird vom System verwendet.
Dieses Feld enthält das Programm der Neuanlage des Datensatzes.
My.lProgram gibt das aktuelle Programm zurück.
*/ Ein Beispiel für die Berechnung: INSERT INTO ... (...,NWER) VALUES (...,My.cUser)
Diese Feld dient als Timestamp Feld innerhalb der Tabelle und wird vom System verwendet.
Dieses Feld enthält den Benutzer der Neuanlage des Datensatzes.
My.cUser gibt den angemeldeten Benutzer (C65) zurück.
*/ Ein Beispiel für die Berechnung: INSERT INTO ... (...,NWER) VALUES (...,My.cUser)
Diese Feld dient als Timestamp Feld innerhalb der Tabelle und wird vom System verwendet.
Dieses Feld enthält das Neuanlageuhrzeit des Datensatzes.
My.xTime gibt das aktuelle Uhrzeit zurück.
Bitte verwenden Sie nicht TIME()!
*/ Ein Beispiel für die Berechnung: INSERT INTO ... (...,NZEIT) VALUES (...,My.xTime)
Siehe auch : Hauptmenü / Hauptindex / Such Index / Cursor Index / Programm Module / Tabellen Index / Tabellenmodule / Masken Index / Programmcode Index / Servicepacks / My.Struktur / Funktionen / Sonstiges Index
Lokale Benutzerhilfe : Meine eigene Hilfe / Zurück zur PMS32 - Hilfe
Dateiversion:1.0.04#3648 - H.U.DD#SSFF 02.12.2022
Senden Sie Ihren Kommentar zu diesem Thema an das Entwicklungsteam von PMS32
Weitere Informationen finden Sie unter der aktuellen
PMS32 WEB-Hilfe
Die Informationen dieser Mitteilung sind vertraulich und nur für Sie bestimmt. Unbefugtes Weiterleiten,
Veröffentlichen, Kopieren usw. sind untersagt und werden gerichtlich verfolgt.
© PMS Compelec GmbH 2022 ® el-Projekt