access ja fraktiilit?

harakka

Onko accessissa mahdollista valita taulukon tiedoista jollain kriteerillä osia sillälailla, että muutkin tiedot säilyvät mutta väliaikaisesti tehtäisii vain näille kyseisille tiedoille laskutoimituksia. Esimerkiksi sillä lailla, että jos on tuhat riviä, niin access valitsisi näistä 990 siten, että 5 pienintä ja 5 suurinta hylättäisiin? hieman kuten mäkihyppyjen arvostelussakin :)

6

412

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • paakki

      voi tehdä miltei mitä vaan.
      Pieniä perusesimerkkejä:

      Ostot-taulukossa on Määrä-niminen tietue, jossa on luvut 1, 2, 3 ... 10.
      Tee hakukysely Ostot-taulukosta, johon laitat ehdoksi / ehdoiksi seuraavia:

      >8 antaa luvut 9 ja 10.
      2 And

    • harakka

      tulipa mieleeni, että mahdollisesti tämän ratkaisun voisi vaihtoehtoisesti korvata mediaanin käyttö.. siis saako accessissa laskettua mediaania mitenkään?? ainakaan minulla ei löytynyt sisäisistä fuuntioista mitään vastaavaa.

      • paakki

        keskiarvoa? Jos näin on, se saadaan määritetyksi esim. näin:
        =Keskiarvo([Juu])

        Antaa Juu-tietueiden keskiarvon.


      • harakka
        paakki kirjoitti:

        keskiarvoa? Jos näin on, se saadaan määritetyksi esim. näin:
        =Keskiarvo([Juu])

        Antaa Juu-tietueiden keskiarvon.

        en oikeastaan.. vaan juuri mediaania eli keskimmäistä arvoa. Minulla kun on sellainen tapaus, että saattaa olla tuhat lukua joista 999 on pieniä mutta yksi niin suuri, että keskiarvo muuttuu erittäin olennaisesti, niin voisin sen eliminoida juuri tällä mediaanilla, koska sehän ottaa keskimmäisen luvun järjestyksen perusteella.


      • Kunde
        harakka kirjoitti:

        en oikeastaan.. vaan juuri mediaania eli keskimmäistä arvoa. Minulla kun on sellainen tapaus, että saattaa olla tuhat lukua joista 999 on pieniä mutta yksi niin suuri, että keskiarvo muuttuu erittäin olennaisesti, niin voisin sen eliminoida juuri tällä mediaanilla, koska sehän ottaa keskimmäisen luvun järjestyksen perusteella.

        Mediaanihan lasketaan siten, että jos recordset tietueiden määrä on pariton niin otetaan keskimmäinen arvo ja ja jos parillinen niin lasketaan keskimmäisten arvojen keskiarvo elikä kokeileppa tätä

        Public Function Mediaani(Nimi As String, Kenttä As String) As Double
        Dim Temppi As Double
        Dim Alkuperäinen As Recordset
        Set Alkuperäinen = CurrentDb.OpenRecordset(Nimi, dbOpenDynaset)
        Alkuperäinen.Sort = Kenttä
        Dim Lajiteltu As Recordset
        Set Lajiteltu = Alkuperäinen.OpenRecordset()
        If Lajiteltu.RecordCount Mod 2 = 0 Then
        Lajiteltu.AbsolutePosition = (Lajiteltu.RecordCount / 2) - 1
        Temppi = Lajiteltu.Fields(Kenttä).Value
        Lajiteltu.MoveNext
        Temppi = Temppi Lajiteltu.Fields(Kenttä).Value
        Temppi = Temppi / 2
        Else
        Lajiteltu.AbsolutePosition = (Lajiteltu.RecordCount - 1) / 2
        Temppi = Lajiteltu.Fields(Kenttä).Value
        End If
        Temppi = Temppi
        End Function

        Private Sub Koe()
        Dim X As Double
        X = Mediaani("Henkilöt", "Ikä")
        MsgBox X
        End Sub


      • Kunde
        Kunde kirjoitti:

        Mediaanihan lasketaan siten, että jos recordset tietueiden määrä on pariton niin otetaan keskimmäinen arvo ja ja jos parillinen niin lasketaan keskimmäisten arvojen keskiarvo elikä kokeileppa tätä

        Public Function Mediaani(Nimi As String, Kenttä As String) As Double
        Dim Temppi As Double
        Dim Alkuperäinen As Recordset
        Set Alkuperäinen = CurrentDb.OpenRecordset(Nimi, dbOpenDynaset)
        Alkuperäinen.Sort = Kenttä
        Dim Lajiteltu As Recordset
        Set Lajiteltu = Alkuperäinen.OpenRecordset()
        If Lajiteltu.RecordCount Mod 2 = 0 Then
        Lajiteltu.AbsolutePosition = (Lajiteltu.RecordCount / 2) - 1
        Temppi = Lajiteltu.Fields(Kenttä).Value
        Lajiteltu.MoveNext
        Temppi = Temppi Lajiteltu.Fields(Kenttä).Value
        Temppi = Temppi / 2
        Else
        Lajiteltu.AbsolutePosition = (Lajiteltu.RecordCount - 1) / 2
        Temppi = Lajiteltu.Fields(Kenttä).Value
        End If
        Temppi = Temppi
        End Function

        Private Sub Koe()
        Dim X As Double
        X = Mediaani("Henkilöt", "Ikä")
        MsgBox X
        End Sub

        Sori väärä postaus tässä oikea

        Sub Mediaani()
        Dim rs As ADODB.Recordset
        Set rs = New ADODB.Recordset
        Dim SQL As String
        Dim Temppi As Double
        SQL = "SELECT Ikä FROM Henkilöt"
        rs.CursorLocation = adUseClient
        rs.Open SQL, CurrentProject.Connection
        rs.Sort = "Ikä"
        rs.MoveFirst
        If rs.RecordCount Mod 2 = 0 Then
        rs.AbsolutePosition = (rs.RecordCount / 2)
        Temppi = rs!Ikä
        rs.MoveNext
        Temppi = Temppi rs!Ikä
        Temppi = Temppi / 2
        Else
        rs.AbsolutePosition = Int((rs.RecordCount / 2 1))
        Temppi = rs!Ikä
        End If
        rs.Close
        Set rs = Nothing
        MsgBox Temppi
        End Sub


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Riikka: 3 euron bensa, Ruotsi: bensavero jopa alle EU-minimin

      Eipä vaan suomalainen autoilija saa kaikkien rakastamalta Riikalta sympatiaa. Ruotsissa on eri meininki, siellä diskutee
      Maailman menoa
      63
      2162
    2. Riikka runnoo: datakeskuksille tulee UUSI yritystuki

      "Suomen valtio erikseen tukee esimerkiksi kryptovaluuttaan tai aikuisviihteeseen tai muuhun keskittyviä datakeskuksia."
      Maailman menoa
      5
      1815
    3. Miten kestätte tyhmiä?

      Miten usein turhaudutte tai suututte ihmisiin, joilla on matala älykkyys? Minulla tätä tapahtuu useita kertoja viikossa
      Sinkut
      238
      1324
    4. En kerro nimeäsi nainen

      Sillä olet nyt salaisuus jota kannan sydämessäni. Tämä mitä tunnen ja kuinka sinuun vahvasti ihastuin on jo niin erikoin
      Ikävä
      71
      970
    5. Lahkojen uudestikasteille ei pitä mennä

      Sananl. 22:3 Mielevä näkee vaaran ja kätkeytyy, mutta yksinkertaiset käyvät kohti ja saavat vahingon.
      Kaste
      88
      950
    6. Miksi naisen pitäisi maksaa 50/50

      Vuokrasta miehelle? Eikö se ole miehelle lahja, ja aarre, jos nainen suostuu muuttamaan kanssasi asumaan?
      Ikävä
      178
      906
    7. Minkä arvosanan 4-10 annat Susanna Laineelle Farmi-juontajana?

      Susanna Laine vetää Farmi Suomi -realityä. Minkä arvosanan 4-10 annat Suskille juontohommista? Suosikkijuontaja teki
      Tv-sarjat
      21
      895
    8. Kaatopaikka Inhassa

      Kuka omistaa kyseisen kaatopaikan? Näkymä tielle kammottava!
      Ähtäri
      19
      746
    9. Onko se liikaa pyydetty

      Voisitko sinä mies kerätä rohkeutta ja ottaa yhteyttä? Minä en jaksa tätä enää. On niin ikävä sinua. Minä niin haluaisin
      Ikävä
      39
      740
    10. Jos joku kertoisi ihastuneensa sinuun

      mutta sinua ei voisi vähempää kiinnostaa, niin vastaisitko silti ystävällisesti?
      Sinkut
      93
      719
    Aihe