OLAP.Arbeitsplatz
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)
Symbole (unten)
Listen Anzeige
Es wird immer das OLAP Zentral ergebnis dargestellt. Es kann auch noch weitere Endergebnisse geben.
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
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
- Hier gibt es weitere Infos über Excel Charts: http://peltiertech.com/Excel/Charts/
- Inbesondere über "Doppel-Charts": http://peltiertech.com/Excel/Charts/BarLineCombo.html
- Es erfolgt immer die Ausgabe in die datei out.xls
- Existiert die Vorlage, so wird diese Benutzt - alle Angaben der ersten Mappe bleiben erhalten.
Die OLAP Arbeitsplatz Quelltext gibt es hier
http://www.orgamon.org/OLAPArbeitsplatz.pas.html
to do "laufender Auftrag"
unterstrichen bedeutet: gelöst bzw. sogar schon released.
OLAP-Komponente:
- Berechtigungskonzept: Sperrung der umfassenden Änderungsmöglichkeiten an der Datenbank (mit sofortiger Wirkung)
- individuelle Einstellbarkeit der Texte vor den Eingabefeldern in den Selektionsmasken
- Im "OLAP Arbeitsplatz" sollten noch die Auftragsnummern angezeigt werden, statt dessen kann der Typ ausgeblendet werden.
- Combobox für Datenbanken (-> Bei Änderung der DB sollte ein automatischer Re-Connect erfolgen)
- "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!
- durchstarten in den OLAP - Arbeitsplatz. Dies sollte ein benutzerdefinierbares Flag sein. (Also abhängig vom Benutzer, der sich einlogged).
- Dokumentation aller Mini-Symbole im Wiki
- Bei versehntlich gestarter Auswertung mit dem Excel-Symbol besteht keine Möglichkeit die laufende Auswertung abzubrechen. Erbitte spezielle Tastenkombination um abzubrechen
- 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)?
- Neue Anforderung: Teilweise müssen zu einem Auftrag mehrere Auswertungen angefertigt werden. Bisher wird nur eine Tabelle ("MAIN") bei der Erstellung der "OUT.XLS" ohne Fehlermeldung akzeptiert. Ist es möglich dies zu ändern, sodass beliebig viele Tabellenblätter in der Vorlage existieren können, die mit "MAIN" beginnen (z.B. MAIN_PEPI, MAIN_Druckverlust, ...).
- Bezüglich dem Tabellenfeld Questionaire ("OUT.XLS,IN!B16") und Selektionszusammenfassung (in OrgaMon) wird als Feldname die CAPTION-Definition von External.Questionaire.Fields.txt gezogen. Bitte das "&"-Zeichen ausblenden (, noch besser wäre es, wenn zusätzlich in Klammer der tatsächliche DB-Feldname mit ausgegeben werden würde).
- Bei der neuen Funktion eine Excel-Auswertung Abzubrechen erscheint nach dem Abbruch eine etwas irreführende Fehlermeldung "Es gibt unplausible!". Bitte noch Ändern, Danke.
- Übernahme ganzer Excel Spalten von einer Mappe in die andere. Wertereihen spaltenweise fortsetzen (Excel-Funktion?!?)
- 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.
- 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).
- 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.
- 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>=! ...
- 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..).
to do "muss neu beauftragt werden"
- (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 inerhalb 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.
- Umstellung der DB-Anbindung wird für alle Benutzer aktiv. Kann das Benutzerspezifisch erfolgen?
- 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)
- (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.
- (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!
- (VB) Berechtigungskonzept: gezielte Rechtevergabe über Anmeldename (Berechtigungsvergabe kann über IB Manager in DB direkt erfolgen "Benutzer <-> Gruppenrechte", erfordert erneute Diskussion)
- (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.
- (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.
- 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.