Null oder Nix

Sie wollen die durchschnittliche Förderleistung einer Pumpe ermitteln, wenn die Pumpe läuft. Oder Sie wollen den durchschnittlichen Stromverbrauch eines Motors ermitteln, aber nur wenn dieser auch in Betrieb ist.
Würden Sie einfach einen Mittelwert über den Zeitraum bilden, dann würden natürlich auch alle Zeiträume mit betrachtet an denen die Förderung oder im anderen Fall die Stromaufnahme gleich null ist. Das Bild würde also vollkommen verfälscht.
Es ist also notwendig nur solche Werte in die Berechnung einfließen zu lassen, deren Wert >0 ist. Sie müssen also der Mittelwertberechnung einen Filter vorschalten.
In dem folgenden Beispiel aus PI AF Analysis wird dies gezeigt:

Die Funktion TimeGT() gibt in Sekunden aus, wie lange im angegebenen Zeitraum der Wert größer als, in diesem Fall 0, war.

Time weighted und Event weighted

Immer wieder taucht in Seminaren die Frage auf, worin der Unterschied zwischen zeitlich gewichteten und ereignisgewichteten Berechnungen besteht.

Ereignisgewichtete Berechnungen (Event weighted), d.h. Mittelwerte und Summen, addieren einfach die Werte in einem Zeitraum und beim Mittelwert werden diese durch die Anzahl der Werte geteilt.

Zeitlich gewichtete Berechnungen (Time weighted) berücksichtigen hingegen, wie lange ein Wert Gültigkeit hatte. Dies ist bei PI Daten deswegen von besonderer Bedeutung, weil Werte, die sich nicht, oder nur marginal verändert haben, ausgefiltert werden. Ein weiteres Beispiel könnten Zinsberechnungen sein, wenn sich der Zinssatz in dem betrachteten Zeitraum mehrfach geändert hat. Hier kann man ebenfalls nicht mit dem arithmetischen Mittelwert arbeiten.
Bei zeitlich gewichteten Berechnungen spielt die Fläche unter der Kurve eine entscheidende Rolle.

wobei yi der Ereigniswert zum Zeitpunkt ti ist und n die Anzahl der gemittelten Werte.

In DataLink Berechnungen aktualisieren

Die einzige DataLink-Funktion, die sich automatisch aktualisiert, ist der „Aktuelle Wert“ oder im Englischen „CurrentValue“. Die Funktion zeigt den frischesten Wert an. Wenn Sie die automatische Update Funktion angewählt haben, dann frischt sich die Anzeige im voreingestellten Fall alle 5 Sekunden, oder wenn in den Einstellungen etwas anderes angegeben, in längeren Zyklen automatisch auf. Durch Drücken der F9 Taste kann eine Aktualisierung auch erzwungen werden. Auch alle Berechnungen, die mit dieser DataLink-Funktion referenziert sind, also darauf basieren, werden automatisch aufgefrischt. Man sagt, dass die „CurrentValue“-Funktion volatile ist.

Ist das Eingabefenster der Funktion geöffnet, oder wird eine Zelle editiert, so pausiert die Update-Funktion. Schreibgeschützte Tabellen können sich ebenfalls nicht aktualisieren.
Die Neuberechnung großer Workbooks, möglicherweise mit mehreren Tabellenblättern, kann sehr lange dauern. Mit der ESC-Taste kann diese abgebrochen werden. In den nicht aktualisierten Zellen erscheint dann „Calculation aborted“ und die automatische Update-Funktion wird verlassen.

Alle anderen DataLink-Funktionen sind nicht volatile, d.h. frischen sich nicht automatisch auf. Mit der Tastenkombination Strg+Alt+Shift+F9 können Sie die Neuberechnung aller Formeln erzwingen. Eine Aktualisierung eines Ergebnisbereichs kann auch im Kontextmenü (rechte Maustaste) mit dem Menüpunkt „Resize (Recalculate) to show all values“ bewirkt werden. Dabei vergrößert sich u.U. der Ergebnisbereich.

Es gibt einen Trick mit dem man auch andere DataLink-Funktionen volatile machen kann. Kommt im Zeitstempel der Funktion ein Sternchen * (Asterisk) vor, so ersetzen Sie dieses durch die Excel-Funktion „=NOW()“ oder im deutschen Excel durch „=Jetzt()“. Diese Excel Funktion ist volatile und aktualisiert automatisch. Verweisen Sie also z.B. in einer „PIArcVal“-Funktion (Archivwert) auf eine Zelle mit einem „=NOW()“, so wird sich auch diese Funktion automatisch aktualisieren.
Übrigens ist auch die Excel-Funktion „=today()“ oder „=heute()“ volatile und „=heute()+1/3“ entspricht „heute um 8 Uhr“.

 

 

 

Vermeiden unnötiger DataLink-Funktionsaufrufe

Jeder DataLink-Funktionsaufruf bedeutet für das DataArchive, dass ein oder mehrere Archive geöffnet werden müssen und die Werte herauszufiltern sind. Zahlreiche DataLink-Funktionen erlauben aber, in einem Schritt mehrere Data Items (Tags) oder mehrere Zeitstempel in einem Eingabe-Bereich anzugeben. Diese Vorgehensweise vermindert die Belastung des Servers und ist daher als „Best Practice“ vorzuziehen. Anstatt also im gezeigten Negativbeispiel eine Funktion auf alle darunterliegenden Zellen herunter zu kopieren, sollte in der Eingabe der Bereich angegeben werden, wie das Positivbeispiel zeigt.

DataLink- und Excel-Funktionen voneinander trennen

Obwohl es prinzipiell möglich ist DataLink-Formeln direkt in die Zellen eines Tabellenblatts einzugeben, sollten Sie auf diese Möglichkeit verzichten und statt dessen immer die Eingabemaske zur jeweiligen Funktion nutzen. Dies vermeidet Fehleingaben und unerwartete Abbrüche.

Sie sollten auch PI DataLink-Funktionen nicht in Excel-Funktionen verwenden und umgekehrt.

Bedingte Formatierung: Erweitern/Editieren

Wenn eine Regel für die Bedingte Formatierung für einen Zellbereich festgelegt wurde, so können Sie weitere Bereiche hinzufügen.
Dazu markieren Sie eine Zelle in dem bedingt formatierten Bereich. Rufen Sie die Bedingte Formatierung auf –>Regeln verwalten.
Klicken Sie hinter „Wird angewendet auf „auf die Schaltfläche und Sie können den Bereich editieren. Fügen Sie ein Semikolon hinter den existierenden Bereich und markieren Sie dann den zusätzlichen Bereich. Dieser wird der Auflistung hinzu gefügt. Mit Enter und Übernehmen wird dann die erweiterte Regel angewendet.

Bedingte Formatierung: Leselinien

Leselinien machen die Orientierung in einer Tabelle einfacher, besonders wenn es sich um lange Zeilen handelt in denen man schnell mal verrutscht.
Bei jeder zweiten Zeile wird der Hintergrund entsprechend der Regel gefärbt.

Markieren Sie den Zellbereich für den die Regel gelten soll. Rufen Sie dann im Menü die Bedingte Formatierung auf und erstellen Sie eine neue Regel.
Die Bedingungsformel lautet =REST(ZEILE();2)=1
Hier wird die Zeilennummer ermittelt und geprüft ob sich beim ganzzahligen Teilen durch 2 ein Divisionsrest ergibt. Im Beispiel werden alle ungeraden Zeilennummern des Bereichs gelb gefärbt.

Wenn Sie die Formel umändern in =REST(ZEILE();2)=0 , dann werden die gerade Zeilen gelb.

Bedingte Formatierung in Excel

Wie der Name sagt, kann man in Excel die Zellformatierung, d.h. Schriftfarbe, Schriftart und -größe, aber auch die Hintergrundfarbe einer Zelle, vom Wert, der in der Zelle steht, abhängig machen. Dadurch kann man z.B. Tabellen übersichtlicher gestalten und die Interpretation der Werte erleichtern.

Es ist möglich Datenbalken zu verwenden. Dabei werden abhängig von der Größe des Wertes unterschiedlich lange Balken als Zellhintergrund eingefügt.

Abhängig vom Wert kann die Zellfarbe wecheln.

In einer Adressliste können Duplikate hervorgehoben werden und vieles mehr.

Für die Bedingte Formatierung bestimmen Sie eine Regel, die für die Zelle oder den Zellbereich oder im Extremfall für das ganze Tabellenblatt oder für die Arbeitsmappe gelten soll.

Excel Operationen mit Matrizen

Es ist in Excel sehr einfach einen Bereich, eine Matrix, mit einem Skalar, Zahlenwert, zu multiplizieren, oder zu dividieren. Auch Additionen und Subtraktionen sind möglich.
Der Kaufmann kann so sehr schnell eine Liste von Preisen erhöhen, oder prozentuale oder absolute Rabatte geben.
So gehen Sie vor:

  1. Markieren Sie Ihren Skalar und nehmen Sie den Wert in die Zwischenablage.
  2. Markieren Sie Ihre Matrix, den Bereich, auf den die Operation angewendet werden soll und Klicken Sie die rechte Maustaste.

    Wählen Sie entsprechenden Vorgang, hier multiplizieren  und drücken Sie OK.
  3. Anschließend ist jeder Wert des Bereichs mit dem Skalar multipliziert.