OLAP.Arbeitsplatz: Unterschied zwischen den Versionen

Aus OrgaMon Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
(52 dazwischenliegende Versionen von 6 Benutzern werden nicht angezeigt)
Zeile 6: Zeile 6:
  | 
  | 
  |-
  |-
  | colspan=2 style="background-color:#AEEEEE;" | ACHTUNG: Farblich (Cyan) hinterlegte Erklärungen finden bisher keine sinnvolle Anwendungen inerhalb des aktuellen OLAP Arbeitsplatzes, und sind für Erweiterungen vorgesehen.
  | colspan=2 style="background-color:#AEEEEE;" | ACHTUNG: Farblich (Cyan) hinterlegte Erklärungen finden bisher keine sinnvolle Anwendungen innerhalb des aktuellen OLAP Arbeitsplatzes, und sind für Erweiterungen vorgesehen.
  |-  
  |-  
  | 
  | 
Zeile 85: Zeile 85:
  | valign=top | [[Bild:wiengas.png]]
  | valign=top | [[Bild:wiengas.png]]
  |Es erfolgt die Ausgabe in eine ASCII - Datei. Das Format wurde vom Kunde WIENGAS vorgegeben.
  |Es erfolgt die Ausgabe in eine ASCII - Datei. Das Format wurde vom Kunde WIENGAS vorgegeben.
|-
| valign=top | [[Bild:Pfeil.Rot.Unten.png]]
|Einlesen von CSV-Quelldaten in die Datenbank. Das Format wurde vom Kunden vorgegeben. [[Linux.FTP-Sync|Details dazu]]
  |-
  |-
  | valign=top | [[Bild:IntraNet.png]]
  | valign=top | [[Bild:IntraNet.png]]
Zeile 137: Zeile 140:
== Listen Anzeige ==
== Listen Anzeige ==


Es wird immer das OLAP Zentral ergebnis dargestellt. Es kann auch noch weitere Endergebnisse geben.
In der Liste wird das aktuelle Selektions-Ergebnis dargestellt. Jede einzelne Zelle wird dabei durch ein einzelnes SQL Statement ermittelt. Die SQL-Statements für jede Spalte finden Sie im Unterordner '''OLAP''' des Orgamon-Programmverzeichnisses auf dem Server (z.B. '''X:\OrgaMon\OLAP\'''). Die Dateinamen beginnen immer mit '''OLAP.Dim.*.txt'''. Es steht dem Benutzer völlig frei, wie der Wert ermittelt wird und welche Bedeutung er hat. Die ersten 13 Spalten haben (aus historischen Gründen) bedeutungsvolle Dateinamen, aber die Wertermittlung ist frei und kann geändert werden. Auch Spaltenbreiten und Überschriften sind abänderbar!
 
Die ersten drei Spalten sind von der Bezeichnung her fest vorgegeben (Bank, Calib, Serial #) und werden mittels der Definition in der Datei
Datenbanken.OLAP.txt
festgelegt.
 
Die folgenden 13 Spalten müssen immer vorhanden sein:
 
OLAP.Dim.Prüfmoment.txt                // Spalte  4
OLAP.Dim.Fehler-Qmin.txt              // Spalte  5
OLAP.Dim.Fehler-Q02max.txt            // Spalte  6 - Funktion -- TITLE von Spalte 5.
OLAP.Dim.Fehler-Qmax .txt              // Spalte  7 - Funktion -- TITLE von Spalte 5.
OLAP.Dim.Radpaar.txt                  // Spalte  8
OLAP.Dim.RP%.txt                      // Spalte  9
OLAP.Dim.Druckverluste-Qmin-max.txt    // Spalte 10
OLAP.Dim.Druckverluste-Qmin.txt        // Spalte 11 - Funktion -- TITLE von Spalte 10.
OLAP.Dim.Druckverluste-Q02max.txt      // Spalte 12 - Funktion -- TITLE von Spalte 10.
OLAP.Dim.Druckverluste-Qmax.txt        // Spalte 13 - Funktion -- TITLE von Spalte 10.
OLAP.Dim.Auftragsnummer.txt            // Spalte 14 - Funktion -- TITLE geht hier nicht.
OLAP.Dim.Anzahl-Tests.txt              // Spalte 15 - Funktion -- TITLE geht hier nicht.
OLAP.Dim.Typ.txt                      // Spalte 16 - wird am Bildschirm nicht gezeigt, nur in der Exportdatei.
 
Weitere Spalten können (müssen aber nicht) in den folgenden Dateien definiert werden. Fehlen die Dateien, so wird diese Spalte nicht ausgegeben. Die Ausgabe dieser optionalen Spalten erfolgt '''nicht''' auf den Bildschirm, sondern '''nur''' in die xls Auswertungs - Datei.
 
OLAP.Dim.Dimension.Frei.1.txt
OLAP.Dim.Dimension.Frei.2.txt
OLAP.Dim.Dimension.Frei.3.txt
OLAP.Dim.Dimension.Frei.4.txt
OLAP.Dim.Dimension.Frei.5.txt
OLAP.Dim.Dimension.Frei.6.txt
OLAP.Dim.Dimension.Frei.7.txt
OLAP.Dim.Dimension.Frei.8.txt
OLAP.Dim.Dimension.Frei.9.txt
OLAP.Dim.Dimension.Frei.0.txt
 
in jeder einzelnen OLAP.Dim. Datei können noch folgende Optionen angegeben werden.
 
-- TITLE=Messwert      // bestimmt die Überschrift in der Auswertung, ansonsten
                        // wird die Überschrift aus dem SQL Statement entnommen
-- WIDTH=120          // bestimmt die Breite der Spalte in Pixeln
-- FORMAT=%.12f        // bestimmt den Formatstring bei Zahlenwert Ausgaben (in C-printf-Syntax)
-- ROUND=1000000000000 // bestimmt den Rundungsbreich 1/n
-- LENGTH=14          // bestimmt die Anzahl der Zeichen


== Abfrage Reiter (Dimensions-Gruppen) ==
== Abfrage Reiter (Dimensions-Gruppen) ==
Zeile 161: Zeile 206:
  start with Deu  : Beginnt mit
  start with Deu  : Beginnt mit
  like %G4%      : So ähnlich wie
  like %G4%      : So ähnlich wie
                : muss leer sein
!              : muss was drin sein


== Ausgabe in ein vorbereitetes Excel(tm)Microsoft(c) Dokument ==
== Ausgabe in ein vorbereitetes Excel(tm)Microsoft(c) Dokument ==
Zeile 171: Zeile 218:
Der angegebene Bereich beginnt immer bei Zeile 2, da die Überschrift nicht mit einbezogen werden darf. Völlig Leere Zellen (Anzahl des aktuellen Volumens .. 64K) ignoriert Excel ohne merkliche Geschwindigkeitseinbuse.
Der angegebene Bereich beginnt immer bei Zeile 2, da die Überschrift nicht mit einbezogen werden darf. Völlig Leere Zellen (Anzahl des aktuellen Volumens .. 64K) ignoriert Excel ohne merkliche Geschwindigkeitseinbuse.


Übernahme von ganzen Spalten von den Unter-Arbeitsmappen in die Haupt-Arbeitsmappe "MAIN". Der OLAP - Arbeitsplatz sucht dabei nach den Bezeichnern:
== Spalten Marker MAPPE#SPALTE ==
 
Übernahme von ganzen Spalten von den Unter-Arbeitsmappen in einer der Haupt-Arbeitsmappen. Der OLAP - Arbeitsplatz sucht dabei nach den Bezeichnern:


  PE#<SpaltenÜberschrift>
  PE#<SpaltenÜberschrift>
Zeile 177: Zeile 226:
  RP#<SpaltenÜberschrift>
  RP#<SpaltenÜberschrift>


an dieser Stelle wird dann die ganze Spalte in das Hauptdokument übernommen. Alle Formatierungen werden dabei nicht berührt.
an dieser Stelle wird dann die ganze Spalte in das Hauptdokument übernommen. Der Spalten-Marker wird mit dem ersten Wert der Spalte überschrieben. Überschriften müssen <b>oberhalb</b> des Spalten MArkers gesetzt werden.<br>
Die ganze Spalte wird genau so <b>formatiert</b> wie die erste Beispielhafte Zelle <b>unterhalb</b> des Spalten-Markers.
 
|PE#PRUEFMOMENT  |
|  12. Januar 2008|


Neben dieser eingebauten Möglichkeit gibt es noch weitere, die Excel aus eigener Kraft schaffen kann:
Neben dieser eingebauten Möglichkeit gibt es noch weitere, die Excel aus eigener Kraft schaffen kann:
Zeile 207: Zeile 260:
== Die OLAP Arbeitsplatz Quelltext gibt es hier ==
== Die OLAP Arbeitsplatz Quelltext gibt es hier ==


http://www.orgamon.org/OLAPArbeitsplatz.pas.html
http://orgamon.org/source/OLAPArbeitsplatz.pas.html


== to do "laufender Auftrag" ==
== to do "laufender Auftrag" ==


'''[[OLAP-Komponente:]]'''
== to do "muss neu beauftragt werden" ==
 
# Berechtigungskonzept: Sperrung der umfassenden Änderungsmöglichkeiten an der Datenbank (mit sofortiger Wirkung)
# <u>individuelle Einstellbarkeit der Texte vor den Eingabefeldern in den Selektionsmasken</u>
# <u>Im "OLAP Arbeitsplatz" sollten noch die Auftragsnummern angezeigt werden, statt dessen kann der Typ ausgeblendet werden.</u>
# Combobox für Datenbanken (-> Bei Änderung der DB sollte ein automatischer Re-Connect erfolgen)
# <u>"3 Testdatensätze" MUSS unumstössliche Grundvoraussetzung sein, für jede weitere Aktion, dies sollte im 33/33 Symbol mit abgeprüft werden. Dies soll immer unsere "Plausibilitäts" Funktion sein!</u>
# <u>durchstarten in den OLAP - Arbeitsplatz. Dies sollte ein benutzerdefinierbares Flag sein. (Also abhängig vom Benutzer, der sich einlogged).</u>
# <u>Dokumentation aller Mini-Symbole im Wiki</u>
# Umstellung der DB-Anbindung wird für alle Benutzer aktiv. Kann das Benutzerspezifisch erfolgen?
 
'''[[EXCEL:]]'''


# <u>Übernahme ganzer Excel Spalten von einer Mappe in die andere. Wertereihen spaltenweise fortsetzen (Excel-Funktion?!?)</u>
<font size=+2>''Datenbank Abfrage Optimierungen''</font>
# Combobox für XLS Vorlagen (es soll globale Vorlage geben, durch Speicherung direkt im .\Anwender Verzeichnis).
# Datumsfelder werden beim Erstellen der "OUT.XLS" nicht als solche erkannt, Beispiel siehe PE!H (Tabelle PE Spalte H). Generell, bitte beim Erstellen der "OUT.XLS" darauf achten, wie der Feldtyp in der DB definiert ist.
# Bei einer Testauswertung bekommt eine Seriennummer (21923365) in der Spalte "PE!I" den Wert "<NULL>" zugewiesen (gilt für alle Auftragsauswertungen). Was bedeutet dies? [[(Bsp.-Auswahlkriterien: 3=21923349..21923448 - 5=K7927842 - restliche Felder haben keine Eingrenzung)]]
# In der Tabelle "RP" fehlt die Radpaarung "37/48"
# In den Feldern "IN!B20" bis "IN!B28" stehen nicht alle Wertebereiche und es wird eine falsche Summenbildung vorgenommen, oder haben die Werte eine Bedeutung, die wir nicht verstehen?
# Bitte eine zusätzliche Tabelle "SELECTION", in die alle Selektionskriterien des "OLAP Arbeitsplatzes" übernommen werden (auch Wildcards).
# Entsprechend dem vorigen Punkt (SELECTION) in der Tabelle "MAIN" alle eingegrenzten Felder im Fettdruck. Vorschlag, in der Zelle "IN!C" ein "X" setzen, dass in der Tabelle "MAIN" durch eine bedingte Formatierung ein Fettdruck ausgelöst wird. (siehe Attachment "WW_out_PEPI1prod.xls")
# <u>Die durch OLAP erzeugte Excel-Tabelle sollte nicht OUT.xls heissen (Zugriffskonflikt kann entstehen). Vorschlag: den Vorlagenname mit einer fortlaufenden Nummer versehen (ähnlich wie in Excel: Menue - Datei - Neu), eine Speicherung wäre zu diesem Zeitpunkt noch nicht dringend erforderlich.</u>
# <u>Bei der Übertragung der Informationen insbesondere der Auswahlkriterien, aus den Tabelleblättern IN, PE, MF und RP in das Berichtsvorlageblatt "MAIN" fehlt mir eine Möglichkeit die angewählten Selektionsparameter automatisiert deutlich zu machen, gibt es hierfür Möglichkeiten? (Reproduzierbarkeit einer Abfrage) Vorschlag: Wir nehmen eine Liste der Eingabe-Parameter als INFO Werte der IN Seite mit auf, im Format <label-Bezeichnung>=! ...</u>
# <u>In der aktuellen Tabelle "PE" sind noch einige Informationen zum Befüllen der bisherigen PEP1-Vorlage nicht vorhanden z.B: Auftragsnummer, Mittelwerte der Fehler oder Standardabweichung der Fehler eines Messpunktes bzw die Produktionsdaten der Zähler (METERDATA..).</u>
 
== to do "muss neu beauftragt werden" ==


* (AF) ermöglichen, dass einfach noch mehr Spalten rechts in "PE" hinzugefügt werden können. Insbesondere die Möglichkeit, dass z.B. anstelle der bisherigen 3 Messpunkte nun z.B. 10 Messpunkte ermittelt werden und entsprechend der bishrige Spalten-Aufbau "Qmin,Qmax, usw." dann ganz neu definiert werden kann.
* (VB) Datenermittlung für alle Datenzeilen nicht on demand beim Scrollen, sondern durch einen echten Hintergrund - Prozess. Man erwartet,dass dann beim Drücken des Excel Knopfes so viel Zeit vergangen ist, dass bereits alle Ergebnisse vorliegen. <span style='color:#3C6B96'>(VB) Gedankenstütze: Bitte die DB-Anfrage nach dem Befüllen des Grids in den Hintergrund schicken und weiter laufen lassen, dass die Daten in den HS gespeichert werden und somit ein Scroll flüssiger abläuft.</span>
* (AF) optimierung der einzelnen Wertermittlung der Dimensionen. Vorgehensweise:
* (AF) Optimierung der einzelnen Wertermittlung der Dimensionen. Vorgehensweise:


   select                    select
   select                    select
Zeile 248: Zeile 278:
    
    
   kann optimiert werden zu:
   kann optimiert werden zu:
 
   select   
   select   
     COL_A,
     COL_A,
Zeile 256: Zeile 286:
   <WHERE_BLOCK_A>
   <WHERE_BLOCK_A>
Bei den aktuellen 12 Dimensionen ist hier eine Performance Steigerung von 300% denkbar!!!
Bei den aktuellen 12 Dimensionen ist hier eine Performance Steigerung von 300% denkbar!!!
* (AF) Temp-Table Optmierung: Einzelne Dimensionen bedienen sich aus einer Temptable, die nicht als "Dim" sondern als "Vektor" definiert werden muss. Eine einzelne Dimension bedient sich dann aus dieser Temp-Tabelle, diese hat die Lebensdauer einer Row, wird also eine neue Row angefordert wird die temp tabelle überschrieben. Die Dimensionen bedienen sich mit Koortinaten aus der Temp-Tabelle:
* (AF) Temp-Table Optmierung: Einzelne Dimensionen bedienen sich aus einer Temptable, die nicht als "Dim" sondern als "Vektor" definiert werden muss. Eine einzelne Dimension bedient sich dann mit Hilfe von x,y Koordinaten aus dieser Temp-Tabelle, diese hat die Lebensdauer einer Row, wird also eine neue Row angefordert wird die temp tabelle überschrieben. Mehrere Dimensionen der aktuellen row bedienen sich, die erste anfragende Dimension löst die Erzeugung der Tabelle aus. Der Vektor könnte so formuliert werden.


  // Optimaler Messergebnis Vektor
  // Optimaler Messergebnis Vektor
// 'OLAP.Vektor.Tests.txt'
  select
  select
   pointnum,
   pointnum,
Zeile 272: Zeile 303:
  order by
  order by
   pointnum
   pointnum
// Nun die einzelne Dimension
// 'OLAP.Dim.QMax.txt'
//
!Tests[2,1]


aus diesem SQL Statement sind komplett 7 Ergebnisspalten herauslesbar. Hier kann man auch umfassende Plausibilitäts-Prüfungen durchführen: (Anzahl der Eregbnisdatensätze=3, Pointnum der ersten Zeile=1, Pointnum der zweiten Zeile=2, Pointnum der dritten Zeile=3)
aus diesem SQL Statement sind komplett 7 Ergebnisspalten herauslesbar. Hier kann man auch umfassende Plausibilitäts-Prüfungen durchführen: (Anzahl der Eregbnisdatensätze=3, Pointnum der ersten Zeile=1, Pointnum der zweiten Zeile=2, Pointnum der dritten Zeile=3)
Zeile 277: Zeile 314:
hier ist nochmal eine Geschwindigkeits Steigerung von 100% möglich!
hier ist nochmal eine Geschwindigkeits Steigerung von 100% möglich!


* (VB) Berechtigungskonzept: gezielte Rechtevergabe über Anmeldename (Berechtigungsvergabe kann über IB Manager in DB direkt erfolgen "Benutzer <-> Gruppenrechte", erfordert erneute Diskussion)
<font size=+2>''Berechtigungskonzept''</font>
* (VB) Im "OLAP Arbeitsplatz" die 3 Spaltenüberschriften unter "Fehler" (Qmin, 0,2Qmin, Qmax) durch den Wert der tatsächliche Durchflussmenge (Flowrate) ersetzen. (WW): Hier könnten evtl. Fehler auftreten wenn eine Auswertung G4 und G6 Zähler beinhaltet. Bei gleichen "reqeusted flow"- Werten ist es sinnvoll bei ungleichen genügt die Qmin-, 0,2Qmin- u. Qmax Angabe.
 
* (WW) Übersichtlichkeit der Auswertungsabfrage verbessern. Ist es möglich dass man auf dem Olap-Arbeitsplatz_Oberfläche ein Tabellenfenster [wie z.B."Zähler(METERS)"] einrichtet indem a) ein Standardparametersatz, der 90% aller Abfragefälle abdeckt [könnte so aussehen wie Questionair-Kopf], erstellt oder b) der die aktuelle Summe aller selektierten Abfragefelder zeigt.
Fragestellung: Was dürfen einzelne Benutzergruppen mit dem OLAP - Arbeitsplatz tun? Man sollte die wichtigsten Vorgänge mal sammeln (Änderun der Auftragsnummer, Ändern einer Serialnummer, Löschen eines doppelten Tests usw.) und diese dann geführt durch den OLAP Arbeitsplatz erledigen lassen. Alle einzelnen Aktionen sind dann über die Gruppenrechte steuerbar.
* (WW) In dem beiliegenden Tabellenblatt PE habe ich einen Vorschlag gemacht um für die Standardabfrage aus der Datenbank in OLAP-Arbeitsplatz Informationsspalten zu ergänzen. Ein weiterer Vorschlag für allgemeine Berechnungsgrößen (Mittelwert, Standardabweichung, Stückzahl, .... ) wäre ein paar Hilfszeilen zur Berechnung dieser Parameter einzufügen. Die Ergebnisse könnte man dann direkt von PE oder über IN in das aktuelle "MAIN" importiert werden.
* <span style='color:#3C6B96'>(VB)Berechtigungskonzept: gezielte Rechtevergabe über Anmeldename (Berechtigungsvergabe kann über IB Manager in DB direkt erfolgen "Benutzer <-> Gruppenrechte", erfordert erneute Diskussion)</span>
 
''Sonstiges''
 
* (AF) Mappe IN, es soll eine 3. Spalte geben. Insbesondere die Aufzählungstypen der PE Tabelle sollen mit einem X in der 3. Spalte versehen werden sobald innerhalb der Selektion auf dieses Feld einen Einschränkung gemacht wurde. (VB) Entsprechend dem vorigen Punkt (SELECTION) in der Tabelle "MAIN" alle eingegrenzten Felder im Fettdruck. Vorschlag, in der Zelle "IN!C" ein "X" setzen, dass in der Tabelle "MAIN" durch eine bedingte Formatierung ein Fettdruck ausgelöst wird. (siehe Attachment "WW_out_PEPI1prod.xls") (AF) Hab ich nicht verstanden, entsprechende Rückfrage wird vorbereitet, das es jetzt das Excel Feld "Questionaire" gibt, will ich vorerst abwarten, ob das gemeint war.
* (VB) Möglichkeit der Umstellung der DB-Anbindung ist für alle Benutzer aktiv. Kann das Benutzerspezifisch als zuteilbares Recht erfolgen?
* Berechtigungskonzept: Sperrung der umfassenden Änderungsmöglichkeiten an der Datenbank (mit sofortiger Wirkung)
* (AF) ermöglichen, dass einfach noch mehr Spalten rechts in "PE" hinzugefügt werden können. Insbesondere die Möglichkeit, dass z.B. anstelle der bisherigen 3 Messpunkte nun z.B. 10 Messpunkte ermittelt werden und entsprechend der bishrige Spalten-Aufbau "Qmin,Qmax, usw." dann ganz neu definiert werden kann.
* <span style='color:#3C6B96'>(VB) Eingrenzungskriterien sollte einen Normal- und Expertenmodus haben. Normalmodus - eineige bestimmte von uns vorgegebene Eingrenzungskriterien (, wenn möglich für uns variabel gestaltbar). Expertenmodus - wie derzeitige Eingrenzungsmöglichkeit. Der Wechsel sollte durch eine Schalftfläche im OLAP-Arbeitsplatz möglich sein. </span>
* <span style='color:#3C6B96'>(VB) Ist es möglich die Anordnung der Spalten in PE variabel zu gestalten. (Bsp. Dimension.Frei.1 neben EQUIPMENTID) Wieviele freie Dimension sind derzeit definierbar (auch mehr wie 3)?</span>
* <span style='color:#3C6B96'>(VB) Im "OLAP Arbeitsplatz" die 3 Spaltenüberschriften unter "Fehler" (Qmin, 0,2Qmin, Qmax) durch den Wert der tatsächliche Durchflussmenge (Flowrate) ersetzen. (WW): Hier könnten evtl. Fehler auftreten wenn eine Auswertung G4 und G6 Zähler beinhaltet. Bei gleichen "reqeusted flow"- Werten ist es sinnvoll bei ungleichen genügt die Qmin-, 0,2Qmin- u. Qmax Angabe.</span>

Aktuelle Version vom 8. November 2017, 10:33 Uhr

Der Arbeitsplatz wurde für komplexe mehrstufige OLAP Abfragen geschaffen. Insbesondere wenn viele Abfragefelder (OLAP Parameter) vom Benutzer eingetragen werden können ist die Verwendung des OLAP Arbeitsplatzes sinnvoller als der Start eines einzelnen OLAP Statement. Die Abfragen können unterhalb des Abfrage Verzeichnisses strukturiert werden. Dabei sind öffentliche und geschütze / gruppenbezogene Abfragen anwendbar und speicherbar.

Bedeutung der Symbole

Symbole (oben)

   
ACHTUNG: Farblich (Cyan) hinterlegte Erklärungen finden bisher keine sinnvolle Anwendungen innerhalb des aktuellen OLAP Arbeitsplatzes, und sind für Erweiterungen vorgesehen.
   
Datenbank wechseln. Es wird eine Auswahlliste von verfügbaren Datenbanken angezeigt. Durch entsprechende Auswahl wird die aktuelle Datenbank geschlossen und die neue mit den aktuellen Selektionskriterien abgefragt.
Der OLAP Arbeitsplatz wird von der aktuellen Datenbank getrennt.
   
Play. Die aktuellen Selektionskriterien werden zu einer SQL Datenbankabfrage zusammengestellt. Der Datenbankserver liefert nun alle Treffer in der Ergebnisliste.
Lupe. Die Funktion dient zur Fehlerdiagnose der Play Funktion. Es wird keine Datenbankabfrage gestartet wie bei Play, sondern nur das aus den Selektionseingaben gebildete SQL-Abfrage Statement wird angezeigt.
Die aktuell angezeigte Ergebnisliste wird als csv-ähnliche Datei in einen Texteditor geladen.
   
Alles markieren, nichts markieren.
Die aktuelle Markierung umkehren: Bisher Markierte werden nun nicht mehr markiert. Bisher unmarkierte werden nunmehr markiert.
Alle Datensätze der Ergebnisliste, die im Moment nicht markiert sind, werden nicht mehr angezeigt.
Die aktuell Markierten ausdrucken.
Alle Markierungen aufheben.
Alle Markierten löschen.
Alle Markierten ablegen.
   
Unter berücksichtigung der aktuellen Selektion werden die aktuellen Feldinhalte des aktuell fokusierten Feldes der Selektionseingabe in einem Texteditor aufgelistet.
Einstellungen
   
Zu dem aktuellen Datensatz die historischen Datensätze anzeigen.
In der Ergebnismenge Datensätze markieren, die Historische Datensätze besitzen
   
Doppelte und fehlende Seriennummern anzeigen lassen.
Prüfung, ob alle Datensätze im Ergebnisvolumen auch genau 3 Messpunkte besitzen. Ist das nicht der Fall werden die entsprechenden Datensätze markiert. Mit "nur noch die markierten anzeigen" lässt sich nun die Ansicht auf die Markierten einschränken. Danach kann eine manuelle Diagnose erfolgen.
Es wird die in "Vorlage" eingetragene Excel Datei geöffnet und nach Ausgabe.<AusgabeID>.xls kopiert. Die aktuelle Ergebnisliste wird in die Arbeitsmappen IN, MF, RP kopiert.
Es erfolgt die Ausgabe in eine ASCII - Datei. Das Format wurde vom Kunde WIENGAS vorgegeben.
Einlesen von CSV-Quelldaten in die Datenbank. Das Format wurde vom Kunden vorgegeben. Details dazu
Es erfolgt eine Ausgabe ins IntraNet.
   
Zur zurückliegenden Momentaufnahme.
Momentaufnahme erstellen.
Zur nächsten Momentaufnahme.
Zur letzten Momentaufnahme.
   

Symbole (unten)

Auflistung der Dateinamen von Selektionsvorlagen werden aktualisiert
   
Aktuelle Selektion unter dem angezeigten Namen speichern
Neue Selektion beginnen
Aktuelle Datei löschen
Eine Kopie von der aktuellen Selektion erstellen
Ablage Ordner für Selektionen öffnen

Listen Anzeige

In der Liste wird das aktuelle Selektions-Ergebnis dargestellt. Jede einzelne Zelle wird dabei durch ein einzelnes SQL Statement ermittelt. Die SQL-Statements für jede Spalte finden Sie im Unterordner OLAP des Orgamon-Programmverzeichnisses auf dem Server (z.B. X:\OrgaMon\OLAP\). Die Dateinamen beginnen immer mit OLAP.Dim.*.txt. Es steht dem Benutzer völlig frei, wie der Wert ermittelt wird und welche Bedeutung er hat. Die ersten 13 Spalten haben (aus historischen Gründen) bedeutungsvolle Dateinamen, aber die Wertermittlung ist frei und kann geändert werden. Auch Spaltenbreiten und Überschriften sind abänderbar!

Die ersten drei Spalten sind von der Bezeichnung her fest vorgegeben (Bank, Calib, Serial #) und werden mittels der Definition in der Datei

Datenbanken.OLAP.txt

festgelegt.

Die folgenden 13 Spalten müssen immer vorhanden sein:

OLAP.Dim.Prüfmoment.txt                // Spalte  4
OLAP.Dim.Fehler-Qmin.txt               // Spalte  5
OLAP.Dim.Fehler-Q02max.txt             // Spalte  6 - Funktion -- TITLE von Spalte 5.
OLAP.Dim.Fehler-Qmax .txt              // Spalte  7 - Funktion -- TITLE von Spalte 5.
OLAP.Dim.Radpaar.txt                   // Spalte  8
OLAP.Dim.RP%.txt                       // Spalte  9
OLAP.Dim.Druckverluste-Qmin-max.txt    // Spalte 10
OLAP.Dim.Druckverluste-Qmin.txt        // Spalte 11 - Funktion -- TITLE von Spalte 10.
OLAP.Dim.Druckverluste-Q02max.txt      // Spalte 12 - Funktion -- TITLE von Spalte 10.
OLAP.Dim.Druckverluste-Qmax.txt        // Spalte 13 - Funktion -- TITLE von Spalte 10.
OLAP.Dim.Auftragsnummer.txt            // Spalte 14 - Funktion -- TITLE geht hier nicht.
OLAP.Dim.Anzahl-Tests.txt              // Spalte 15 - Funktion -- TITLE geht hier nicht.
OLAP.Dim.Typ.txt                       // Spalte 16 - wird am Bildschirm nicht gezeigt, nur in der Exportdatei.

Weitere Spalten können (müssen aber nicht) in den folgenden Dateien definiert werden. Fehlen die Dateien, so wird diese Spalte nicht ausgegeben. Die Ausgabe dieser optionalen Spalten erfolgt nicht auf den Bildschirm, sondern nur in die xls Auswertungs - Datei.

OLAP.Dim.Dimension.Frei.1.txt
OLAP.Dim.Dimension.Frei.2.txt
OLAP.Dim.Dimension.Frei.3.txt
OLAP.Dim.Dimension.Frei.4.txt
OLAP.Dim.Dimension.Frei.5.txt
OLAP.Dim.Dimension.Frei.6.txt
OLAP.Dim.Dimension.Frei.7.txt
OLAP.Dim.Dimension.Frei.8.txt
OLAP.Dim.Dimension.Frei.9.txt
OLAP.Dim.Dimension.Frei.0.txt

in jeder einzelnen OLAP.Dim. Datei können noch folgende Optionen angegeben werden.

-- TITLE=Messwert      // bestimmt die Überschrift in der Auswertung, ansonsten
                       // wird die Überschrift aus dem SQL Statement entnommen
-- WIDTH=120           // bestimmt die Breite der Spalte in Pixeln
-- FORMAT=%.12f        // bestimmt den Formatstring bei Zahlenwert Ausgaben (in C-printf-Syntax)
-- ROUND=1000000000000 // bestimmt den Rundungsbreich 1/n
-- LENGTH=14           // bestimmt die Anzahl der Zeichen

Abfrage Reiter (Dimensions-Gruppen)

Eine Dimension des OLAP Würfel stellt ein einzelnes Feld einer Tabelle im Gesamtsystem dar (z.B. OLAP Dimension "Umsatz" : SELECT DISTINCT RECHNUNGSBETRAG FROM BELEG). Oft ist nicht sinnvoll der OLAP Forderung ALLES in einen mehrdimensionalen Würfel auszuformulieren Folge zu leisten. Vielmehr bietet man mehrere Herangehensweisen an die Ergebnissmenge an und kann so auf die Datenprojektion ALLER Dimensionen verzichten. Durch die auswahl einer Dimensions-Gruppe bricht der Gesamt-OLAP Würfel auf einen kleinen Teil seiner eigentlichen Grösse zusammen. Es entstehen dadurch Performanche Zuwächse.

Abfrage Syntax

["!"|"<"|">"|"<="|">="|"<>"] <Wert> [ ".." <Wert> ] { "#" <Wert> }

Beispiele für einzelne Feldeingaben:


16              : genau der Wert 16
>5              : alle Werte die grösser sind als 5
>=5             :
5..120          : Werte zwischen (incl.) 5 und 120 
<3              : Werte die kleiner sind als 3
<=3             : 
<>15            : 
1,17,28,25,99   : Aufzählungs Typ
start with Deu  : Beginnt mit
like %G4%       : So ähnlich wie
                : muss leer sein
!               : muss was drin sein

Ausgabe in ein vorbereitetes Excel(tm)Microsoft(c) Dokument

Beliebige Berechnungen, unter Berücksichtigung einer ganzen Spalte, egal wieviele Werte dort vorhanden sind (Geht bis zur technischen Grenze von 64k Werten):

=MITTELWERT(PE!E2:E65536)            // Durchschnitt
=STABW(PE!E2:E65536)                 // Standardabweichung 

Der angegebene Bereich beginnt immer bei Zeile 2, da die Überschrift nicht mit einbezogen werden darf. Völlig Leere Zellen (Anzahl des aktuellen Volumens .. 64K) ignoriert Excel ohne merkliche Geschwindigkeitseinbuse.

Spalten Marker MAPPE#SPALTE

Übernahme von ganzen Spalten von den Unter-Arbeitsmappen in einer der Haupt-Arbeitsmappen. Der OLAP - Arbeitsplatz sucht dabei nach den Bezeichnern:

PE#<SpaltenÜberschrift>
MF#<SpaltenÜberschrift>
RP#<SpaltenÜberschrift>

an dieser Stelle wird dann die ganze Spalte in das Hauptdokument übernommen. Der Spalten-Marker wird mit dem ersten Wert der Spalte überschrieben. Überschriften müssen oberhalb des Spalten MArkers gesetzt werden.
Die ganze Spalte wird genau so formatiert wie die erste Beispielhafte Zelle unterhalb des Spalten-Markers.

|PE#PRUEFMOMENT   |
|  12. Januar 2008|

Neben dieser eingebauten Möglichkeit gibt es noch weitere, die Excel aus eigener Kraft schaffen kann:

//
// Nur mal grundsätzliches Beispiel 1
//
Sub Makro1()
 Range("B1:B20").Copy
 Range("A1:A20").PasteSpecial Paste:=xlValues
End Sub
//
// Nur mal grundsätzliches Beispiel 2
// Hier wird im Ziel glaube ich nach einer freien Position gesucht
Sub Makro1()
  Range("B1").Copy
  Dim iRow As Integer
  Cells([a65536].End(xlUp).Row + 1, 1).Activate
  Selection.PasteSpecial Paste:=xlValues
End Sub


Die OLAP Arbeitsplatz Quelltext gibt es hier

http://orgamon.org/source/OLAPArbeitsplatz.pas.html

to do "laufender Auftrag"

to do "muss neu beauftragt werden"

Datenbank Abfrage Optimierungen

  • (VB) Datenermittlung für alle Datenzeilen nicht on demand beim Scrollen, sondern durch einen echten Hintergrund - Prozess. Man erwartet,dass dann beim Drücken des Excel Knopfes so viel Zeit vergangen ist, dass bereits alle Ergebnisse vorliegen. (VB) Gedankenstütze: Bitte die DB-Anfrage nach dem Befüllen des Grids in den Hintergrund schicken und weiter laufen lassen, dass die Daten in den HS gespeichert werden und somit ein Scroll flüssiger abläuft.
  • (AF) Optimierung der einzelnen Wertermittlung der Dimensionen. Vorgehensweise:
  select                    select
    COL_A                     COL_B
  from                      from 
    TABLE_A                   TABLE_A
  <WHERE_BLOCK_A>           <WHERE_BLOCK_A>
 
 kann optimiert werden zu:

  select  
    COL_A,
    COL_B
  from     
    TABLE_A 
  <WHERE_BLOCK_A>

Bei den aktuellen 12 Dimensionen ist hier eine Performance Steigerung von 300% denkbar!!!

  • (AF) Temp-Table Optmierung: Einzelne Dimensionen bedienen sich aus einer Temptable, die nicht als "Dim" sondern als "Vektor" definiert werden muss. Eine einzelne Dimension bedient sich dann mit Hilfe von x,y Koordinaten aus dieser Temp-Tabelle, diese hat die Lebensdauer einer Row, wird also eine neue Row angefordert wird die temp tabelle überschrieben. Mehrere Dimensionen der aktuellen row bedienen sich, die erste anfragende Dimension löst die Erzeugung der Tabelle aus. Der Vektor könnte so formuliert werden.
// Optimaler Messergebnis Vektor
// 'OLAP.Vektor.Tests.txt'
select
 pointnum,
 meterploss,
 METERMAXPLOSS,
 METERERRORWITHGEA
from
 tests
where
 (calibrationid = $CALIBRATIONID) and
 (equipmentid = '$EQUIPMENTID') and
 (serialnumber = '$SERIALNUMBER') 
order by
 pointnum
// Nun die einzelne Dimension
// 'OLAP.Dim.QMax.txt'
//
!Tests[2,1]


aus diesem SQL Statement sind komplett 7 Ergebnisspalten herauslesbar. Hier kann man auch umfassende Plausibilitäts-Prüfungen durchführen: (Anzahl der Eregbnisdatensätze=3, Pointnum der ersten Zeile=1, Pointnum der zweiten Zeile=2, Pointnum der dritten Zeile=3)

hier ist nochmal eine Geschwindigkeits Steigerung von 100% möglich!

Berechtigungskonzept

Fragestellung: Was dürfen einzelne Benutzergruppen mit dem OLAP - Arbeitsplatz tun? Man sollte die wichtigsten Vorgänge mal sammeln (Änderun der Auftragsnummer, Ändern einer Serialnummer, Löschen eines doppelten Tests usw.) und diese dann geführt durch den OLAP Arbeitsplatz erledigen lassen. Alle einzelnen Aktionen sind dann über die Gruppenrechte steuerbar.

  • (VB)Berechtigungskonzept: gezielte Rechtevergabe über Anmeldename (Berechtigungsvergabe kann über IB Manager in DB direkt erfolgen "Benutzer <-> Gruppenrechte", erfordert erneute Diskussion)

Sonstiges

  • (AF) Mappe IN, es soll eine 3. Spalte geben. Insbesondere die Aufzählungstypen der PE Tabelle sollen mit einem X in der 3. Spalte versehen werden sobald innerhalb der Selektion auf dieses Feld einen Einschränkung gemacht wurde. (VB) Entsprechend dem vorigen Punkt (SELECTION) in der Tabelle "MAIN" alle eingegrenzten Felder im Fettdruck. Vorschlag, in der Zelle "IN!C" ein "X" setzen, dass in der Tabelle "MAIN" durch eine bedingte Formatierung ein Fettdruck ausgelöst wird. (siehe Attachment "WW_out_PEPI1prod.xls") (AF) Hab ich nicht verstanden, entsprechende Rückfrage wird vorbereitet, das es jetzt das Excel Feld "Questionaire" gibt, will ich vorerst abwarten, ob das gemeint war.
  • (VB) Möglichkeit der Umstellung der DB-Anbindung ist für alle Benutzer aktiv. Kann das Benutzerspezifisch als zuteilbares Recht erfolgen?
  • Berechtigungskonzept: Sperrung der umfassenden Änderungsmöglichkeiten an der Datenbank (mit sofortiger Wirkung)
  • (AF) ermöglichen, dass einfach noch mehr Spalten rechts in "PE" hinzugefügt werden können. Insbesondere die Möglichkeit, dass z.B. anstelle der bisherigen 3 Messpunkte nun z.B. 10 Messpunkte ermittelt werden und entsprechend der bishrige Spalten-Aufbau "Qmin,Qmax, usw." dann ganz neu definiert werden kann.
  • (VB) Eingrenzungskriterien sollte einen Normal- und Expertenmodus haben. Normalmodus - eineige bestimmte von uns vorgegebene Eingrenzungskriterien (, wenn möglich für uns variabel gestaltbar). Expertenmodus - wie derzeitige Eingrenzungsmöglichkeit. Der Wechsel sollte durch eine Schalftfläche im OLAP-Arbeitsplatz möglich sein.
  • (VB) Ist es möglich die Anordnung der Spalten in PE variabel zu gestalten. (Bsp. Dimension.Frei.1 neben EQUIPMENTID) Wieviele freie Dimension sind derzeit definierbar (auch mehr wie 3)?
  • (VB) Im "OLAP Arbeitsplatz" die 3 Spaltenüberschriften unter "Fehler" (Qmin, 0,2Qmin, Qmax) durch den Wert der tatsächliche Durchflussmenge (Flowrate) ersetzen. (WW): Hier könnten evtl. Fehler auftreten wenn eine Auswertung G4 und G6 Zähler beinhaltet. Bei gleichen "reqeusted flow"- Werten ist es sinnvoll bei ungleichen genügt die Qmin-, 0,2Qmin- u. Qmax Angabe.