Saturday 18 November 2017

Sybase Iq Gleitender Durchschnitt


Für eine vollständige IQ quickref Guide, für IQ 15.4, gehen Sie zu sypron. nliqqr. Einleitung Wie in der Quizfrage vom April 2011 beschrieben. Ist es relativ einfach, IQ-Funktionalität in ASE zu verwenden. Dies kann nützlich sein für Bereiche, in denen IQ 15.x SQL-Features hat, aber ASE nicht, zum Beispiel mit OLAP-Funktionen. Die Grundidee besteht darin, dass Sie, wenn Sie Sybase IQ bereits verfügbar haben (mit allen erforderlichen Lizenzen vorhanden), in ASE und IQ die CIS-Funktionalität (für den Remote-Datenzugriff über Proxy-Tabellen und RPCs) verwenden können, um ASE die Verwendung von IQ zu ermöglichen - spezifische SQL-Funktionen. Kurz zusammengefasst: Die eigentlichen Daten befinden sich in einer ASE-Tabelle im IQ, es wird eine Proxy-Tabelle erstellt, die der ASE-Tabelle im IQ zugeordnet ist, eine gespeicherte Prozedur, die die Erforderliche Verarbeitung auf den ASE-Daten (über die IQ-Proxy-Tabelle) ASE führt die gespeicherte IQ-Prozedur durch einen Remoteprozeduraufruf (RPC) aus Bevor es weitergeht, sollte klar sein, dass die Verwendung einer Proxy-Tabelle auf diese Weise eine Menge Overhead aufweist Erwarten eine schwere Performance-Strafe im Vergleich zu den Betrieb der gleichen IQ-Funktionalität nativ innerhalb IQ mit den Daten in IQ-Tabellen. Aber die Idee des Tricks, die hier beschrieben werden, ist, einige der reichen IQ-SQL-Funktionalität zu verwenden, um eine Funktion auszuführen, die ASE nicht tun konnte oder die Implementierung der Funktionalität manuell in SQL in ASE erfordern würde. Der Preis, den Sie für die Nutzung dieser IQ-Funktionalität bezahlen, ist möglicherweise ein Leistungsverlust. Allerdings sollte der Performance Overhead in IQ 15.2 geringer sein als in früheren IQ-Versionen. Setup-Schritte Bevor Sie sich die Setup-Details, nehmen wir als Beispiel die Anforderung, einige OLAP-Stil Verarbeitung in ASE, wie die Berechnung der 6 zu tun - monatiger exponentiell gewichteter gleitender Durchschnitt über einige monatliche Verkaufsdaten. IQ 15.1 enthält die OLAP-Funktion expweightedavg (), die das sehr einfach macht - wenn nur Sie herausfinden können, wie ASE es aufrufen lässt. Dies ist das Schema der ASE-Tabelle mit den aktuellen Daten: Vor dem Konfigurieren der ASE-IQ-Server gehen wir davon aus, dass unser ASE-Server (benannt MYASE) auf Port 5001 auf dem Server myasehost mit dem Login myaselogin mit dem Passwort myasepasswd verbunden wurde (Ohne die Anführungszeichen) Dieser Benutzer wird angenommen, um dbo in der Datenbank mydb sein IQ 15.1 Server (benannt MYIQ) läuft auf Port 2639 auf Server myiqhost Verbindung zu MYIQ mit Login myiqlogin, mit Passwort myiqpasswd (ohne die Anführungszeichen) Zuerst erstellen wir Eine Proxy-Tabelle in IQ, die auf unsere ASE-Tabelle mydb..mytable zeigt. Dies erfordert eine Reihe von Setup-Schritten: Es gibt verschiedene Möglichkeiten, um die Proxy-Tabelle, und Sie könnten einige Probleme bei der Einrichtung von Sachen (gehen Sie hier für weitere Details). Jetzt können wir Zugriff auf ASE-Daten von IQ, die Der nächste Schritt besteht darin, eine IQ-gespeicherte Prozedur zu schreiben, die den gleitenden Durchschnitt berechnet und auf die ASE-Daten über die IQ-Proxy-Tabelle zugreift. Dieses Verfahren wird aus ASE gestartet. Weve stellte jetzt die IQ-Seite auf. Der verbleibende Teil besteht darin, ASE zu konfigurieren, so dass wir die gespeicherte Prozedur iqprocforase oben starten können, die im IQ liegt: Das einzige, was jetzt fehlt, sind einige Testdaten. Verwenden Sie diese Abfrage wird schnell erzeugen einige Zeilen. Und führen Sie nun die IQ-gespeicherte Prozedur: Verwenden von IQ Volltextsuche in ASE Ein weiteres Beispiel für die Verwendung von IQ-Features in ASE ist mit IQ Volltextsuche. IQ 15.2 führte die neue Volltextsuche ein, die Textsuchfunktionen, inkl. Näherungssuchen, auf CLOBlong varchar Daten. Mit der ASE-CIS-Infrastruktur kann die IQ-Textsuchfunktion auch innerhalb von ASE genutzt werden. Details finden Sie im technischen Whitepaper: Verwenden von Sybase IQ als Text Search Engine für ASE (Beachten Sie, dass die in diesem Whitepaper beschriebene Einrichtung sich von der oben beschriebenen Konfiguration unterscheidet, obwohl beide CIS-Funktionen verwenden). Allgemeine Hinweise Der oben beschriebene Ansatz funktioniert auch für IQ 12.7. Beachten Sie, dass die oben verwendete OLAP-Funktion, expweightedavg (). Wurde nur in IQ 15.1 eingeführt (genau wie weightedavg () und eine Menge anderer statistischer Funktionen). Beachten Sie auch, dass die Volltextsuche in IQ 15.2 eingeführt wurde. Anmerkungen zur IQ-zu-ASE-Konnektivität Im obigen Beispiel wurden mit dem asejdbc-Treiber eine Remote-Server-Zuordnung nach ASE (mit dem IQ-Befehl create server) eingerichtet. Grundsätzlich ist es besser, den aseodbc-Treiber zu verwenden, da er weniger Performance-Overhead als asejdbc hat. Leider ist es auch ein wenig komplizierter einzurichten als mit asejdbc aus diesem Grund, asejdbc wurde für das Beispiel verwendet. Detaillierte Informationen zum Einrichten einer ODBC-Verbindung finden Sie hier. Die Effizienz der im IQ erstellten Proxy-Tabellen wurde in IQ 15.2 deutlich verbessert. Sie sollten daher weniger Performance Auswirkungen, wenn Sie den Trick auf dieser Seite beschrieben in IQ 15.2 als in früheren iQ-Versionen zu sehen. Bei der Verwendung von asejdbc, um die Remote-Server-Mapping in IQ, lief ich in den folgenden Fehler bei der Verbindung zu ASE (seine unwahrscheinlich youll treffen den gleichen Fehler, aber nur für den Fall.): Der Grund für den Fehler war, dass meine IQ 15.2 ESD2 Server verwendet jConnect Version 6 für die asejdbc Treiber, aber leider, dass nicht gut zusammenarbeiten mit den gespeicherten Prozeduren für jConnect Version 7, die in meinem ASE 15.5-Server installiert wurden. Ich glaube, dass dieses Problem jetzt behoben wurde, aber sollten Sie diesen Fehler trotzdem ausführen, führen Sie spversion in ASE aus, um die jConnect-Version für das Skript installjdbc zu finden, und vergleichen Sie sie mit der jConnect-Version im SYBASE-Verzeichnis für Ihre IQ-Installation (theres a JConnect-XY-Verzeichnis). In meinem Fall wurde das Problem durch die Installation der jConnect 6.0 gespeicherten Procs in ASE durch manuelles Ausführen des Skripts. jConnect-60spsqlserver15.0.sql (im ASE-Installationsverzeichnis) gelöst. Hinweise zur gespeicherten IQ-Prozedur iqprocforase Die oben beschriebene IQ-gespeicherte Prozedur iqprocforase verwendet eine Proxy-Tabelle, um die Daten von ASE in eine temporäre Tabelle in IQ zu kopieren. Es ist durchaus möglich, dass mit dem IQ-Befehl insert ..location besser funktioniert, so dass Sie es lieber verwenden könnten. Der Grund, warum eine Proxy-Tabelle im obigen Beispiel verwendet wurde, ist, dass sie einfacher ist, da sie die Spaltennamen und Datentypen automatisch aus der ASE-Tabelle kopiert. Kevin Sherlock wies darauf hin, dass, obwohl einige der IQ-OLAP-Funktionen nicht auf Proxy-Tabellen arbeiten können, können sie auf einer abgeleiteten Tabelle zu betreiben. Der Vorteil davon ist, dass Sie nicht die zusätzliche select-in-Anweisung benötigen, um von der Proxy-Tabelle in die lokale IQ-temporäre Tabelle zu kopieren (und Sie müssen auch nicht die temporäre Tabelle löschen). Die einzige Sache ist, dass Sie einen Trick, um die abgeleitete Tabelle Arbeit machen müssen, da youd einen Fehler erhalten, wenn Sie nur die Proxy-Tabelle in einer abgeleiteten Tabelle Klausel wie folgt: aus (select Jahr, Monat, Verkauf von aseproxytab) als derivedtb. Wie oft in IQ, müssen Sie ein wenig überzeugend, indem Sie eine regelmäßige IQ-Tabelle Teil der Abfrage hier, Im mit der 1-Zeile iqdummy Tabelle für diese (wie die IQ-Dokumentation häufig verwendet sich selbst): Die IQ-gespeicherte Prozedur iqprocforase Oben sendet seine Ausgabe an den Client. Es ist nicht schwer, es so zu ändern, dass es seine Ergebnisse zurück zu einer Tabelle in ASE statt dessen schreibt. Im Folgenden ist eine erweiterte Version der Prozedur, die einen zusätzlichen Parameter, der die ASE-Tabelle, wo die Ergebnisse müssen platziert werden. Das IQ-Verfahren wird automatisch eine Proxy-Tabelle zu dieser ASE-Tabelle, und fügen Sie die Ergebnisse dort. Beachten Sie, dass die Ergebnistabelle in ASE vorhanden sein muss, bevor Sie die IQ-Prozedur aufrufen, müssen Sie sicherstellen, dass die Anzahl der Spalten und die Datentypen für die darin eingefügte Ergebnismenge korrekt sind. Aggregatfunktionen Aggregatfunktionen fassen Daten über eine Gruppe von Zeilen aus der Datenbank zusammen . Die Gruppen werden mit der GROUP BY-Klausel der SELECT-Anweisung gebildet. Einfache Aggregatfunktionen wie SUM (). MIN (). MAX (). AVG () und COUNT () sind nur in der Auswahlliste und in den HAVING - und ORDER BY-Klauseln einer SELECT-Anweisung erlaubt. Diese Funktionen fassen Daten über eine Gruppe von Zeilen aus der Datenbank zusammen. Gruppen werden mit der GROUP BY-Klausel der SELECT-Anweisung gebildet. Eine neue Klasse von Aggregatfunktionen, genannt Fensterfunktionen. Liefert Bewegungsdurchschnitte und kumulative Maßnahmen, die Antworten auf Abfragen berechnen, wie z. B. Was ist der vierteljährliche gleitende Durchschnitt des Dow Jones Industriedurchschnitts oder Liste aller Mitarbeiter und ihre kumulativen Gehälter für jede Abteilung. Einfache Aggregatfunktionen wie AVG (). GRAF(). MAX (). MIN (). Und SUM () fassen die Daten über eine Gruppe von Zeilen aus der Datenbank zusammen. Die Gruppen werden mit der GROUP BY-Klausel der SELECT-Anweisung gebildet. Neuere statistische Aggregatfunktionen, die ein Argument enthalten, sind STDDEV (). STDDEVSAMP (). STDDEVPOP (). VARIANCE (). VARSAMP (). Und VARPOP (). Sowohl die einfachen als auch die neueren Kategorien von Aggregaten können als Fensterfunktion verwendet werden, die eine ltwindow-Klausel in eine SQL-Abfragespezifikation (ein Fenster) integriert, die konzeptionell ein sich bewegendes Fenster über eine Ergebnismenge erstellt, während sie verarbeitet wird. Eine weitere Klasse von Fensteraggregatfunktionen unterstützt die Analyse von Zeitreihendaten. Wie die einfachen aggregierten und statistischen Aggregatfunktionen können Sie diese Fensteraggregate mit einer SQL-Abfragespezifikation (oder Fensterspezifikation) verwenden. Die Zeitreihenfenster-Aggregatfunktionen berechnen Korrelation, lineare Regression, Ranking und gewichtete Durchschnittsergebnisse: ISOANSI SQL: 2008 OLAP-Funktionen für die Zeitreihenanalyse umfassen: CORR (), COVARPOP (). COVARSAMP (). CUMEDIST (). FIRSTVALUE (). LASTVALUE (), REGRAVGX (). REGRAVGY (). REGRCOUNT (). REGRINTERCEPT (). REGRR2 (). REGRSLOPE (). REGRSXX (). REGRSXY () und REGRSYY (). Nicht-ISOANSI SQL: 2008 OLAP-Aggregatfunktionserweiterungen, die in der Datenbankindustrie verwendet werden, umfassen FIRSTVALUE (), MEDIAN (). Und LASTVALUE (). Gewichtete OLAP-Aggregatfunktionen, die gewichtete gleitende Mittelwerte berechnen, umfassen EXPWEIGHTEDAVG () und WEIGHTEDAVG (). Zeitreihenfunktionen, die ausschließlich für die finanzielle Zeitreihenvorhersage und - analyse entwickelt wurden, haben Namen, die mit TS beginnen. Hinweis: Die Zeitreihenfunktionalität ist nur bei RAP The Trading Edition Enterprise verfügbar. Siehe das Zeitreihen-Handbuch. Weitere Informationen zur Verwendung von OLAP finden Sie im Handbuch Systemverwaltung: Volume 2. Informationen zur aggregierten Funktionsunterstützung der Datentypen LONG BINARY und LONG VARCHAR finden Sie unter Unstrukturierte Datenanalyse in Sybase IQ. Sybase IQ Jobs in London Sybase IQ Jobs Demand Trend in London Die Nachfrageentwicklung von Stellenanzeigen in der gesamten Region London zitiert Sybase IQ Ein Anteil aller IT-Jobs mit einem Spiel in der Datenbank amp Business Intelligence Kategorie. Sybase IQ Gehaltstendenzen in London Diese Grafik zeigt den dreimonatigen gleitenden Durchschnitt für Gehälter, die in permanenten IT-Jobs zitiert wurden und auf Sybase IQ in der Region London verweisen. Sybase IQ Gehalt Histogramm in London Diese Grafik bietet ein Gehaltshistogramm für IT-Jobs, die Sybase IQ in der gesamten Region London über die drei Monate bis zum 24. Januar 2017 anführt. Sybase IQ Job Locations in London Die folgende Tabelle zeigt die Nachfrage und bietet einen Leitfaden für die Median Gehälter zitiert in IT-Jobs zitiert Sybase IQ in der Region London im Laufe der 3 Monate bis 24. Januar 2017. Die Rank Change Spalte gibt einen Hinweis auf die Veränderung der Nachfrage in jedem Standort auf der Grundlage der gleichen 3 Monate im Vorjahr. Rank Änderung auf die gleiche Zeit Letztes Jahr Matching Permanent IT Job-Anzeigen Median Gehalt Letzte 3 Monate

No comments:

Post a Comment