Tuesday 24 October 2017

Sybase iq glidande medelvärde


Sybase IQ-jobb i London Sybase IQ Jobs Demand Trend i London Efterfrågestrenden för jobbannonser över hela London-regionen, som citerar Sybase IQ som andel av alla IT-jobb med en matchning i kategorin Database Ampere Business Intelligence. Sybase IQ Salary Trend i London I det här diagrammet finns tre månaders glidande medelvärde för löner som citeras i permanenta IT-jobb som citerar Sybase IQ över London-regionen. Sybase IQ Salary Histogram i London Detta diagram ger ett lönehistogram för IT-jobb som citerar Sybase IQ över London-regionen under de tre månaderna till den 24 februari 2017. Sybase IQ Top 30 Relaterade IT-färdigheter i London I 6 månaderna till den 24 februari 2017 IT jobb som citerade Sybase IQ nämnde också följande färdigheter i popularitet. Siffrorna anger antalet samkommande händelser och dess andel till alla jobbannonser över London-regionen med ett krav på Sybase IQ. Aggregate Functions Aggregate-funktioner summerar data över en grupp rader från databasen. Grupperna bildas med GROUP BY-klausulen i SELECT-satsen. Enkla aggregatfunktioner, till exempel SUM (). MIN (). MAX (). AVG () och COUNT () är endast tillåtna i väljlistan och i HAVING and ORDER BY-klausulerna i ett SELECT-meddelande. Dessa funktioner summerar data över en grupp rader från databasen. Grupper bildas med GROUP BY-klausulen i SELECT-satsen. En ny klass av aggregatfunktioner, kallade fönsterfunktioner. ger glidande medelvärden och kumulativa åtgärder som beräknar svar på frågor som, Vad är kvartalsvis rörligt genomsnitt för Dow Jones Industrial Average, eller Lista alla anställda och deras kumulativa löner för varje avdelning. Enkla aggregatfunktioner, till exempel AVG (). RÄKNA(). MAX (). MIN (). och SUM () sammanfattar data över en grupp rader från databasen. Grupperna bildas med GROUP BY-klausulen i SELECT-satsen. Nyare statistiska aggregatfunktioner som tar ett argument inkluderar STDDEV (). STDDEVSAMP (). STDDEVPOP (). VARIATION(). VarSamp (). och VARPOP (). Både de enkla och nyare kategorierna av aggregat kan användas som en fönsterfunktion som innehåller en ltwindow-clausegt i en SQL-frågaspecifikation (ett fönster) som konceptuellt skapar ett rörligt fönster över en resultatuppsättning som den behandlas. En annan klass av fönsteraggregatfunktioner stöder analys av tidsseriedata. Precis som de enkla aggregat och statistiska aggregatfunktionerna kan du använda dessa fönsteraggregat med en SQL-frågaspecifikation (eller fönster-spec). Tidsseriefönsteraggregatfunktionerna beräknar korrelation, linjär regression, rankning och viktat genomsnittligt resultat: ISOANSI SQL: 2008 OLAP-funktioner för tidsserieanalys inkluderar: CORR (), COVARPOP (). COVARSAMP (). CUMEDIST (). FIRSTVALUE (). LASTVALUE (), REGRAVGX (). REGRAVGY (). REGRCOUNT (). REGRINTERCEPT (). REGRR2 (). REGRSLOPE (). REGRSXX (). REGRSXY () och REGRSYY (). Icke-ISOANSI SQL: 2008 OLAP-aggregatfunktionstillägg som används i databasindustrin inkluderar FIRSTVALUE (), MEDIAN (). och LASTVALUE (). Viktiga OLAP-aggregatfunktioner som beräknar viktade glidmedel är EXPWEIGHTEDAVG () och WEIGHTEDAVG (). Tidsseriefunktioner som är utformade uteslutande för ekonomisk tidsserier prognos och analys har namn som börjar med TS. Obs! Funktionerna i tidsserien är endast tillgängliga med RAP The Trading Edition Enterprise. Se Time Series Guide. Mer information om hur du använder OLAP finns i Guide för systemadministration: volym 2. För information om aggregatfunktionsstöd för LONG BINARY och LONG VARCHAR datatyper, se Unstructured Data Analytics i Sybase IQ. För en fullständig IQ quickref guide, som täcker IQ 15.4, går du till sypron. nliqqr. Introduktion Som beskrivet i frågeprofilen i april 2011. Det är relativt enkelt att använda IQ-funktionaliteten i ASE. Detta kan vara användbart för områden där IQ 15.x har SQL-funktioner, men ASE gör det inte, till exempel med OLAP-funktioner. Grundtanken här är att om du har Sybase IQ i alla fall (med all nödvändig licensiering på plats) kan du använda CIS-funktionaliteten (för fjärråtkomst via proxy-tabeller och RPC) i ASE och IQ för att tillåta ASE att använda IQ - specifika SQL-funktioner. I ett nötskal så fungerar det (fullständiga detaljer beskrivs nedan): Den faktiska data finns i en ASE-tabell i IQ, ett proxistabell skapas som kartlägger till ASE-tabellen i IQ, en lagrad procedur skrivs som utför den Required Processing på ASE-data (via IQ Proxy-tabellen) ASE utför den IQ-lagrade proceduren via ett fjärrprocedursamtal (RPC) Innan det fortsätter bör det vara tydligt att med ett proxistabell har det här en hel del overhead, och du borde förvänta sig en svår prestanda straff jämfört med att köra samma IQ funktionalitet inuti IQ med data i IQ tabeller. Men idén om tricket som beskrivs här är att använda en del av den rika IQ SQL-funktionaliteten för att utföra en funktion som ASE inte kunde göra, eller skulle kräva att man implementerar funktionaliteten manuellt i SQL i ASE. Det pris du betalar för att använda den IQ-funktionaliteten är potentiellt en förlust av prestanda. Med detta sagt bör prestandakostnaden i IQ 15.2 vara mindre än i tidigare IQ-versioner. Uppställningssteg Innan du får information om installationsinformationen, t ex ta hänsyn till kravet på att göra en del OLAP-behandling i ASE, till exempel att beräkna 6 - month exponentiellt viktat glidande medelvärde över några månadsvisa försäljningsdata. IQ 15.1 innehåller OLAP-funktionen expweightedavg () vilket gör det väldigt enkelt - om du bara kan räkna ut hur du låter ASE göra det. Detta är schemat för ASE-tabellen som innehåller de faktiska data: Innan du konfigurerar ASE IQ-servrarna, antar vi följande: Vår ASE-server (namngiven MYASE) körs på port 5001 på servern myasehost kopplades till MYASE med inloggning myaselogin, med lösenord myasepasswd (utan citat) antas denna användare vara dbo i databasen mydb Vår IQ 15.1-server (heter MYIQ) körs på port 2639 på server myiqhost kopplade till MYIQ med inloggning myiqlogin, med lösenord myiqpasswd (utan citat) Först skapar vi ett proxybord i IQ som pekar på vårt ASE-bord mydb..mytable. Det här tar ett par setup-steg: Det finns olika sätt att konfigurera proxytabellen, och du kan eventuellt få problem med att ställa in saker (gå här för mer information). Nu när vi kan komma åt ASE-data från IQ, Nästa steg är att skriva en IQ-lagrad procedur som beräknar det glidande medlet, och åtkomst till ASE-data via IQ-proxitabellen. Denna procedur kommer att startas från ASE. Weve ställer in IQ-sidan nu. Den återstående delen är att konfigurera ASE så att vi kan starta den lagrade proceduren iqprocforase ovan, som ligger i IQ: Det enda som saknas nu är några testdata. Använd denna fråga kommer snabbt generera några rader. och kör nu IQ-lagrade proceduren: Använda IQ Full Text Search i ASE Ett annat exempel på att använda IQ-funktioner i ASE är med IQ-fulltextsökning. IQ 15.2 introducerade den nya fullständiga textsökfunktionen, som utför textsökfunktioner, inkl. närhetssökningar, på CLOBlong varchar data. Med hjälp av ASE CIS-infrastrukturen kan IQ-textsökningsfunktionen också användas inom ASE. Detaljer beskrivs i den tekniska vitboken: Använda Sybase IQ som en textsökmotor för ASE (Observera att inställningen som beskrivs i denna vitbok skiljer sig från inställningen ovan, men båda använder CIS-funktioner). Allmänna anmärkningar Tillvägagångssättet som beskrivs ovan fungerar också för IQ 12.7. Observera att OLAP-funktionen som används ovan, expweightedavg (). introducerades endast i IQ 15.1 (precis som weightedavg () och en massa andra statistiska funktioner). Observera också att funktionen för fullständig textsökning introducerades i IQ 15.2. Anteckningar om IQ-till-ASE-anslutning I exemplet ovan använde man asejdbc-drivrutinen för att ställa in en fjärrserver mappning till ASE (med IQ-kommandot skapa server). I princip är det bättre att använda aseodbc-föraren eftersom den har mindre prestanda än asejdbc. Tyvärr är det också lite mer komplicerat att sätta upp än med asejdbc av den anledningen, asejdbc användes för exemplet. Gå här för fullständiga detaljer om hur du ställer in en ODBC-anslutning istället. Effektiviteten av proxistabeller skapade i IQ har förbättrats avsevärt i IQ 15.2. Du bör därför se mindre prestationspåverkan när du använder tricket som beskrivs på denna sida i IQ 15.2 än i tidigare iQ-versioner. När du använder asejdbc för att konfigurera fjärrserverkartläggningen i IQ, gick jag in på följande fel vid anslutning till ASE (det är osannolikt att du kommer på samma fel, men bara om det är fallet.): Orsaken till felet var att min IQ 15.2 ESD2 servern använde jConnect version 6 för asejdbc-drivrutinen, men tyvärr fungerade det inte bra med de lagrade procedurerna för jConnect version 7 som installerades på min ASE 15.5-server. Jag tror att det här problemet har blivit fixat nu, men om du slår det här felet ändå, kör spversion i ASE för att hitta jConnect-versionen som nämns för installjdbc-skriptet, och jämföra det med jConnect-versionen i SYBASE-katalogen för din IQ-installation (theres a jConnect-XY-katalogen). I mitt fall löstes problemet genom att installera jConnect 6.0-lagrade procs i ASE genom att manuellt köra skriptet. jConnect-60spsqlserver15.0.sql (i ASE-installationskatalogen). Anmärkningar om den IQ-lagrade proceduren Iqprocforase Den IQ-lagrade proceduren iqprocforas som beskrivs ovan använder ett proxytabell för att kopiera data från ASE till en tillfällig tabell i IQ. Det är ganska möjligt att använda IQ-kommandot insert..location fungerar bättre, så du kan föredra att använda det istället. Anledningen till att ett proxistabell användes i exemplet ovan är att det är enklare eftersom det kopierar kolumnnamnen och datatyperna automatiskt från ASE-tabellen. Kevin Sherlock påpekade vänligen att även om vissa av IQ OLAP-funktionerna inte kan fungera på proxy tabeller, kan de fungera på en härledd tabell. Fördelen med detta är att du inte behöver det extra väljinställningen för att kopiera från proxistabellen till den lokala IQ-tillfälliga tabellen (och du måste inte heller släppa det tempotabellen). Det enda är att du behöver ett knep för att göra det härledda bordet, eftersom du får ett fel om du bara lägger proxistabellen i en härledd tabellklausul enligt följande: från (välj år, månad, försäljning från aseproxytab) som härledd. Som oftare i IQ måste du vara lite övertygande genom att göra en vanlig IQ-tabell del av frågan här. Jag använder den 1-radiga iqdummy-tabellen för detta (som IQ-dokumentationen ofta använder sig av): Den IQ-lagrade proceduren iqprocforas ovan skickar sin produktion till klienten. Det är inte svårt att ändra det så att det skriver sina resultat tillbaka till ett bord i ASE istället. Nedan finns en förbättrad version av proceduren som tar en ytterligare parameter som anger ASE-tabellen där resultaten ska placeras i. IQ-förfarandet skapar automatiskt ett proxistabell till detta ASE-bord och lägger in resultaten där. Observera att resultattabellen måste finnas i ASE innan du uppmanar IQ-förfarandet självklart. Du måste se till att antalet kolumner och datatyperna är korrekta för resultatuppsättningen som är införd i den.

No comments:

Post a Comment