Einführung zu Formeln

Wandanzeigen enthalten zu jedem Zeitpunkt alle Daten des myContactCenter Servers. Die Daten sind in Listen von verschiedenen Elementen abgelegt. Somit enthält die Wandanzeige eine Liste der konfigurierten ACDs, der konfigurierten Kampagnen, der angemeldeten Agenten und den aktuellen Konversationen im myContactCenter Server sowie den aufgetretenen Alarmen.

Die Namen der Listen sind:

  • ACDs
  • Kampagnen
  • Agenten
  • Konversationen
  • Alarme
  • Wissensbereiche
  • Sprachen

Also jedes Element das im Plural aufgeführt ist ist eine Liste. Jede Liste enthält 0 oder mehr Elemente, kann also leer sein. Jede Liste enthält einen spezifischen Typ von Elementen. Die Elemente einer liste wird durch den Singular der Liste repräsentiert (Agents Liste enthält Agent Elemente):

Liste Element
ACDs Enthält ACD Elemente aller konfigurierten ACDs in myContactCenter
Kampagnen Enthält Campaign Elemente aller konfigurierten Kampagnen in myContactCenter
Agenten Enthält Agent Elemente aller angemeldeten Agenten in myContactCenter
Konversationen Enthält Kontakt Elemente aller Konversationen die gerade von myContactCenter bearbeitet werden
Alarme Enthält Alarm Elemente aller Alarme die gerade in myContactCenter aktiv sind oder verändert wurden
Wissensbereiche Enthält alle im myContactCenter Server konfigurierten Wissensbereiche
Sprachen Enthält alle im myContactCenter Server konfigurierten Sprachen

Jedes Element der Listen haben Felder. Diese Felder können in Formeln verwendet werden.

Allgemein besteht also eine Wandanzeige aus Listen, die Listen enthalten Elemente und jedes Element besteht aus Feldern. Zusätzlich zu Listen können in der Wandanzeige auch Formeln basierend auf Zeit verwendet werden, wobei die Zeit zwischen der aktuellen Zeit und der definierten Histogramlänge liegt.

Das Arbeiten mit Felder ist sehr einfach da die Felder direkt über deren Feldnamen angesprochen werden können.

Das Arbeiten mit Listen ist abhängig vom Kontext in dem sie verwendet werden. Zwei verschiedene Kontexte existieren, Verwendung der Liste in Tabellen oder in einfachen Anzeigen (rund- oder digitale Instrumente, Text oder Tabellen Zelle).

Kontext einfache Anzeige

Betrachtet wird ein Textelement welches auf dem Anzeigenelement platziert wurde. Ein Textelement kann nur einen Text anzeigen. Somit muss eine Formel für ein Textelement als Ergebnis einen einfachen Type haben, wie z.B. eine Zahl, ein Datum oder Uhrzeit, eine Zeitspanne, ein boolscher Wert, ....

Um dies für Listen sicherzustellen sind Aggregate die Lösung. Ein Aggregat kombiniert aus einer Liste einfache Werte welche in einem einfachen Anzeigenelement dargestellt werden können. Aggregate können Summen, Mittelwerte, Maxima oder Minima berechnen. Die Aggregate wirken auf Listen und Berechnen Werte für Felder der Listen Elemente.

z.B. die Agenten Liste kann nicht so wie sie ist in einer Formel eines Textelement s verwendet werden und muss aggregiert werden. Das einfachste Aggregat in myContactCenter ist COUNT(). Um das Aggregat COUNT() zu bilden muss es auf die Agents Liste angewendet werden:

Agents.Count()

Jetzt ist die Agents Liste zu einem einfachen Wert aggregiert worden und kann über ein einfaches Anzeigenelement dargestellt werden. Weitere Aggregate (MAX(), MIN(), AVERAGE(), SUM()) werden später im Detail vorgestellt. All diese Aggregate reduzieren den Inhalt einer Liste auf einen einfachen Wert. Der Bereich Beispiele zeigt wie mit Aggregaten sinnvolle Daten aus Listen für die Darstellung in der Wandanzeige erzeugt werden können.

Kontext Tabelle

In der myContactCenter Wandanzeige existieren verschiedene Tabellen. Jede repräsentiert eine Liste von Daten die in der Wandanzeige gespeichert sind. Somit existiert eine Tabelle für Agents, ACDs, Campaigns und Contacts. Jedes mal wenn der Wandanzeige eine Tabelle hinzugefügt wird muss die zugrundeliegende Liste angegeben werden. Jede Spalte hat eine Formel für die Daten die durch diese Spalte dargestellt werden sollen.

Eine Zeile der Tabelle repräsentiert eine Element der zugrundeliegenden Liste. z.B. in der Tabelle welche die Agents Liste repräsentiert steht jede Zeile für einen angemeldeten Agenten.

Da Spalten eine Formel besitzen wird jede Zelle basierend auf der Spalten Formel und dem Element dass durch diese Zeile repräsentiert wird berechnet.

Somit ist in Tabellen auf der hierdurch repräsentierten Liste kein Aggregat notwendig um einfache Werte zu berechnen (der in einer Tabellenzelle dargestellt werden kann) da jede Zeile genau ein Element der Liste darstellt.

z.B. eine Agents Tabelle könnte eine Formel haben die den Namen des Agenten angibt. Diese Formel ist sehr einfach:
Name
Name Name ist ein Feld des Agenten Elementes und kann direkt durch eine Tabellen Spalten Formel angesprochen werden. Die nutzbaren Felder in Wandanzeigen Formeln werden später im Detail beschrieben.

Für Tabellen Spalten Formeln gelten die selben Regeln wie für Formeln für einfache Anzeigen, der Unterschied liegt darin dass für die zugrundeliegende Tabelle keine Aggregate notwendig sind während dies für einfache Anzeigen notwendig ist.

Für jede Tabelle existiert das Symbol row welches das Element einer Zeile repräsentiert. z.B. in einer Agents Tabelle repräsentiert jede Zeile ein Agent Element und alle Felder können direkt angesprochen werden. Mittels des row Symbols kann das Agents Element auch über row angesprochen werden. Das bedeutet dass in der Agents Tabellen Formel der Name der Agenten über zwei synonyme Wege ausgegeben werden kann:

  • Name
  • row.Name

Dies wird insbesondere in komplexen Formeln dann wichtig wenn Symbole in Konflikt geraten können (haben den selben Namen in zwei unterschiedlichen Kontexten z.B. Name des Agenten und Name der ACD).

Listen und Distionaries

Listen und Dictionaries halten Datenelemente des gleichen Typs (z.B. Agent Elemente oder Contact Elemente...) In der myContactCenter Wandanzeige werden beide verwendet. Abhängig von der Tatsache dass Daten in Listen und Dictionaries leicht verschieden abgelegt werden unterscheidet sich die Art und Weise darauf zuzugreifen. Listen halten die Daten direkt wohingegen Dictionaries die Daten in Schlüssel-Wert-Paaren speichern. Somit liefert der Zugriff auf ein Dictionary ein Schlüssel-Wert-Paar und nicht das Element selbst. Um Zugriff auf die Elemente selbst zu bekommen muss die Eigenschaft Values verwendet werden. Angenommen in einer Liste werden ACD Elemente wie in der ACDs Liste und in einem Dictionary die Schlüssel-Wert-Paare (wobei der Value das ACD Element ist) abgelegt. Um die Anzahl an Elementen zu zählen ist die Syntax leicht verschieden:

Zählen in Listen: ACDs.Count()
Zählen in Dictionaries: ACDs.Values.Count()

Es ist also wichtig zu prüfen ob das Feld eine Liste oder ein Dictionary ist um die korrekte Funktion zu verwenden.

Anzeigen

Einfache Anzeigen sind all die Elemente die in der Lage sind einen Wert gleichzeitig anzuzeigen. Das sind die zirkularen und linearen Instrumente, die Textanzeige und die digitale Anzeige. Natürlich ist auch eine Tabellen Zelle eine einfache Anzeige, aber nur in Tabellen vorhanden.

Um Listen von Werten anzuzeigen ist eine Tabelle notwendig, jede Zelle der Tabelle repräsentiert einen einfachen Wert.

Tabellen Zellen sind in der Lage jeden beliebigen einfachen Wert anzuzeigen, wohingegen einfache Anzeigenelemente in zwei Gruppen zerfallen:

- Instrumente

- Textelement und digitale Anzeige

Instrumente sind in der Lage numerische Werte wie ganzzahlige oder gleitkomma Zahlen darzustellen. Textelemente und digitale Anzeigen können jeden beliebigen einfachen Wert darstellen wie Text, Zahlen, Datum und Uhrzeit, boolsche Werte....

Zusammenfassung

Formeln müssen immer einen einfachen Wert zurückgeben. Ein einfacher Wert ist alles was in einem einfachen Textelement dargestellt werden kann, z.B. Text, Zahlen, Datum und Uhrzeit....

Formeln im Kontext einer einfachen Anzeige müssen Aggregate von Listen bilden.

Formeln im Tabellen Kontext die auf den Listenelementen wirken benötigen keine Aggregate auf der Liste die durch die Tabelle repräsentiert wird.

Achtung: Formeln in Tabellen die nicht auf der durch die Tabelle repräsentierten Liste wirken benötigen Aggregate wie Formeln für einfache Anzeigenelemente. z.B. Liegt eine Tabelle vor welche die Agents Liste repräsentiert und in einer Spaltenformel wird die ACDs Liste verwendet so muss für die ACDs ein Aggregat gebildet werden da die Zeile einen Agent repräsentiert und keine ACD. Ein Formel könnte so aussehen:

Name & " - " & ACDs.COUNT()

Diese Formel in der Agents Tabelle wirkt direkt auf den Agent der durch die Zeile repräsentiert wird und somit liefert Name den Name des Agenten der Zeile. Da die Zeile den Agenten repräsentiert und nicht die ACD muss für die ACDs Liste ein Aggregat verwendet werden, hier ACDs.COUNT().