Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Die graphomate bubbles integrieren sich nahtlos in die SAP Analytics Cloud. So wird auch das Scripting im Application Designer der SAP Analytics Cloud unterstützt.

Die im Propertysheet dargestellten Eigenschaften, lassen sich per Scripting von der Komponente abrufen und setzen. Daneben gibt es noch Methoden, die der Vereinfachung des setztens von Kontexten für Kommentare dienen:

createDataContext(key: string, value: string): DynamicContext;

Über diese Methode kann ein Datenkontext erstellt werden, der dann über die Methode setDynamicContexts, der ein Array aus Kontexten übergeben wird, gesetzt werden kann. Ein Datenkontext beinhaltet in der Regel eine Kombination aus Dimension und Member. Also bspw. ist der key “year” und der value “2017”.

createDataContextWithText(key: string, value: string, keyText: string, valueText, string): DynamicContext;

Unterscheidet Ihre Datenquelle zwischen IDs für Dimensionen und Membern und deren Anzeigetext, so kann diese Methode wie createDataContext verwendet werden, mit der zusätzlichen Möglichkeit auch die Anzeigetexte zu setzen. Bpsw. ist hier der key “CAL_YEAR” und der keyText “Year”.

createEnvironmentContext(key: string, value: string): DynamicContext;

Ein Umgebungskontext kann dazu genutzt werden um den Kommentarraum auf bspw. eine bestimmte Umgebung oder ein Dashboard einzuschränken. Hierbei könnte dann key etwas wie “Dashboard Name” sein und value dazu “Global Sales 2017”.

addOrReplaceDataContext(key: string, value: string): void;

Diese Methode funktioniert grundsätzliche die die createDataContext, nur dass diese den hier definierten Kontext direkt dem Widget hinzufügt oder abändert und somit der web über setDynamicContexts nicht notwendig ist.

addOrReplaceDataContextWithText(key: string, value: string, keyText: string, valueText: string): void;

Hier definierte Werte verhalten von den Parametern wie die der Methode createDataContextWithText und werden wie in addOrReplaceDataContext direkt hinzugefügt oder abgeändert.

addOrReplaceEnvironmentContext(key: string, value: string): void;

Die Parameter verhalten sich analog zu createEnvironmentContext. Dieser wird jedoch direkt hinzugefügt oder abgeändert.

removeDataContext(key: string): void;

Entfernt den Datenkontext mit dem key aus dem Kontextraum des Kommentarwidgets.

removeEnvironmentContext(key: string): void;

Entfernt den Umgebungkontext mit dem key aus dem Kontextraum des Kommentarwigets.

Beispiele

Um je nach Auswahl eine Wertes in einem DropDown-Feld einen Datenkontext zu setzen, kann folgender Code angepasst werden:

Code Block
var countryMember = Country_Dropdown.getSelectedKey();
if (countryMember === "None") {
	Chart_1.getDataSource().setDimensionFilter("Country_Region", []);
	graphomate_comments_1.removeDataContext("Country_Region");
} else {
	Chart_1.getDataSource().setDimensionFilter("Country_Region", countryMember);
	graphomate_comments_1.addOrReplaceDataContext("Country_Region", countryMember);
}

Folgender Code setzt die Informationen über einen in einem graphomate chart selektierten Datenpunkt als Kontexte für das comments widget:

Code Block
var selectedData = graphomate_charts_1.getSelectedData();
if (selectedData[0]) {
	if (selectedData[0]["graphomate.internal.measures"] && selectedData[0]["graphomate.internal.measures"][0]){
		graphomate_comments_1.addOrReplaceDataContext("graphomate.internal.measures", selectedData[0]["graphomate.internal.measures"][0]);
	} else {
		graphomate_comments_1.removeDataContext("@MeasureDimension");
	}
	if (selectedData[0]["Country_Region"] && selectedData[0]["Country_Region"][0]){
		graphomate_comments_1.addOrReplaceDataContext("Country_Region", selectedData[0]["Country_Region"][0]);
	} else {
		graphomate_comments_1.removeDataContext("Country_Region");
	}
	if (selectedData[0]["Region"] && selectedData[0]["Region"][0]){
		graphomate_comments_1.addOrReplaceDataContext("Region", selectedData[0]["Region"][0]);
	} else {
		graphomate_comments_1.removeDataContext("Region");
	}
} else {
	graphomate_comments_1.setDynamicContexts([]);
}