Die Sortierreihenfolge angeben

In diesem Abschnitt:

Vorgehensweise:

Sortierfeldwerte werden automatisch in aufsteigender Reihenfolge angezeigt, angefangen mit dem niedrigsten Wert und bis hin zum höchsten Wert. Die Default-Sortierreihenfolge ist nicht auf allen Betriebssystemen gleich. Auf z/OS lautet sie a-z, A-Z, 0-9 für alphanumerische Felder; 0-9 für numerische Felder. Auf UNIX und Windows lautet sie 0-9, A-Z, a-z für alphanumerische Felder; 0-9 für numerische Felder.

Sie haben die Option, diesen Default zu überschreiben, und Werte in absteigender Reihenfolge anzuzeigen, vom höchsten Wert zum niedrigsten Wert, indem Sie HIGHEST in die Sortierphrase aufnehmen.


Nach oben

x
Syntax: Die Sortierreihenfolge angeben
{BY|ACROSS} {LOWEST|HIGHEST} sortfield					

Hierbei gilt:

LOWEST

Sortiert in aufsteigender Reihenfolge, angefangen mit dem niedrigsten Wert, und bis hin zum höchsten Wert (a-z, A-Z, 0-9 für alphanumerische Felder; 0-9 für numerische Felder). Diese Option ist der Default.

HIGHEST

Sortiert in absteigender Reihenfolge, angefangen mit dem höchsten Wert und bis hin zum niedrigsten Wert. Sie können auch TOP als ein Synonym für HIGHEST verwenden.

sortfield

Ist der Name des Sortierfeldes.



Beispiel: In aufsteigender Reihenfolge sortieren

Die folgende Reportanfrage gibt keine bestimmte Sortierreihenfolge an, so dass per Default die Gehälter in aufsteigender Reihenfolge aufgelistet werden.

TABLE FILE EMPLOYEE
PRINT LAST_NAME
BY CURR_SAL
END

Sie können dieselbe aufsteigende Reihenfolge explizit angeben, indem Sie LOWEST in die Sortierphrase aufnehmen.

TABLE FILE EMPLOYEE
PRINT LAST_NAME
BY LOWEST CURR_SAL
END

Die Ausgabe ist:



Beispiel: In absteigender Reihenfolge sortieren

Die folgende Anfrage listet Gehälter in absteigender Reihenfolge auf.

TABLE FILE EMPLOYEE
PRINT LAST_NAME
BY HIGHEST CURR_SAL
END

Die Ausgabe ist:


Nach oben

x
Ihre eigene Sortierreihenfolge angeben

In diesem Abschnitt:

Vorgehensweise:

Referenz:

Sortierfeldwerte werden automatisch in aufsteigender Reihenfolge angezeigt, angefangen mit dem niedrigsten Wert und bis hin zum höchsten Wert.

Sie können die Default-Reihenfolge überschreiben und Werte in Ihrer eigenen benutzerdefinierten Sortierreihenfolge anzeigen. Um dies zu tun, müssen Sie Folgendes entscheiden:

  1. Welche Sortierfeldwerte Sie erlauben möchten. Sie können alle Sortierfeldwerte angeben, oder einen Teil der Werte. Wenn Sie Ihre Reportanfrage ausgeben, werden nur Datensätze, die diese Werte enthalten, in den Report aufgenommen.
  2. In welcher Reihenfolge die Werte angezeigt werden sollen. Sie können eine beliebige Reihenfolge angeben. Sie könnten beispielsweise angeben, dass ein A1-Sortierfeld, das einen Code mit nur einem Buchstaben enthält, in der Reihenfolge A, Z, B, C, Y, usw. sortiert wird.

Es gibt zwei Möglichkeiten, Ihre eigene Sortierreihenfolge anzugeben, abhängig davon, ob Sie Zeilen mit BY sortieren, oder Spalten mit ACROSS:



x
Syntax: Ihre eigene Sortierreihenfolge definieren
BY sortfield AS 'coltitle' ROWS value1 [AS 'text1'] 
OVER value2 [AS 'text2']
[... OVER valuen [ AS 'textn']]
END

Hierbei gilt:

sortfield

Ist das letzte BY-Feld im Report.

coltitle

Ist der Spaltentitel für das BY-Feld in der Reportausgabe.

value1

Ist der erste Sortierfeldwert in der Sortiersequenz.

AS 'text1'

Ermöglicht es Ihnen, alternativen Text für die erste Zeile zuzuweisen, der den Feldwert in der Ausgabe ersetzt. Setzen Sie den Text in einfache Anführungszeichen.

value2

Ist der zweite Sortierfeldwert in der Sortiersequenz.

AS 'text2'

Ermöglicht es Ihnen, alternativen Text für die zweite Zeile zuzuweisen, der den Feldwert in der Ausgabe ersetzt. Setzen Sie den Text in einfache Anführungszeichen.

valuen

Ist der letzte Sortierfeldwert in der Sortiersequenz.

AS 'textn'

Ermöglicht es Ihnen, alternativen Text für die letzte Zeile zuzuweisen, der den Feldwert in der Ausgabe ersetzt. Setzen Sie den Text in einfache Anführungszeichen.

Eine alternative Syntax lautet

FOR sortfield
value1 OVER value2 [... OVER valuen]

Sie verwendet die auf Zeilen basierende Reportphrase FOR, beschrieben in Finanzielle Reports mit der Financial Modeling Language (FML) erstellen.



x
Referenz: Verwendungshinweise für das Definieren Ihrer Sortierreihenfolge


Beispiel: Ihre Zeilensortierreihenfolge definieren

Nachfolgend sehen Sie, wie Sie Angestellte nach der Bank sortieren, an die ihr Gehalt automatisch überwiesen wird, und wie Sie ihr eigenes Label in der Sortierreihenfolge für das Feld Bank definieren.

TABLE FILE EMPLOYEE
PRINT LAST_NAME
BY BANK_NAME ROWS 'BEST BANK' OVER STATE
   OVER ASSOCIATED OVER 'BANK ASSOCIATION'
END

Die Ausgabe ist:



x
Syntax: Spaltensortierreihenfolge definieren
ACROSS sortfield COLUMNS value1 AND value2 [... AND valuen]

Hierbei gilt:

sortfield

Ist der Name des Sortierfeldes.

value1

Ist der erste Sortierfeldwert in der Sortiersequenz.

value2

Ist der zweite Sortierfeldwert in der Sortiersequenz.

valuen

Ist der letzte Sortierfeldwert in der Sortiersequenz.



x
Referenz: Verwendungshinweise für das Definieren einer Spaltensortierreihenfolge


Beispiel: Spaltensortierreihenfolge definieren

Nachfolgend sehen Sie, wie Sie Angestelltengehälter nach der Bank summieren, an die sie automatisch überwiesen werden, und wie Sie ihr eigenes Label in der Sortierreihenfolge für das Feld Bank definieren.

TABLE FILE EMPLOYEE
SUM CURR_SAL
ACROSS BANK_NAME COLUMNS 'BEST BANK' AND STATE
   AND ASSOCIATED AND 'BANK ASSOCIATION'
END

Die Ausgabe ist:

BANK_NAME                                                                    
BEST BANK          STATE              ASSOCIATED         BANK ASSOCIATION
-------------------------------------------------------------------------
     $29,700.00         $18,480.00         $64,742.00         $27,062.00


x
Spaltentitel auswählen und ACROSS-Werten zuweisen

Wenn Sie die Phrase ACROSS COLUMNS verwenden, um die Spalten auszuwählen und anzuordnen, die in der Reportausgabe für ein ACROSS-Sortierfeld angezeigt werden, können Sie jeder ausgewählten Spalte einen neuen Spaltentitel mit einer AS-Phrase zuweisen.



x
Syntax: ACROSS-Werten Spaltentitel zuweisen
ACROSS sortfield [AS title]
 COLUMNS aval1 [AS val1title] [{AND|OR} aval2 [AS val2title] [... {AND|OR} avaln [AS valntitle]]]

Hierbei gilt:

sortfield

Ist der ACROSS-Feldname.

title

Ist der Titel für den ACROSS-Feldnamen.

AND|OR

Ist erforderlich, um die ausgewählten ACROSS-Werte zu trennen. AND und OR sind zu diesem Zweck Synonyme.

aval1, aval2, ... avaln

Sind die ausgewählten ACROSS-Werte, die in der Reportausgabe angezeigt werden sollen.

val1title, val2title ...valntitle

Sind die Spaltentitel für die ausgewählten ACROSS-Werte.



x
Referenz: Verwendungshinweise dafür, wie Sie ACROSS-Werten Spaltentitel zuweisen
  • Jeder Wert, den Sie als einen ACROSS-Wert in der Sortierphrase angeben, wird in der Reportausgabe angezeigt, selbst wenn der Wert durch einen IF- oder WHERE-Test herausgefiltert wird, oder wenn der Wert in der Datenquelle gar nicht vorhanden ist.

    Hinweis: Bei gestylten Ausgabeformaten entfernt SET HIDENULLACRS=ON leere Spalten in ACROSS-Gruppen aus der Reportausgabe.

  • Spaltentitel für ACROSS-Felder werden in einer Zeile der Reportausgabe angezeigt.
  • Unterstützung für AS-Namen für ACROSS-Werte ist beschränkt auf den TABLE FILE-Befehl.
  • Wenn Sie eine HOLD-Datei mit SET ASNAMES = ON erstellen, wird der ursprüngliche Feldname an die Ausgabemasterdatei weitergegeben, nicht der AS-Name.


Beispiel: Spaltentitel auswählen und ACROSS-Werten zuweisen

Die folgende Anfrage mit der GGSALES-Datenquelle wählt die Spalten Kaffeemühle, Latte und Kaffeekanne für das ACROSS-Feld PRODUCT aus, und weist jeder einen neuen Spaltentitel zu:

 TABLE FILE GGSALES                     
 SUM                                    
 DOLLARS/I8M AS ''                      
 BY REGION                              
 ACROSS PRODUCT  AS 'Products'          
   COLUMNS 'Coffee Grinder' AS 'Grinder'
    OR Latte AS 'caffellatte'              
    AND 'Coffee Pot' AS 'Carafe'           
ON TABLE SET PAGE NOPAGE
END                                    

Die Ausgabe ist:

             Products                                           
             Grinder          caffellatte      Carafe           
Region                                                          
----------------------------------------------------------------
Midwest         $666,622       $2,883,566         $599,878      
Northeast       $509,200       $2,808,855         $590,780      
Southeast       $656,957       $2,637,562         $645,303      
West            $603,436       $2,670,405         $613,624                                                                   

WebFOCUS