OBS/AUSWERTUNG/Auswertung

Aus OBS Wiki
Zur Navigation springen Zur Suche springen

Auswertung

In dem Menü "Auswertung" finden Sie einen gleichnamigen ersten Unterpunkt. Nach dessen Anwahl erscheint vor Ihnen die Liste "Auswertungen", in der Sie alle bisher erstellten Auswertungen vorfinden.

Beachten Sie bitte auch unsere Sektion Auswertung bei den Häufig gestellten Fragen.

Spalten

Spalte Beschreibung
Datum Datum der Anlage einer Auswertung. Dieses kann auch später noch geändert werden.
Bezeichnung Frei vergebbare Bezeichnung
Nr. Eindeutige Nummer der Auswertung. Wird diese Spalte gelb dargestellt, bedeutet dies, dass bei der Auswertung ein Makro hinterlegt wurde.
Typ Zeigt die Art einer Auswertung an.
Projekt Falls eine Auswertung einem Projekt zugeordnet wurde wird die Projektnummer hier angezeigt.
Anzahl Zeigt die Anzahl der gefundenen Datensätze einer Auswertung. Diese können mit F8 eingesehen werden.
Benutzer Benutzer, der die Auswertung angelet hat.

Auswertung erstellen

Das Anlegen einer Auswertung erfordert folgendes Vorgehen:
Durch Betätigen der Einfg-Taste können Sie eine neue Auswertung anlegen. Es öffnet sich folgende Eingabemaske:

Eingabemaske Auswertung.PNG

Feld Beschreibung
Bezeichnung Hier können Sie einen Namen für die Auswertung eintragen, um diese besser unterscheiden zu können.
Datum Das Datum wird automatisch auf das aktuelle Datum gesetzt, kann aber auch manuell geändert werden.
Typ Hierüber bestimmen Sie den Auswertungs-Typ, also die was für Daten Sie auswerten möchten.
Benutzerlevel Hierüber können Sie den Zugriff auf die Auswertung beschränken.
Projekt Sie können hier ein Projekt auswählen, um die Auswertung einem Projekt zuzuordnen.
Vertreter-Filter Hierüber können Sie den Zugriff auf die Auswertung beschränken.
Mandaten -Filter Hier können Sie den Mandanten bestimmen, für den die Auswertung angelegt werden soll.
Bemerkung Hier können Sie eine Beschreibung der Auswertung eintragen. Dies kann hilfreich sein um Auswertungen besser organisieren zu können.

Nachdem Sie alles eingetragen haben, speichern Sie Ihre Eingabe mit F2.

Es öffnet sich nun die Auswertungsliste und die soeben angelegte Auswertung ist schon ausgewählt. Als nächsten Schritt müssen Sie die Selektionskriterien für die Ausfwertung festlegen. Hierzu wählen Sie den Punkt F7 Beding aus. Je nach Auswertungs-Typ erscheint nun eine andere Maske, in der Sie die Bedinungen festlegen und mit F2 bestätigen.

Nun müssen Sie die Auswertung mit F9 Start starten. Die Anzahl der gefundenen Datensätze wird daraufhin in der Spalte Anzahl angezeigt. Sie können sich unter F8 Gef. die gefundenen Datensätze anzeigen lassen, aber auch neue hinzufügen oder gefundene manuell entfernen.

Sobald die gewünschten Daten in der Auswertung enthalten sind können Sie unter F3 Druck aus einer vom Auswertung-Typ abhängigen Liste von Formularen, Exporten und Funktionen wählen.

Tasten und Schaltflächen

F3 Druck

Mit F3 können Sie sich eine Liste mit verschiedenen Drucken anzeigen lassen, die für diese Auswertung verfügbar sind. Im unteren Teil der Liste wird Ihnen unter "Daten auf dem Ausdruck" angezeigt, welche Daten der selektierten Datensätze ausgedruckt werden. Mit F6 können Sie außerdem noch einen Titel für Ihren Ausdruck festlegen, dieser Titel steht dann als Überschrift auf dem Ausdruck. Um einen bestimmten Druck zu starten betätigen Sie die  ↩ Enter-Taste.
Hinweis: Falls Sie hier wieder F3 drücken, wird nur eine Liste der verfügbaren Drucke ausgedruckt.

Die Drucke der verschiedenen Auswertungstypen unterscheiden sich voneinander. Erklärungen der einzelnen Drucke finden Sie unter den folgenden Links:

Angebot Einkauf Personen Artikel
Einkaufslieferschein Personen/Anprechpartner Artikelstatistik Geräte
Bestellung Lieferschein Geräte Information
Person/Ansprechpartner Preislisten Telefoninfo

Hinweis: Um Serienbriefe in Word erstellen zu können, führen Sie, wie oben beschrieben, eine Personen-Auswertung durch und wählen dann unter F3 "ASCII Export Selektierte Datensätze" aus. Eine genauere Beschreibung, bzw. das Übernehmen dieser Daten in Word, finden Sie hier.

F5 Kombi.

Mit dieser Funktion können mehrere Auswertungen miteinander kombiniert werden. F5 öffnet dabei eine Liste aller Kombinationen der aktuell ausgewählten Auswertung. Mit Einfg kann eine neue Kombination angelegt werden. Es öffnet sich dabei folgende Maske:
AuswertungKombinationenMaske.png

Feld Beschreibung
Laufende Nr. Diese wird automatisch fortlaufend vergeben.
Auswertung Hier muss die Auswertung ausgewählt werden, mit der die aktuelle Auswertung kombiniert werden soll.
Kombination
Wert Beschreibung
Und Die Bedinungen der kombinierten Auswertung werden der aktuellen Auswertung hinzugefügt. Es werden nur Datensätze gefunden, die bei der ausgewählten Auswertung schon vorhanden sind. Dies ist hilfreich wenn das Ergebnis einer Auswertung weiter eingegrenzt werden soll.
Oder Die Bedinungen der kombinierten Auswertung sind unabhängig von der aktuellen Auswertung. Es werden die Datensätze der ausgewählten Auswertung zur aktuellen hinzugefügt, unabhängig davon, was in der aktuellen Auswertung für Bedinungen festgelegt wurden. So können die Ergebnisse von unterschiedlichen Auswertungen in einer Auswertung kombiniert werden.
Auswertung neu generieren Wenn dies aktiviert ist, wird die kombinierte Auswertung neu gestartet, wenn die aktuelle Auswertung mit F9 gestartet wird. So kann sicher gestellt werden, dass bei bei beiden Auswertungen immer aktuelle Daten verwendet werden.

F6 Exp/Imp

Mit F6 gelangen Sie in das Fenster "Export-Schnittstelle". Hier können Sie Daten exportieren, Daten wieder einlesen oder gelangen zur CSV-Schnittstelle.

F7 Beding

Mit F7 können Sie in der Liste die Bedingungen, nach denen die Daten selektiert werden sollen, festlegen. Die Eingabemaske unterscheidet sich je nach Auswertungstyp. Wenn Sie Ihre Bedingungen festgelegt haben, sichern Sie Ihre Eingaben mit F2.

Bei allen Auswertungstypen ist es möglich in den Stammdaten eigene Bedingungen festzulegen, welche dann in dem Reiter "Zusatzdaten" zu finden sind.

Artikel

Auswertung Artikel Bedingungen Stammdaten.png

Auswertung Artikel Bedingungen Weitere Daten.png

Auswertung Artikel Bedingungen Shop.png

Personen

Auswertung Personen Bedingungen Stammdaten.png

Auswertung Personen Bedingungen Umsatz.png

Auswertung Personen Bedingungen Sonstiges.png

Auswertung Personen Bedingungen Besonderes.png

Auftrag

Auswertung Auftrag Bedingungen Stammdaten.png

Auswertung Auftrag Bedingungen Weitere Daten.png

F8 Gef.

  • Mit der F8-Taste werden Ihnen die gefundenen Datensätze in einer Liste angezeigt. Sie können hiermit Entf Datensätze entfernen und mit Einfg weitere Datensätze hinzufügen. Es öffnet sich die Liste mit den Stammdaten des jeweiligen Auswertungstyps. Markieren Sie mit F5 die gewünschten Datensätze und übernehmen Sie diese mit F2.

F6 Eigens.

Es können bei den Auswertungstypen:

  • Personen
  • Personen/Ansprechpartnern
  • Preislisten

den gefundenen Datensätzen Eigenschaften hinzugefügt oder entfernt werden:
F6EIGNEUGEFPERS 1.jpg
Es wird ein Auswahlfenster mit allen zur Verfügung stehenden Eigenschaften angezeigt. Mit  ↩ Enter oder per Doppelklick kann eine Eigenschaft ausgewählt werden.
Allen gefundenen Datensätzen wird die ausgewählte Eigenschaft hinterlegt bzw. entfernt.

F7 Stamm

Zu der Auswertung werden die zugehörigen Stammdaten angezeigt. Es kann wie gewohnt in der angezeigten Stammdaten Liste gearbeitet werden.

F8 Inf. Neu

Es wird ein Auswahlfenster mit allen zur Verfügung stehenden Informationsvorlagen angezeigt. Mit  ↩ Enter oder per Doppelklick kann eine Informationsvorlage ausgewählt werden.
In dem nun folgenden Fenster können noch ein paar Einstellungen für die Verteilung dieser Information an alle Personen der vorliegenden Auswertung getroffen werden:
FRMEDITINFOVORLAGEN 1.jpg
Es wird der Sachbearbeiter/Vertreter voreingestellt, dem die generierte Information zugeordnet werden soll.
Mit Anlage von Aufgaben bedeutet, dass für jede generierte Information auch eine entsprechende Wiedervorlage Aufgabe erzeugt wird - notwendig für Marketing mit OBS.
Mit Anlage von Terminen bedeutet, dass für jede generierte Information auch ein Termin erzeugt - dient beim Marketing mit OBS der Erinnerung an den Marketing Start Schritt, ist aber nicht unbedingt notwendig.
Über Datum Wiedervorlage wird das Fälligkeitsdatum in der entsprechenden Wiedervorlage Aufgabe (falls vorhanden) und Datum Termin in der Information gesetzt.
Dann kann noch eine Informationsvorlage, die dem Informationstyp des ersten Schrittes im Projektablauf entspricht, ausgewählt werden. Existiert kein Projektablauf, so kann aus allen zur Verfügung stehenden Informationsvorlagen gewählt werden. Mit F2 Generieren wird die Verteilung dieser Information mit den eben eingestellten Parametern gestartet.

F9 AufGrp.


F9AUFGRPGEFPERS 1.jpg
Wird in einer Auswertung, die zu einem Marketing Projekt mit Projekt Ablauf definiert worden ist, zum 1. Mal F9 Auf Grp. betätigt, so werden alle Aufgabengruppen, die die Kennung Aufgabengruppen automatisch anlegen besitzen, erzeugt (siehe Marketing mit OBS).
Aufgabengruppen werden vorwiegend in Marketing Projekten zur Sammlung der Wiedervorlage Aufgaben zu den einzelnen Marketing Schritten (Informationstypen) genutzt. Sie sind die Brücke zwischen den Marketing Schritten geknüpft an einen Kunden (Personenauswertung) und dem Sachbearbeiter/Vertreter, der die Marketing Schritte bearbeiten soll.
Eine Aufgabengruppe wird definiert über Nummer der Aufgabengruppe bzw. Info-Typ, Vertreter, Sachbearbeiter, Aufgabenart, Projektnummer, Auswertungsnummer, Wiedervorlage Aufgaben (- / x) von Datum (Fälligkeitsdatum der Wiedervorlage) bis Datum (dto.)
Alle Aufgaben, die diese Kriterien gemeinsam besitzen, werden in der Aufgabengruppe gesammelt.
F9AUFGRPGEFPERS 2.jpg

Tasten und Schaltflächen
Folgende Tasten und Schaltflächen sind spezifisch für die Aufgabengruppen:

  • F7 Kopieren eine Aufgabengruppe kann mit allen Auswertungsparametern kopiert werden, um leicht eine neue ähnliche Aufgabengruppe zu erstellen.
  • F8 Gefundene die gefundenen Datensätze zu dieser Aufgabengruppe werden angezeigt (hier inklusive F9 Start, um zu gewährleisten, dass immer der aktuelle Stand an Aufgaben angezeigt wird).
  • F9 Start die Aufgabengruppe wird laut ihren Parametern neu selektiert.

Einfg Einfügen

Es werden alle Stammdaten des Auswertungstyps angezeigt. Mit F5 Mark können Datensätze ausgewählt und mit F2 Speich. übernommen werden.

Entf Entfernen

Der ausgewählte Datensatz wird gelöscht.
Sollen mehrere Datensätze gelöscht werden, so können diese Datensätze mit F5 Markieren markiert werden und mit Entf Löschen alle diese Datensätze gelöscht werden.

F9 Start

Mit der F9-Taste starten Sie den Selektionsvorgang. In der Spalte "Anzahl" wird die gefundene Anzahl angezeigt. Sollten schon Daten bei der Auswertung gefunden worden sein werden Sie gefragt, ob diese gelöscht oder behalten werden sollen. Durch die Möglichkeit Daten zu behalten können Sie so eine Auswertung mit verschiedenen Selektionskriterien ausführen. Führen Sie hierzu die Auswertung mit F9 und ändern Sie anschließend die Selektionskriterien (F7). Führen Sie die Auswertung anschließend mit F9 erneut aus und wählen Sie bei der Abfrage aus, dass Sie die Daten behalten möchten.

F10 Weit.

A - Archiv Autostart für Auswertung XXXX

B - Archiv Autostart alle Auswertungen

C - Autostart-Jobs

D - Daten-Exporter

E - OBS Spread Grid

F - Archiv Vorjahre

G - Gefunden Sätze aus Auswertung löschen

Leert die aktuelle Auswertung

H - Makro Edit

Öffnet einen Makro-Editort, mit dem der aktuellen Auswertung ein Makro hinterlegt werden kann.

HINWEIS: Programmierkenntnisse sind hierfür erforderlich

Hinweise

Wenn function IgnoreStandard die Auswertung löscht kommt auch keine Abfrage: löschen der alten Daten Rückgabe IgnoreStandard Wert True -> startet dann nicht mehr die Hinterlegte Abfrage, sonst addivt! Mann kann auch nur Delete_Records oder Insert_Records benutzen

function IgnoreStandard(oMyDB:TxDB; cAuswNr:String; nAuswTyp:Integer):Boolean; function Insert_Records(oMyDB:TxDB; cAuswNr:String; nAuswTyp:Integer):Boolean; function Delete_Records(oMyDB:TxDB; cAuswNr:String; nAuswTyp:Integer):Boolean;

Beispiele

 
//-----------------------------------------------------------------------------
// Unit Name: Auswertung Beispiel
// Author:    Jörn Böhrer
// Date:      18-09-2020
// Purpose:
// History:
//-----------------------------------------------------------------------------

//nAuswTyp steht auch als Konstante zu Verfügung

(*
      AUSWERT_ARTIKEL                    =  1 ;
      AUSWERT_PERSONEN                   =  2 ;
      AUSWERT_AUFTRAG                    =  3 ;
      AUSWERT_ANGEBOT                    =  4 ;
      AUSWERT_LIEFERSCHEIN               =  5 ;
      AUSWERT_RECHNUNG                   =  6 ;
      AUSWERT_REPA                       =  7 ;
      AUSWERT_TELEFON                    =  8 ;
      AUSWERT_GERAETE                    =  9 ;
      AUSWERT_ARTISTATISTIK              =  10;
      AUSWERT_VERTRETERSTATISTIK         =  11;
      AUSWERT_EINKAUF                    =  12;
      AUSWERT_BESTELLUNG                 =  13;
      AUSWERT_EINKAUFSLIEFERSCHEIN       =  14;
      AUSWERT_PERSANSP                   =  15;
      AUSWERT_INFORMATION                =  16;
      AUSWERT_KASSE                      =  17;
      AUSWERT_PREISLISTEN                =  18;
      AUSWERT_LEISTUNGEN                 =  19;
*)

//------------------------------------------------------------------------------
//  Procedure: IgnoreStandard
//  Author:    Jörn Böhrer
//  Date:      18-09-2020
//             True  = Standard Selektion wird nicht ausgeführt
//             False = Standard Selektion wird ausgeführt 
//------------------------------------------------------------------------------

function IgnoreStandard(oMyDB:TxDB; cAuswNr:String; nAuswTyp:Integer):Boolean;
begin
    Result := True;
    
    // Alle Sätze der Auswertung manuell löschen
    DB_DeleteRecordWhere(oMyDB, 'AUSSEL', 'se_nr='+DB_SqlVal(cAuswNr));
    
    //Debugline('IgnoreStandard='+BooleantoString(Result));
end;

//------------------------------------------------------------------------------
//  Procedure: Insert_Records
//  Author:    Jörn Böhrer
//  Date:      18-09-2020
//             Alle Personen die im Suchbegriff Stade enthalten in die Selektion übernehmen
//------------------------------------------------------------------------------

function Insert_Records(oMyDB:TxDB; cAuswNr:String; nAuswTyp:Integer):Boolean;
var cSQL  : String;
    qTmp  : TxFQuery;
    xData : TqSQL;
begin
    Result := True;
   
    cSQL := 'SELECT ps_such, ps_nr FROM PERSSTA'+
            ' WHERE ps_such LIKE "%STADE%"';    
    
    if (DB_SOpen(oMyDB, cSQL, qTmp)) then begin
    
        xData := qSqlInit(oMyDB, 'AUSSEL');
    
        while (not qTmp.Eof) do begin
        
            xData.qNew();
            
            xData.qSet('se_nr'       ,cAuswNr); 
            xData.qSet('se_index'    ,qTmp.A2C('ps_such')); 
            xData.qSet('se_verbind'  ,qTmp.A2C('ps_nr'));
            
            xData.AddBatch(NEW_RECORD); 
            qTmp.Next;
        end;
        
        xData.ExecBatch();
        qSQlFree(xData);
    
    end;
    DB_Close(qTmp);
    
    //Debugline('Insert_Records');
end;

//------------------------------------------------------------------------------
//  Procedure: Delete_Records
//  Author:    Jörn Böhrer
//  Date:      18-09-2020
//             Alle Personen die im Ort Stade enthalten aus der Auswertung entfernen
//------------------------------------------------------------------------------

function Delete_Records(oMyDB:TxDB; cAuswNr:String; nAuswTyp:Integer):Boolean;
var cSQL   : String;
    cWhere : String;
    qTmp   : TxFQuery;
    oGauge : TfrmGauge;
begin
    Result := True;
   
    cSQL := 'SELECT ps_nr FROM PERSSTA'+
            ' LEFT JOIN AUSSEL ON se_verbind = ps_nr AND se_nr = '+DB_SqlVal(cAuswNr)+    
            ' WHERE ps_ort LIKE "%STADE%"'+
            ' AND NOT ISNULL(se_verbind)';
    
    if (DB_SOpen(oMyDB, cSQL, qTmp)) then begin
    
        oGauge := MyCreateGauge(0, qTmp.RecordCount ,'Lösche Personen aus Selektion');
    
        while (not qTmp.Eof) do begin

            cWhere :=  'se_nr      = ' + DB_SqlVal(cAuswNr) + ' AND '+
                       'se_verbind = ' + qTmp.A2C('ps_nr');

            DB_DeleteRecordWhere(oMyDB, 'AUSSEL', cWhere);

            MyNextGauge(oGauge);
            qTmp.Next;
        end;
        
        MyCloseGauge(oGauge);
    end;
    DB_Close(qTmp);
    
    //Debugline('Delete_Records');
end;


//------------------------------------------------------------------------------