Ein Kontext ist immer durch einen key z.B. eine Dimension und einen value z.B. eine Ausprägung beschrieben. In den Beispielen oben wären die keys “Jahr” oder “Land” und die values “2017” bzw. “Deutschland”. Die Kontexte können statisch im GPS festgelegt werden oder in BI-Umgebungen wie die SAP Analytics, die ein Skripting ermöglichen auch dynamisch über die Skriptsprache. Wird die Kommentierung in einer Visualisierung von uns genutzt, so werden für Datenpunktkommentare automatisch Datenkontexte für die dem Datenpunkt zugrundeliegende Datenhierarchie anlegt. Für einen Visualisierungskommentar, der die Visualisierung als Ganzes beschreibt, wird automatisch ein Umgebungskontext angelegt, der auf eine zufällig generierte und persistierte ID der Visualisierung verweist.
Aus der Menge der Kontexte zu einem Kommentar wird implizit eine Hierarchie gebildet, die in unserer eigenständigen Kommentarkomponente unter “more specific comment(s)” abgebildet wird. So wird es möglich, dass wenn als Kontext beispielsweise ausschließlich der Name des Dashboards als Umgebungskontext definiert wurde, unter dem Punkt für die weiteren Kommentare solche auftauchen, die vorher in einem anderen Kontext geschrieben wurden, der zusätzlich zu dem Namen des Dashboards beispielsweise auch noch eine Ausprägung der Dimension “Jahr” als Datenkontext festgelegt hatten und somit spezifischer als die aktuelle Menge von Kontexten festlegt sind.
Kontextarten
Umgebungskontext
Der “Environment Context” ist dazu gedacht den Kommentarraum auf Eigenschaften einzuschränken, die nicht von den Daten abhängig sind. So könnte der Kommentarraum beispielsweise auf das aktuelle Dashboard eingegrenzt werden. Ein Umgebungskontext ist auch durch eine Kombination von key und value definiert. In unserem Beispiel könnte der key also etwas wie “Dashboard Name” und der value z.B. “Sales Dashboard” sein.
Datenkontext
Der “Data Context” ist dazu gedacht den Kommentarraum auf eine gewisse Datenkonstellation einzuschränken. Er enthält zusätzlich zu den Eigenschaften key und value noch die optionalen Eigenschaften keyText und valueText. Diese dienen dazu den Anzeigenamen aus der Datenquelle (wenn denn vorhanden) für die Dimension und den Member zu pflegen, da dies die Darstellung von einem Kommentar zugehörigen Kontexten verständlicher macht. Da Dashboards und Datenlagen sehr divers und dynamisch sein können, werden diese in Umgebungen mit Skripting-Möglichkeiten meistens direkt ausgelesen und so gepflegt. Als Datenkontext könnte also beispielsweise festgelegt werden, dass der key “Jahr” mit dem value “2017” definiert ist.
Festlegungsarten von Kontexten
Statische Kontexte
Die “Static Contexts” werden im GPS festgelegt und gelten so unabhängig von beispielsweise per Skripting festgelegten Filterzuständen über die gesamte Laufzeit hinweg. Ein Static Context könnte bspw. dafür verwendet werden, den Kommentarraum auf das aktuelle Dashboard einzugrenzen. Dafür wäre der Type “EnvironmentContext” zu wählen.
Dynamische Kontexte
Die “Dynamic Contexts” werden in Umgebungen mit Skripting dort basierend dem aktuellen Zustand gesetzt. Diese werden in der Regel dafür verwendet, dynamisch den aktuellen Filterzustand auf den Daten an die Kommentare weiter zu geben, wodurch ein gepflegter Kommentar dann genau dieser Datenkonstellation zugeordnet wird. Beispielweise kann ein Dropdown in einer Anwendung, dass das aktuelle Jahr auf der Datenquelle filtert gleichzeitig einen Datenkontext an der Kommentarkomponente setzen, der den key “Jahr” mit dem value der im Dropdown ausgewählt wurde zuordnet. Dynamische Kontexte überschreiben die Statischen Kontexte nicht.
Automatische Kontexte
In der Verwendung der Kommentare in Verbindung mit unseren Visualisierungen, werden für Datenpunktkommentare die dem Datenpunkt zugehörige Datenhierarchie und für Visualisierungskommentar die ID der Visualisierung automatisch dem Kommentar zugeordnet.