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 :)
access ja fraktiilit?
6
412
Vastaukset
- 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 SubSori 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
Riikka: 3 euron bensa, Ruotsi: bensavero jopa alle EU-minimin
Eipä vaan suomalainen autoilija saa kaikkien rakastamalta Riikalta sympatiaa. Ruotsissa on eri meininki, siellä diskutee632162Riikka runnoo: datakeskuksille tulee UUSI yritystuki
"Suomen valtio erikseen tukee esimerkiksi kryptovaluuttaan tai aikuisviihteeseen tai muuhun keskittyviä datakeskuksia."51815Miten kestätte tyhmiä?
Miten usein turhaudutte tai suututte ihmisiin, joilla on matala älykkyys? Minulla tätä tapahtuu useita kertoja viikossa2381324En 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 erikoin71970Lahkojen uudestikasteille ei pitä mennä
Sananl. 22:3 Mielevä näkee vaaran ja kätkeytyy, mutta yksinkertaiset käyvät kohti ja saavat vahingon.88950Miksi naisen pitäisi maksaa 50/50
Vuokrasta miehelle? Eikö se ole miehelle lahja, ja aarre, jos nainen suostuu muuttamaan kanssasi asumaan?178906Minkä arvosanan 4-10 annat Susanna Laineelle Farmi-juontajana?
Susanna Laine vetää Farmi Suomi -realityä. Minkä arvosanan 4-10 annat Suskille juontohommista? Suosikkijuontaja teki21895- 19746
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 haluaisin39740Jos joku kertoisi ihastuneensa sinuun
mutta sinua ei voisi vähempää kiinnostaa, niin vastaisitko silti ystävällisesti?93719