JForex API JForex API bietet die Möglichkeit, benutzerdefinierte Software-Anwendungen mit Java-Programmiersprache zu entwickeln. Die API-Client-Bibliothek kann mit Kundensystemen verknüpft werden. Es kommuniziert direkt mit Dukascopy Bank Handel Server über sichere und authentifizierte Internet-Sitzungen. Es ist nicht notwendig, die JForex-Plattform gleichzeitig auszuführen, aber die Plattform kann verwendet werden, um in Echtzeit alle Aktionen eines Kundensystems zu überwachen. Um die Arbeit mit dem JForex Software Development Kit (JForex SDK) zu starten, laden Sie es in eine IDE (Java Integrated Development Environment) Ihrer Wahl herunter und importieren Sie es: Das JForex SDK enthält Beispiele für: Strategie mit Live-Datenstrategie Backtesting - Tests im visuellen Modus Im JForex SDK-Überblick wird beschrieben, wie diese Anwendungsfälle modifiziert und verbessert werden können. Zur Strategieentwicklung starten Sie mit der Strategie-API-Übersicht. Die aktuellen JForex SDK Abhängigkeiten finden Sie immer im öffentlichen Dukascopy Maven Repository. Dass Sie ihr Projekt so konfigurieren können, dass immer die neueste JForex-API-Version verwendet wird. Bleiben Sie up-to-date mit unseren neuesten Jforex api Entwicklungen und abonnieren Sie automatische Jforex API-Release-E-Mails. Vergessen Sie nicht, unser API-Support-Forum zu überprüfen, in dem alle Jforex-API-Versionen veröffentlicht und diskutiert werden. JavaScript API Tutorial Dieses Tutorial ist eine Beispiel-Webanwendung, die mit Tableaus JavaScript API erstellt wurde. Sein entworfen, um Ihnen zu helfen, zu erforschen und zu erlernen über die API mit einer Reihe von Schritten, die Sie durch die Grundlagen führen. Um zu beginnen, klicken Sie auf die Schaltfläche unten. Hinweis: Dieses Tutorial verwendet Version 2.0.0 des JavaScript (tableau-2.0.0.min. js). Starten Sie das Tutorial Die Ansicht wird hier geladen, nachdem Sie auf Diesen Code ausführen klicken. unten. Erstellen Sie die Viz Beim Erstellen Ihrer Webanwendung ist der erste Schritt zu erstellen oder zu instantiieren die Ansicht. Dazu erstellen Sie ein neues Viz-Objekt, übergeben die erforderlichen Parameter parentElement (document. getElementByID) und url sowie alle Optionen wie hideTabs und hideToolbar. Heres den Code: Sie sollten jetzt sehen, eine Ansicht, mit der Sie interagieren können, wie Sie können mit Ansichten auf Tableau Server. Wenn Sie nicht sehen, eine Ansicht oben, kann es ein paar mehr Momente zu laden, oder müssen Sie möglicherweise einen anderen Webbrowser verwenden. In dem obigen Code verarbeitet der Konstruktor für das Viz-Objekt das Laden der Ansicht. Wenn Sie eine Funktion in der Option onFirstInteractive angeben, können Sie Aktionen ausführen, sobald die Ansicht beendet ist. In diesem Fall speichert die Funktion die Arbeitsmappe und die ActiveSheet-Variablen, so dass sie später verwendet werden können. Diese beiden Variablen wurden als globale Variablen im aktuellen Skript deklariert. Normalerweise möchten Sie die Ansicht erstellen, wenn die Seite fertig geladen ist und der Browser bereit ist. Wenn Sie jQuery verwenden, kann dies mit dem jQuerys ready handler gemacht werden: Filterwerte Filtering ist eine Kernfunktion von Tableau Server. In der obigen Ansicht gibt es bereits Region und Jahr schnelle Filter-Steuerelemente, aber Sie können die API verwenden, um festzustellen, was gefiltert wird. Dies geschieht unter Verwendung der Methode applyFilterAsync auf einem Worksheet-Objekt, das in der ActiveSheet-Variablen in Schritt 1 zwischengespeichert wurde. Der folgende Code filtert das Feld "ReRegionquot ", um nur" The Americasquot "anzuzeigen: Sie sollten nun sehen, dass die Ansicht gefiltert ist und nur" The Americasquot "überprüft wird Feld wird unter dem Region-Schnellfilter ausgewählt. Das nächste Codebeispiel zeigt Ihnen, wie Sie dem Filter zwei weitere Werte hinzufügen, wobei dieselbe Syntax verwendet wird, statt ein Array von Werten statt eines einzelnen Werts anzugeben. Beachten Sie außerdem, dass ADD anstelle von REPLACE verwendet wird. Das die Sicht anweist, dem Filter zusätzliche Kriterien hinzuzufügen, anstatt die aktuell gefilterten Werte zu ersetzen: Ebenso können Sie Werte aus dem Filter entfernen, indem Sie REMOVE verwenden: Sie können auch alle Werte in den Filter mit ALLE einschließen. Die Filter, die Sie bisher gesehen haben alle hatten schnelle Filter in der Ansicht. Sie können jedoch auch neue Filter erstellen. Beispielsweise können Sie einen Filter für die x-Achse, das quotF: GDP per capita (curr) - Zeichenfeld erstellen und angeben, dass nur Länder angezeigt werden sollen, in denen das BIP größer als 40K, aber kleiner als 60K ist. Dazu verwenden Sie die Methode applyRangeFilter mit einem Wertebereich als Kriterien: Schließlich können Sie die Filter löschen. Zum Beispiel: Schaltflächen Tabs Manchmal wird ein einziges Blatt in einer Arbeitsmappe nicht alle Informationen, die Sie wie Ihr Benutzer zu sehen, zu vermitteln. Sie können die API verwenden, um vom aktuellen Blatt zu einem anderen veröffentlichten Blatt innerhalb derselben Arbeitsmappe zu wechseln (Beachten Sie, dass die Arbeitsmappe auf dem Server mit Anzeigenblättern als Registerkarten aktiviert sein muss). Um Blätter zu wechseln, verwenden Sie die activateSheetAsync-Methode für ein Arbeitsbuchobjekt, das in einer globalen Arbeitsbuchvariable in Schritt 1 zwischengespeichert wurde. Hier sehen Sie, wie Sie das Blatt zu einem Kartenarbeitsblatt mit dem Namen quotDP per capita mapquot ändern. Werte auswählen Das Filtern einer Ansicht ist nützlich, wenn Sie die Aufmerksamkeit der Benutzer auf einen bestimmten Wertsatz fokussieren möchten, indem Sie alle anderen Werte entfernen, die nicht den Filterkriterien entsprechen. Allerdings ist es manchmal sinnvoll, Werte auszuwählen. Dies konzentriert immer noch die Aufmerksamkeit der Benutzer auf bestimmte Werte, aber der Kontext der anderen Werte bleibt in der Ansicht. Dazu verwenden Sie die Methode selectMarksAsync. Die Syntax ist sehr ähnlich zu der Methode applyFilterAsync, die Sie zuvor verwendet haben. Zum Beispiel wählt der folgende Code alle Markierungen in der quotAsiaquot-Region aus: Die einzige Änderung zwischen dem obigen Code und dem Filtercode, den Sie früher verwendeten, ist, dass tableau. SelectionUpdateType anstelle von tableau. FilterUpdateType angegeben wurde. Beachten Sie außerdem, dass workbook. getActiveSheet () anstelle der globalen ActiveSheet-Variable verwendet wird, da die Blätter in Schritt 3 umgeschaltet wurden und die globale Variable nicht aktualisiert wurde, um auf das neue aktive Blatt zu zeigen. Im folgenden Codebeispiel werden Afrika und Ozeanien der vorherigen Auswahl hinzugefügt: Wieder sollte der Code vertraut aussehen, da die Syntax fast identisch mit der Filterung ist. An diesem Punkt haben Sie Asien, Afrika und Ozeanien ausgewählt. Das nächste Codebeispiel zeigt, wie zu entfernen. In diesem Fall werden Sie Länder mit einem BIP von weniger als 5.000 entfernen. Um dies zu tun, verwenden Sie einen Bereich genau wie Sie für die Filterung, außer youll nur einen Max-Wert angeben: Das Löschen der Auswahl ist genauso einfach wie das Löschen eines Filters mit der clearSelectedMarksAsync-Methode: Chain-Methode Aufrufe Sie können ein Namensmuster bemerkt haben Mit den bisherigen Methoden. Sie enden alle mit dem Async-Suffix, das für asynchron steht. Die Programmierung im Web beinhaltet die Kommunikation mit Servern, die normalerweise Zeit brauchen, um einen Wert zu berechnen und zurückzugeben. Um zu vermeiden, dass der Benutzer-Browser gesperrt wird, während Sie auf eine Antwort vom Server warten, weisen Sie den Benutzer-Browser an, Ihren Code zu benachrichtigen, wenn der Server eine Antwort auf Ihre ursprüngliche Anfrage gesendet hat. Die Tableau-JavaScript-API verwendet Promises (speziell die PromisesA-Spezifikation), um Ihren Code zu benachrichtigen, wenn eine Operation abgeschlossen ist. Dadurch können Sie Methodenaufrufe mit einer einfachen Syntax verketten. Jede Methode, die mit Async endet, gibt ein Promise-Objekt zurück, das drei Methoden enthält: then (successCallback, errorCallback) - die successCallback - Funktion wird aufgerufen, wenn die Operation erfolgreich ist, und ebenso wird die errorCallback - Funktion aufgerufen, wenn ein Fehler auftritt. Beide Parameter sind optional. Andernfalls (errorCallback) - aufgerufen, wenn ein Fehler immer auftritt (callback) - immer aufgerufen, ob die Operation erfolgreich war oder nicht Das folgende Codebeispiel veranschaulicht, wie Sie einige der Methoden verwenden können, die Sie bisher gelernt haben, eine Reihe von Befehlen zu ketten. Zuerst wechseln Sie zum quotGDP per capita nach regionquot Blatt. Danach wird ein Bereichsfilter angewendet. Sobald Tableau Server den Filter angewendet hat, markieren Sie einige Markierungen. Es gibt einige wichtige Dinge, um mit dem obigen Code darauf hinzuweisen: Innerhalb einer dann Funktion tut es eine Rückkehr eines anderen Promise-Objekts. Dadurch wird sichergestellt, dass der nächste Link in der Kette nicht ausgeführt wird, bis der aktuelle Link beendet ist. Beachten Sie, wie das Ergebnis einer Operation behandelt wird. Die Funktion innerhalb der ersten dann Rückruf nimmt einen einzigen newSheet-Parameter, da das ist der versprochene Rückgabewert aus der activateSheetAsync-Methode. Ebenso erhält die zweite Funktion einen FilterFieldName-Parameter, der der Name des Felds für den Filter ist, der gerade angewendet wurde. Eine vollständige Erklärung der versprochenen Rückgabewerte für jede Async-Methode finden Sie in der JavaScript-API-Referenz. Bevor Sie mit dem nächsten Schritt fortfahren, können Sie einen Blick darauf werfen, wie Fehler innerhalb einer Kette behandelt werden. Der nachstehende Code bewirkt bewusst, dass ein Fehler auftritt, indem einige erforderliche Parameter an die Methode applyFilterAsync übergeben werden: Arbeit mit Arbeitsblättern Arbeitsmappen, die in Tableau Desktop erstellt werden, enthalten Arbeitsblätter und manchmal ein oder mehrere Dashboards. Die Dashboards enthalten in der Regel ein oder mehrere Arbeitsblätter. Aus diesem Grund umfasst das Konzept von Blatt in der API sowohl Arbeitsblätter als auch Dashboards. Arbeitsblatt - und Armaturenbrett-Objekte haben jedoch nicht denselben Satz von Aktionen. Arbeitsblätter sind der einzige Eintrittspunkt für die Arbeit auf beiden Arbeitsblatt - und Dashboardobjekten. Sie können nicht direkt auf ein Dashboard-Objekt handeln. Die folgenden Code-Beispiele veranschaulichen, wie dies funktioniert. Das erste Codebeispiel veranschaulicht, wie Sie alle Arbeitsmappenblätter abfragen würden. Nachdem Sie auf Diesen Code ausführen klicken, wird der folgende Dialog mit den Arbeitsmappenblättern angezeigt: Heres, wie Sie Arbeitsblätter in einem Dashboard abfragen würden. Beachten Sie, dass der Filter immer noch auf das Arbeitsblatt GDP pro Region im Dashboard angewendet wird, aber die Markierungen nicht markiert sind: Youll bemerken, dass es Scrollbars auf dem viz. Das ist, weil die feste Größe, die in dem Viz-Konstruktor (Schritt 1) spezifiziert wird, anders als die feste Größe ist, die für dieses Dashboard durch den Arbeitsbuchautor angegeben wird. Um das gesamte Dashboard zu sehen, können Sie das Größenverhalten auf AUTOMATIC ändern. Die den verfügbaren Platz angibt. Dadurch werden die Bildlaufleisten auf Kosten der einzelnen Arbeitsblätter im Dashboard etwas kleiner. Nun, hier ist, wie Sie Filter auswählen und ändern Sie die Einstellungen auf mehrere Blätter innerhalb eines Dashboards. Das Codebeispiel gilt für ein Dashboard mit zwei Arbeitsblättern: Steuerelement-Symbolleiste Befehle Tableau Server-Symbolleistenbefehle sind aus dem Viz-Objekt verfügbar, das das Objekt höchster Ebene ist. Einige Befehle wirken auf das gesamte Arbeitsblatt oder Dashboard, und einige handeln nur auf die ausgewählte Zone. Export PDF und Export Image wirken auf das gesamte Arbeitsblatt oder Dashboard. Heres der Code für Export PDF: Und hier ist der Code für Export Image: Im Gegensatz zu den Export PDF und Export Image Befehle, die für das gesamte Arbeitsblatt oder Dashboard gelten, gelten die Befehle Export als Kreuztabelle und Exportdaten für die aktuell ausgewählte Zone. Wenn Sie eine Markierung oder Markierungen in der obigen Ansicht auswählen und dann den Code ausführen, sehen Sie, dass nur die Daten für die markierten Markierungen für den Export präsentiert werden. Der Code für den Export als CSV lautet wie folgt: Wenn für den Export als Kreuztabelle oder Exportdaten keine arent-Parameter angegeben sind, wird die aktuell ausgewählte Zone exportiert. Sie können auch einen Tabellennamen angeben oder ein Blattobjekt übergeben. Heres den Code für Export Data: Schließlich stellt der Revert All Befehl die Arbeitsmappe wieder in seinem ursprünglichen, veröffentlichten Zustand wieder her: Listen for Events Die Operationen, die Sie bisher getan haben, kontrollierten das viz von außen innen. Eine der leistungsfähigen Fähigkeiten der Tableau JavaScript API Ist, dass es Ihnen auch die Möglichkeit gibt, auf Interaktionen zu reagieren, die Ihr Benutzer auf der Ansicht ausführt. Mit anderen Worten, es lässt Sie reagieren auf Ereignisse, die von innen heraus auftreten. Das Abhören von Ereignissen erfolgt ähnlich wie die Wiedergabe von Ereignissen im Browser. Die addEventListener-Methode auf der Viz-Klasse können Sie eine Callback-Funktion registrieren, wenn ein bestimmtes Ereignis in der Ansicht auftritt. Sie können z. B. das marksselection - Ereignis anhören, das bei jeder Auswahl neuer Markierungen aufgerufen wird: Klicken Sie auf Diesen Code oben ausführen, und wählen Sie dann manuell einige Markierungen in der Ansicht aus. Es erscheint ein Dialog, der die markierten Markierungen beschreibt. Um das Anhören des Ereignisses zu beenden, rufen Sie die removeEventListener-Methode auf und übergeben dieselbe Funktion, die Sie in addEventListener angegeben haben. Klicken Sie auf Diesen Code erneut ausführen, und markieren Sie dann einige Markierungen. Da removeEventListener aufgerufen wurde, werden Sie nicht benachrichtigt, und der Dialog wird nicht angezeigt. Dieses Tutorial behandelt die Grundlagen, wie Sie Tableau Server-Ansichten in Ihre eigenen Webanwendungen integrieren können. Ausführlichere Erläuterungen finden Sie im Thema Konzepte sowie in der API-Referenz.
No comments:
Post a Comment