Einen Matrixbericht in Sql-Code


Ein Matrixbericht ist eine gitterartige Darstellung von Daten. Es hat eine Reihe von Etiketten, eine Spalte von Etiketten und in einem Raster Daten mit Bezug zu Zeile und Spalte. Matrixberichte werden auch Kreuztabellenberichte genannt.

Ein Matrixbericht enthält eine Gruppe von Daten für Zeilen, eine Gruppe von Daten für Spalten, eine Gruppe von Daten produktübergreifende und einer Gruppe von Daten als Wert für das Kreuzprodukt. Die Kreuzprodukt-Gruppe stellt alle mögliche Kombinationen von Zeilen-und Spaltengruppen.

Werfen Sie einen Blick auf ein Beispiel. Vorausgesetzt, dass Sie eine Tabelle namens Inv_summary. Es hat drei Spalten: Inv_date, Inv_status und Inv_value. Jetzt wollen Sie einen Bericht generieren, der Gesamtwert der öffnende und schließende Rechnungen für jeden Monat, zum Beispiel unten wie zeigt.

MONAT ÖFFNEN SCHLIEßEN

-------- ------------ ------------

Jan-07-20 19

Feb-07 0 153

Mar-07 18 56

Apr-07 43 0

Mai-07 93 0

Jun-07 79 0

Jul-07 112 0

Hier sind die Schritte, um den Bericht zu generieren.

  1. Tabelle Inv_summary anlegen.
  2. Erstellen Tabelle Inv_summary (Inv_date Datum, Inv_status varchar2(1), Inv_value Zahl);

  3. Einige Daten in Inv_summary Tabelle einfügen.
  4. In Inv_summary Werte einfügen (1. Januar 07 ', 'O', 20.00 Uhr);
    In Inv_summary Werte einfügen (1. Januar 07 ', 'C', 12.00 Uhr);
    Insert into Inv_summary Values Insert (10. Januar 07 ', 'C', 7,00);
    Insert into Inv_summary Values Insert (5. Februar 07 ', 'C', 153.00);
    Insert into Inv_summary Values Insert (12-Mär-07', 'C', 48.00);
    Insert into Inv_summary Values Insert (15-Mär-07', 'C', 8.00);
    Insert into Inv_summary Values Insert (23-Mär-07', 'O', 18.00 Uhr);
    Insert into Inv_summary Values Insert (20-Apr-07', 'O', 43,00);
    In Inv_summary Werte einfügen ('01-Mai-07', 'O', 61.00);
    In Inv_summary Werte einfügen ('01-Mai-07', 'O', 32.00);
    In Inv_summary Werte einfügen (1. Juni 07 ', 'O', 18.00 Uhr);
    In Inv_summary Werte einfügen (1. Juni 07 ', 'O', 33.00);
    In Inv_summary Werte einfügen (1. Juni 07 ', 'O', 28.00);
    In Inv_summary Werte einfügen (1. Juli 07 ', 'O', 20.00 Uhr);
    In Inv_summary Werte einfügen (1. Juli 07 ', 'O', 24.00 Uhr);
    In Inv_summary Werte einfügen (1. Juli 07 ', 'O', 68.00);
    Commit;

  5. Führen Sie den folgenden Sql-Befehl zum Generieren des Berichts.
  6. Wählen Sie to_char(to_date(to_char(inv_date,'Mon-yy'),'Mon-yy'),'Mon-yy') Monat,
    Summe (decodieren (Inv_status, ' o ', Inv_value, 0)) geöffnet,
    Summe (decodieren (Inv_status, 'C', Inv_value, 0)) schließen
    VON Inv_summary
    GROUP BY to_date(to_char(inv_date,'Mon-yy'),'Mon-yy')
    ORDER BY to_date(to_char(inv_date,'Mon-yy'),'Mon-yy')

    MONAT ÖFFNEN SCHLIEßEN

    --------- ------------ ------------

    Jan-07-20 19

    Feb-07 0 153

    Mar-07 18 56

    Apr-07 43 0

    Mai-07 93 0

    Jun-07 79 0

    Jul-07 112 0

    Im obigen Beispiel haben wir es so eingerichtet, dass die Invoice_status-Gruppe über geht und die Monat-Gruppe ausfällt, bilden ein Raster, das zeigt der Gesamtwert der Rechnungen. Der wesentliche Teil in über SQL-Befehl ist DECODE-Funktion. Er wandelt Zeilen in Spalten, indem der Wert der Inv_status Spalte. Sie können einen Matrixbericht mit einzelnen oder mehreren Abfragen schreiben. Ein einzelne Abfrage-Bericht ist im Allgemeinen effizienter als eine Abfrage mehrere.









Einen Matrixbericht in Sql-Code


Einen Matrixbericht in Sql-Code : Mehreren tausend Tipps, um Ihr Leben einfacher machen.


Ein Matrixbericht ist eine gitterartige Darstellung von Daten. Es hat eine Reihe von Etiketten, eine Spalte von Etiketten und in einem Raster Daten mit Bezug zu Zeile und Spalte. Matrixberichte werden auch Kreuztabellenberichte genannt.

Ein Matrixbericht enthält eine Gruppe von Daten für Zeilen, eine Gruppe von Daten für Spalten, eine Gruppe von Daten produktübergreifende und einer Gruppe von Daten als Wert für das Kreuzprodukt. Die Kreuzprodukt-Gruppe stellt alle mögliche Kombinationen von Zeilen-und Spaltengruppen.

Werfen Sie einen Blick auf ein Beispiel. Vorausgesetzt, dass Sie eine Tabelle namens Inv_summary. Es hat drei Spalten: Inv_date, Inv_status und Inv_value. Jetzt wollen Sie einen Bericht generieren, der Gesamtwert der öffnende und schließende Rechnungen für jeden Monat, zum Beispiel unten wie zeigt.

MONAT ÖFFNEN SCHLIEßEN

-------- ------------ ------------

Jan-07-20 19

Feb-07 0 153

Mar-07 18 56

Apr-07 43 0

Mai-07 93 0

Jun-07 79 0

Jul-07 112 0

Hier sind die Schritte, um den Bericht zu generieren.

  1. Tabelle Inv_summary anlegen.
  2. Erstellen Tabelle Inv_summary (Inv_date Datum, Inv_status varchar2(1), Inv_value Zahl);

  3. Einige Daten in Inv_summary Tabelle einfügen.
  4. In Inv_summary Werte einfügen (1. Januar 07 ', 'O', 20.00 Uhr);
    In Inv_summary Werte einfügen (1. Januar 07 ', 'C', 12.00 Uhr);
    Insert into Inv_summary Values Insert (10. Januar 07 ', 'C', 7,00);
    Insert into Inv_summary Values Insert (5. Februar 07 ', 'C', 153.00);
    Insert into Inv_summary Values Insert (12-Mär-07', 'C', 48.00);
    Insert into Inv_summary Values Insert (15-Mär-07', 'C', 8.00);
    Insert into Inv_summary Values Insert (23-Mär-07', 'O', 18.00 Uhr);
    Insert into Inv_summary Values Insert (20-Apr-07', 'O', 43,00);
    In Inv_summary Werte einfügen ('01-Mai-07', 'O', 61.00);
    In Inv_summary Werte einfügen ('01-Mai-07', 'O', 32.00);
    In Inv_summary Werte einfügen (1. Juni 07 ', 'O', 18.00 Uhr);
    In Inv_summary Werte einfügen (1. Juni 07 ', 'O', 33.00);
    In Inv_summary Werte einfügen (1. Juni 07 ', 'O', 28.00);
    In Inv_summary Werte einfügen (1. Juli 07 ', 'O', 20.00 Uhr);
    In Inv_summary Werte einfügen (1. Juli 07 ', 'O', 24.00 Uhr);
    In Inv_summary Werte einfügen (1. Juli 07 ', 'O', 68.00);
    Commit;

  5. Führen Sie den folgenden Sql-Befehl zum Generieren des Berichts.
  6. Wählen Sie to_char(to_date(to_char(inv_date,'Mon-yy'),'Mon-yy'),'Mon-yy') Monat,
    Summe (decodieren (Inv_status, ' o ', Inv_value, 0)) geöffnet,
    Summe (decodieren (Inv_status, 'C', Inv_value, 0)) schließen
    VON Inv_summary
    GROUP BY to_date(to_char(inv_date,'Mon-yy'),'Mon-yy')
    ORDER BY to_date(to_char(inv_date,'Mon-yy'),'Mon-yy')

    MONAT ÖFFNEN SCHLIEßEN

    --------- ------------ ------------

    Jan-07-20 19

    Feb-07 0 153

    Mar-07 18 56

    Apr-07 43 0

    Mai-07 93 0

    Jun-07 79 0

    Jul-07 112 0

    Im obigen Beispiel haben wir es so eingerichtet, dass die Invoice_status-Gruppe über geht und die Monat-Gruppe ausfällt, bilden ein Raster, das zeigt der Gesamtwert der Rechnungen. Der wesentliche Teil in über SQL-Befehl ist DECODE-Funktion. Er wandelt Zeilen in Spalten, indem der Wert der Inv_status Spalte. Sie können einen Matrixbericht mit einzelnen oder mehreren Abfragen schreiben. Ein einzelne Abfrage-Bericht ist im Allgemeinen effizienter als eine Abfrage mehrere.


Einen Matrixbericht in Sql-Code

Einen Matrixbericht in Sql-Code : Mehreren tausend Tipps, um Ihr Leben einfacher machen.
Einen Matrixbericht in Sql-Code
Wiezutun
Freunden empfehlen
  • gplus
  • pinterest

Kommentar

Einen Kommentar hinterlassen

Wertung