Wednesday 13 September 2017

Liukuva Keskiarvo In Sql 2008


Olen työskennellyt SQL Server 2008 R2: n kanssa ja yrittänyt laskea liukuvan keskiarvon. Jokaisesta tietueesta minun mielestäni haluan kerätä 250 aiemman tietueen arvot ja laskea tämän valinnan keskiarvo. Näkymän sarakkeet ovat seuraavat. TransactionID on ainutlaatuinen Kullekin TransactionID: lle haluan laskea keskimääräisen sarakkeen arvon edelliseltä 250: sta. Joten TransactionID 300: lle kerää kaikki arvot aiemmista 250 rivistä näkymä lajitellaan laskemalla TransactionID ja sitten sarakkeessa MovAvg kirjoittaa tuloksen näistä arvoista keskimäärin aion kerätä tietoja eri tietueista. tulostettu 28. lokakuuta 14 klo 20 58. Tämä on Evergreen Joe Celko kysymys Minä jätän huomiotta, mikä DBMS-alusta käytetään Mutta joka tapauksessa Joe pystyi vastaamaan yli 10 vuotta sitten standardin SQL. Joe Celko SQL Puzzles ja vastaukset viittaus Tämä viimeinen päivitys yritys ehdottaa, että voimme käyttää predikaattia rakentaa kyselyn, joka antaisi meille liikkuvan keskiarvon. On ylimääräinen sarake tai kysely ap proach paremmin Kysely on teknisesti parempaa, koska UPDATE-lähestymistapa poistaa denormalisoida tietokannan Jos historialliset tiedot tallennetaan, eivät muutu ja laskemalla liukuva keskiarvo on kallista, sinun kannattaa harkita sarakkeen lähestymistapaa. tarkoittaa tasoittaa vain heittää sopivaan paino ämpäri riippuen etäisyydestä nykyisestä aikapisteestä Esimerkiksi painaa 1 datapisteen sisällä 24 tuntia nykyisestä datapointipainosta 0 5 datapointeille 48 tunnin sisällä Tällöin on merkitystä, kuinka paljon peräkkäisiä datapisteitä kuten 6-12 ja 11 48pm ovat kaukana toisistaan ​​Käytä tapaus, josta voin ajatella, olisi pyrkimystä sileä histogrammi missä datapisteet eivät ole riittävän tiheitä msciwoj 27. toukokuuta 15 22 22.En ole varma, että odotettu tulos tuotoksesi näyttää klassisen yksinkertaisen liikkuvan valssauksen Keskimäärin 3 päivää Koska esimer - kiksi numeroiden ensimmäinen kolmiulotteinen määritelmä antaa, mutta odotat 4 360 ja se on sekava. seuraava ratkaisu, joka käyttää ikkuna-funktiota AVG Tämä lähestymistapa on paljon tehokkaampi selkeä ja vähemmän resurssitehokkaita kuin SELF-JOIN otettu käyttöön muissa vastauksissa ja olen yllättynyt siitä, että kukaan ei ole antanut parempaa ratkaisua. Näet, että AVG on kääritty jos rownum sitten pakottaa NULL s ensimmäisillä riveillä, jossa 3 vuorokauden liikkuva keskiarvo on merkityksetön. vastuullinen helmikuu 23 16 klo 13 12. Voimme soveltaa Joe Celkon s dirty left ulompi yhdistämismenetelmä, kuten Diego Scaravaggi edellä mainitsi, vastaamaan kysymykseen se on pyydetty. tuottaa pyydetyt tuotokset. vastattu Jan 9 16 klo 0 33. sinun vastauksesi.2017 Stack Exchange, Inc. kuvaussi mukaan sinulla on matriisi raportissasi Nyt haluat laskea viimeisen 6 kuukauden keskiarvon Right. In Raportointipalvelu, voimme laittaa mukautetun koodin raportiksi käsittelemään monimutkaista logiikkaa Lisää yksi sarakkeen rivi ryhmän sisällä ja soittaa määriteltyihin toimintoihin määriteltyyn koodiin. Teidän vaatimuksillanne muutimme Robertin koodin tavoitteen saavuttamiseksi. Testasimme teidän tapauksenne sisään paikallisympäristö näytetiedoilla Tässä on vaiheet ja kuvakaappaukset referenssillesi. Määritä mukautettu koodi raportiksi Private queueLength As Integer 6 Yksityinen queueSum kuin kaksoisnapsautunut 0 Private queueFull kuin boolean False Yksityinen idChange kuin String Dim - jono Uusi kokonaisluku Julkinen funktio Kumulatiivinen Queue ByVal currentValue Integer, Id As String Objekti Dim removedValue Kuten Double 0 IdChange id ja ClearQueue idChange id queueSum 0 queueFull False KumulatiivinenQueue currentValue, id Muuta Jos queueLength sitten removedValue End Jos queueSum currentValue queueSum - removedValue Jos queueLength sitten Return Ei mitään ElseIf queueLength And queueFull False Sitten queueFull True Return jonossaSum jonossaLength Else Return queueSum jonossaLength End Jos loppu jos lopetus funktio julkinen toiminto ClearQueue Dim i kokonaislukuna Dim n kuin kokonaisluku arvoon 0 Vaihe 1 seuraavaksi i Lopeta funktio. Lisää yksi rivi ryhmän sisällä, soita funktio Määritetty mukautetussa koodissa. Tallenna ja esikatsele Se näyttää alla. Jos sinulla on kysyttävää, s vuokrasi voi vapaasti kysyä. Best Regards, Simon Hou Pactera. Wednesday, 14 toukokuu 2014 12 36. Kaikki vastaukset. Yep voit käyttää RunningValue-funktiota tähän. jotain kuin alla. Please Merkitse tämä vastaus, jos se auttaa ratkaisemaan Anna Visakh. Kuvauksen mukaan sinulla on matriisi raportissasi Nyt haluat laskea viimeisen kuuden kuukauden keskiarvon. Right. In Raportointipalvelussa voimme laittaa mukautetun koodin raportiksi käsitellä monimutkaista logiikkaa Lisää yksi sarakkeen rivi ryhmän sisäpuolella ja soittamalla mukautetun koodin mukaiset toiminnot. Teidän vaatimuksillesi muutimme Robertin koodin tavoitteen saavuttamiseksi. Testasimme tapauksesi paikallisessa ympäristössämme esimerkkitietojen avulla. Tässä on vaiheita ja kuvakaappauksia referenssillesi. Vie mukautettu koodi raporttiin Yksityinen jononLeveys kokonaislukuna 6 Yksityinen jonossaSum kuin kaksinkertainen 0 Yksityinen jonoFull kuin Boolen False Yksityinen idChange kuin String Dim - jonona Uusi kokonaisluku Julkinen funktio KumulatiivinenQueue ByVal currentValue Kuten kokonaisluku, id As String objektina Dim removedValue Kuten Double 0 Jos idChange id sitten ClearQueue idChange id queueSum 0 jonoFull False KumulatiivinenQueue currentValue, id Jäljellä Jos jonoLength PoistetaanValue End Jos queueSum currentValue queueSum - removedValue Jos queueLength sitten palaa mitään ElseIf queueLength ja queueFull False Sitten queueFull True Return jonoSum queueLength Else Return queueSum queueLength Lopeta, jos loppu, jos lopputoiminto julkinen toiminto tyhjennetään, kun kokonaisluku on kokonaisluku, kun kokonaisluku on 0, vaihe 1, seuraava i Lopeta funktio. Lisää yksi rivi ryhmän sisällä, soita muokatun koodin määrittämä toiminto. kuten alla. Jos sinulla on kysyttävää, ole hyvä ja pyydä. Hyvin terveiset, Simon Hou Pactera. Wednesday, 14 toukokuu 2014 12 36.Microsoft suorittaa online-kyselyn ymmärtämään mielipiteesi Technet Web-sivuston Jos valitset Osallistua, online-kysely esitetään sinulle, kun jätät Technet-sivuston. Haluatko osallistua. 2017 Microsoft Kaikki oikeudet pidätetään.

No comments:

Post a Comment