Fungsi Rank tersebut digunakan untuk mendapatkan ranking suatu record dalam 
tiap-tiap group.
Misalnya dalam satu group

RECORD GROUP PENYESUAIAN_PLUS RANK NILAI_POINT NILAI_H 
1 AAAB 73,4 1 0,17 A 
2 AAAB 72,3 2 0,33 B 
3 AAAB 71,2 3 0,50 B 
4 AAAB 69,8 4 0,67 B 
5 AAAB 67,5 5 0,83 B 
6 AAAB 66,9 6 1,00 C 

dimana :
NILAI_POINT : [PENYESUAIAN_PLUS] / [COUNT_OF_GROUP]
NILAI_H : IIF([NILAI_POINT]<=0.25; "A"; IIF([NILAI_POINT]<=0.85; "B";"C"))

Maksud saya seperti itu Bang Aksan, tetapi nilai di NILAI_POINT tersebut ngaco. 
Dengan rumus tersebut, nilainya adanya lebih dari 1, itu kan tidak mungkin.
Ternyata yang masalahnya yaitu hasil rank tersebut tidak 1 2 3 dst, tapi 1 3 5 
dst, atau 1 4 8 dst.

Terima kasih sebelumnya.

diki w





________________________________
Dari: aksan kurdin <[email protected]>
Kepada: [email protected]
Terkirim: Senin, 12 Januari, 2009 21:09:31
Topik: Re: Bls: Bls: [belajar-access] rank


saya juga blm nangkap dengan fungsi rank yang anda buat. 
Option Compare Database
Dim ctr, INTVAL As Integer
Dim CustID As String

Public Function R(Id As String, INTVAL As Integer) As Integer
    If CustID <> Id Then
        ctr = 1
        CustID = Id
    Else
        ctr = ctr + 1
    End If
    R = ctr
End Function


CustID , ctr, intval bukan variabel statik jadi nilai nya pasti kosong/nul 
setiap kali fungsi dipanggil, artinya custid selalu tidak sama dengan id, 
sehingga hanya blok pertama saja yang dijalankan, ctr pun pasti kembali 1.

sebenarnya apa yang mau dikerjakan fungsi ini ? apa kembaliannya ?



untuk perkara query kemarin saya sarankan dengan sub query, sekarang melihat 
kasusnya, bisa disederhanakan lagi dengan membentuk query average per group 
dari luar:

SELECT NILAI.GROUP, Avg(NILAI.NILAI) AS AvgOfNILAI
FROM NILAI
GROUP BY NILAI.GROUP;


simpan sebagai qsAvg.

dan berikut hasil query yang memodifikasi fungsi dvag semula, minus fungsi rank 
(saya tunggu penjelasannya) :

SELECT NILAI.NIK, NILAI.GROUP, NILAI.NILAI, NILAI.PENAMBAHAN, qsAvg.AvgOfNILAI 
AS Penyesuaian1, [Nilai]/[AvgOfNilai ]*70 AS PenyesuaianPlus, 
[Nilai]/[AvgOfNilai ]*70+[Penambahan ] AS PenyesuaianPlus1
FROM NILAI INNER JOIN qsAvg ON NILAI.GROUP = qsAvg.GROUP;


aksan kurdin



2009/1/13 diki wahyudin <pangestu_cx@ yahoo.com>

ada yg terlewat, rumus yang sebenarnya yaitu :
PENYESUAIAN_ PLUS = [NILAI]/[RATA2 GROUP] * 70
RATA2 GROUP tsb diambil dari DAVG atau SELECT AVG dari sql



________________________________
Dari: diki wahyudin <pangestu_cx@ yahoo.com>
Kepada: belajar-access@ yahoogroups. com
Terkirim: Selasa, 13 Januari, 2009 11:08:19
Topik: Bls: [belajar-access] rank


Nilai 70 itu memang angka default untuk menyamakan standar penilaian agar 
berkisar pada angka tersebut. Karena ada penilai yg pelit dan ada juga yg royal.
Maaf rata2 AABC emang 70,75, karena dvagnya belum jalan, maka saya tulis 
manual. 

Kalau untuk rata2nya dulu sudah bisa, dihitung dulu pake crosstab. Cuman saya 
pengen coba cara lain kali aja ada yang lebih cepet.

Groupnya memang banyak sekitar 150-an.

Yang masih jadi masalah itu yaitu fungsi rank-nya, mungkin Bang Aksan punya 
metode lain.

Terima kasih.

Diki W



________________________________
Dari: aksan kurdin <aksan.kurdin@ gmail.com>
Kepada: belajar-access@ yahoogroups. com
Terkirim: Senin, 12 Januari, 2009 18:40:54
Topik: Re: [belajar-access] rank


lupa2 ingat masalah statistik, udah lama :)

jangan pake davg, :
PENYESUAIAN_ 1: DAvg("[NILAI] ","NILAI" ,"[GROUP] = " & "[" & [GROUP] & "]")

coba ganti dengan subquery:
Penyesuaian1: (SELECT Avg(Nilai) FROM [Nilai] WHERE [Group] = Nilai!Group)


Terus yang ini coba terangkan:
PENYESUAIAN_ PLUS: IIf([GROUP]= "AAAB",([ NILAI]/71. 17*70)+[PENAMBAH 
AN],([NILAI] /71*70)+[ PENAMBAHAN] )

Nilai 71.17 adalah rata2 AAAB
Nilai 71 ? apakah rata2 AABC (70.75)
Terus nilai 70 dapat dari mana ?
Bagaimana kalau ada data lain ABCD, BCDE, CDEF, ..... WXYZ ? Nested IIF di 
banyakin ?


aksan kurdin




2009/1/12 diki wahyudin <pangestu_cx@ yahoo.com>

Maaf mohon bantuannya lagi nih buat para pakar semuanya.

Sebetulnya dulu pernah saya tanyakan. Belum juga ketemu masalahnya.
Berikut contoh file terlampir.

Yang menjadi permasalahan :
1.  menggunakan fungsi davg di query, masih error.
2. fungsi rank yang saya buat hasilnya tidak bisa digunakan untuk perhitungan, 
karena nilainya berubah sendiri. Jika field NILAI_H pada query PENGHITUNGAN 
dihapus maka hasil rangkingnya benar. sebenarnya dari hasil rank tsb saya akan 
melalukan banyak penghitungan. Tetapi semakin banyak penghitungan menggunakan 
hasil rank, maka hasilnya semakin kacau. Malah pada saat kita pindah kursor di 
field RANK, nilainya bisa berubah otomatis.

Mohon solusinya.

Terima kasih

diki w

____________ _________ _________ _________ _________ _________ _
Dapatkan nama yang Anda sukai!
Sekarang Anda dapat memiliki email di @ymail.com dan @rocketmail.com.
http://mail. promotions. yahoo.com/ newdomains/ id/


-- 
Aksan Kurdin

________________________________
Coba emoticon dan skin keren baru, dan area teman yang luas. Coba Y! Messenger 
9 Indonesia sekarang. 
________________________________
Apakah demonstrasi turun ke jalan itu hal yang wajar? 
Temukan jawabannya di Yahoo! Answers! 


-- 
Aksan Kurdin
 


      Bersenang-senang di Yahoo! Messenger dengan semua teman. Tambahkan mereka 
dari email atau jaringan sosial Anda sekarang! 
http://id.messenger.yahoo.com/invite/

Kirim email ke