Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

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:

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:

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([]);
}

  • No labels