Einen berechneten Wert erstellen

In diesem Abschnitt:

Vorgehensweise:

Referenz:

Ein berechneter Wert ist ein Temporärfeld, das ausgewertet wird, nachdem alle Daten, die die Auswahlkriterien erfüllen, abgerufen, sortiert und addiert wurden. Berechnete Werte sind nur für die angegebene Reportanfrage verfügbar.

Sie geben den COMPUTE-Befehl im Hauptteil der Reportanfrage an, nach dem Anzeigebefehl und optional eingeführt durch AND. Sie können mehr als ein Feld mit nur einem COMPUTE-Befehl berechnen.

Verwenden Sie den Tab Computes, um einen berechneten Wert zu erstellen. Sie können auf den Tab Computes nur zugreifen, wenn Sie Reports im ReportPainter erstellen.


Nach oben

x
Referenz: Verwendungshinweise für berechnete Feldwerte

Folgendes trifft auf die Verwendung berechneter Werte zu:


Nach oben

x
Syntax: Einen berechneten Wert erstellen
COMPUTE fld [/format]= expression;[AS 'title'] [NOPRINT] [IN [+n]]

Hierbei gilt:

fld
Ist der Name des berechneten Werts.

Der Name kann ein beliebiger Name sein, der die WebFOCUS-Regeln für die Benennung von Feldern einhält.

Verwenden Sie keine Feldnamen des Typs Cn, En und Xn (wobei n jede Sequenz aus zwei Ziffern ist), da diese für andere Verwendungen vorgesehen sind.

Format
Ist das Format des Feldes. Der Default ist D12.2. Informationen über Feldformate finden Sie im Handbuch Daten mit der WebFOCUS-Sprache beschreiben .
expression
Kann eine arithmetische und/oder logische Formel oder Funktion sein (siehe Formeln verwenden). Jedes Feld, das in der Formel verwendet wird, muss Teil der Anfrage sein. Jede Formel muss mit einem Semikolon enden (;).
NOPRINT
Unterdrückt das Drucken des Feldes. Weitere Informationen finden Sie unter Die Reportseite layouten.
AS 'title'
Ändert den Namen des berechneten Wertes. Weitere Informationen finden Sie unter Kopfzeilen, Fußzeilen, Titel und Labels verwenden.
IN [+n]
Gibt die Position der Spalte an. Weitere Informationen finden Sie unter Kopfzeilen, Fußzeilen, Titel und Labels verwenden. IN funktioniert in einem HTML-Report nur, wenn der Parameter STYLEMODE SET auf FIXED oder OFF eingestellt ist.

Nach oben

x
Syntax: Einen berechneten Wert ohne eine Berechnung erstellen
COMPUTE fld [/format]= ;

Hierbei gilt:

fld
Ist der Name des berechneten Werts.

Der Name kann ein beliebiger Name sein, der die WebFOCUS-Regeln für die Benennung von Feldern einhält.

Verwenden Sie keine Feldnamen des Typs Cn, En und Xn (wobei n jede Sequenz aus zwei Ziffern ist), da diese für andere Verwendungen vorgesehen sind.

Format
Ist das Format des Feldes. Der Default ist D12.2. Informationen über Feldformate finden Sie im Handbuch Daten mit der WebFOCUS-Sprache beschreiben .


Beispiel: Einen Feldwert berechnen

Im folgenden Beispiel erstellt der Befehl COMPUTE ein Temporärfeld (REVENUE) basierend auf dem Produkt aus UNIT_SOLD und RETAIL_PRICE, und zeigt diese Informationen für New York City an. Das Format D12.2M gibt das Feldformat für REVENUE an und der AS-Befehl ändert die Default-Spaltenkopfzeilen für UNIT_SOLD und RETAIL_PRICE. REVENUE ist nur verfügbar für diese Reportanfrage.

TABLE FILE SALES
HEADING CENTER
"NEW YORK PROFIT REPORT"
" "
SUM UNIT_SOLD AS 'UNITS,SOLD' RETAIL_PRICE AS 'RETAIL,PRICE'
COMPUTE REVENUE/D12.2M = UNIT_SOLD * RETAIL_PRICE;
BY PROD_CODE AS 'PROD,CODE'
WHERE CITY EQ 'NEW YORK'
END

Die Ausgabe ist:

       NEW YORK PROFIT REPORT       
                                    
PROD  UNITS  RETAIL                 
CODE  SOLD   PRICE           REVENUE
----  -----  ------          -------
B10      30    $.85           $25.50
B17      20   $1.89           $37.80
B20      15   $1.99           $29.85
C13      15   $1.99           $29.85
C14      18   $2.05           $36.90
C17      12   $2.09           $25.08
D12      20   $2.09           $41.80
E1       30    $.89           $26.70
E2       33    $.99           $32.67
E3       35   $1.09           $38.15

Nach oben

x
Vorgehensweise: Einen berechneten Wert erstellen

Im ReportPainter:

  1. Klicken Sie auf Computes im Reportmenü oder klicken Sie auf das Symbol Compute in der Setup-Toolbar.

    Die Dialogbox Reportoptionen wird mit dem Tab Computes geöffnet.

  2. Geben Sie den Feldnamen in das Eingabefeld Feld ein.
  3. Geben Sie die gewünschte Formel in die Formelbox ein.
  4. Klicken Sie auf OK.

Nach oben

x
Verweise auf die Position der Spalten mit berechneten Werten verwenden

In einem COMPUTE-Befehl ist es manchmal praktisch, auf ein Feld mit der Position seiner Reportspalte zu verweisen, anstatt mit dem Namen. Diese Option ist besonders hilfreich, wenn dasselbe Feld für mehrere Reportspalten angegeben wurde.

Spaltenverweise sind unerlässlich, wenn Sie denselben Feldnamen auf mehrere Weisen verwenden. In der folgenden Abbildung ist zu sehen, dass auf Spalten, die von Anzeigebefehlen erzeugt werden (ob angezeigt oder nicht), verwiesen werden kann als C1 für die erste Spalte, C2 für die zweite Spalte, usw. Die BY-Feldspalten werden nicht gezählt.

Positionsspalten verwenden

Zusätzliche Informationen über Spaltenverweisnummern finden Sie unter Spaltenverweisnummern zuweisen.



Beispiel: Positionsspaltenverweise verwenden

Im folgenden Beispiel sehen Sie Positionsfeldverweise in einem COMPUTE-Befehl:

TABLE FILE CAR
SUM AVE.DEALER_COST
SUM AVE.DEALER_COST AND COMPUTE RATIO=C1/C2;
BY COUNTRY
END

Auf die Spalten, die von Anzeigebefehlen erzeugt werden, kann verwiesen werden als C1 für die erste Spalte (AVE.DEALER_COST), C2 für die zweite Spalte (AVE.DEALER_COST BY COUNTRY), usw. Die BY-Feldspalten werden nicht gezählt.

Die Ausgabe ist:

AVE                      AVE                        
DEALER_COST  COUNTRY     DEALER_COST           RATIO
-----------  -------     -----------           -----
      7,989  ENGLAND           9,463             .84
             FRANCE            4,631            1.73
             ITALY            10,309             .77
             JAPAN             2,756            2.90
             W GERMANY         7,795            1.02

Nach oben

x
ACROSS mit berechneten Werten verwenden

Wenn der COMPUTE-Befehl die Compute-Formel direkt nach einer ACROSS Across-Phrase ausgegeben wird, wird nur ein Recap der Berechnung einmal für alle Spalten durchgeführt. COMPUTE wird als Teil des Anzeigebefehls verwendet, so dass eine neue Spalte für jedes Werteset berechnet wird.



Beispiel: COMPUTE als Teil eines Anzeigebefehls verwenden
TABLE FILE SALES
SUM UNIT_SOLD 
COMPUTE NEWVAL = UNIT_SOLD * RETAIL_PRICE;
ACROSS CITY
END

Die erste Seite der Ausgabe ist:

CITY                                                             
NEW YORK            NEWARK              STAMFORD            UNIONDALE
UNIT_SOLD    NEWVAL UNIT_SOLD    NEWVAL UNIT_SOLD    NEWVAL UNIT_SOLD    NEWVAL
--------------------------------------------------------------------------------
      162  1,764.18        42    104.16       376  4,805.28        65    297.70 


Beispiel: ACROSS mit berechneten Werten verwenden

Im folgenden COMPUTE-Befehl sind C1, C2, C3, C4, C5 und C6 Positionsspaltenverweise und der COMPUTE-Befehl folgt auf die ACROSS-Phrase. Der COMPUTE wird für den Report einmal durchgeführt, und die Ergebnisse werden rechts neben den Sortiergruppen angezeigt.

TABLE FILE SALES
SUM UNIT_SOLD AND RETURNS
WHERE DATE GE '010' AND DATE LE '1031'
ACROSS DATE
COMPUTE
TOT_UNITS/D5=C1 + C3 + C5;
TOT_RETURNS = C2 + C4 + C6;
END

Die Ausgabe ist:

DATE                                                                         
10/17       10/18     10/19       TOT_UNITS   TOT_RETURNS              TOT_UNITS   TOT_RETURNS
UNIT_SOLD   RETURNS   UNIT_SOLD   RETURNS     UNIT_SOLD     RETURNS
----------------------------------------------------------------------------------------------
162         15        78          2           29            1          269         18.00

Nach oben

x
Berechnete Werte sortieren

Sie können einen Report nach einem virtuellen Feld oder einem berechneten Wert sortieren. Um nach einem berechneten Wert zu sortieren, müssen Sie die Phrase BY TOTAL in Ihrer Anfrage verwenden. Genaueres finden Sie unter Reportspalten sortieren und aggregieren.


Nach oben

x
Mit berechneten Werten filtern

Sie können mit Werten filtern, die durch COMPUTE-Befehle erzeugt wurden, indem Sie den WHERE TOTAL-Test verwenden, wie es beschrieben ist unter Datensätze für einen Report auswählen.

Sie können mit Werten filtern, die von Compute-Formeln erzeugt werden, indem Sie den WHERE TOTAL-Test verwenden.


WebFOCUS