fungsi rank anda tidak saya gunakan, saya tuangkan semua di report, lihat query based record sourcenya, dan lihat group by / sort by di setiap group, ada modul di belakang report. rank di report itu hanya unbound control yang berisi source =1 dan running sum over group.
tanyakanlah apa yang tidak dimengerti. thks, 2009/1/13 diki wahyudin <[email protected]> > Makasih Bang Aksan, akan saya kembangkan sesuai kebutuhan. > Berarti fungsi rank tersebut bisa digunakan efektif di report ya Bang. > > > diki w > > ------------------------------ > *Dari:* aksan kurdin <[email protected]> > *Kepada:* [email protected] > *Terkirim:* Selasa, 13 Januari, 2009 16:23:18 > *Topik:* Re: Bls: Bls: Bls: [belajar-access] rank > > Anda lebih enak kerja di report, daripada di query (saya juga :) ) > pelajari attachment, di report1. > > > aksan kurdin > > 2009/1/13 diki wahyudin <pangestu_cx@ yahoo.com <[email protected]>> > >> 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 <aksan.kurdin@ gmail.com <[email protected]>> >> *Kepada:* belajar-access@ yahoogroups. com<[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 <[email protected]>> >> >>> 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 <[email protected]>> >>> *Kepada:* belajar-access@ yahoogroups. com<[email protected]> >>> *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 <[email protected]>> >>> >>>> 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/<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.<http://sg.rd.yahoo.com/id/messenger/maxwell/*http://id.messenger.yahoo.com> >>> >>> ------------------------------ >>> Apakah demonstrasi turun ke jalan itu hal yang wajar? >>> <http://id.answers.yahoo.com/question/index;_ylt=ArVePPHO1ZycmPLF76FARzLJRAx.;_ylv=3?qid=20080413223411AAeeuR2> >>> Temukan jawabannya di Yahoo! Answers! >>> >> >> >> >> -- >> Aksan Kurdin >> >> ------------------------------ >> Nama baru untuk Anda! >> <http://sg.rd.yahoo.com/id/mail/domainchoice/mail/signature/*http://mail.promotions.yahoo.com/newdomains/id/> >> Dapatkan nama yang selalu Anda inginkan di domain baru @ymail dan >> @rocketmail. >> Cepat sebelum diambil orang lain! >> > > > > -- > Aksan Kurdin > > ------------------------------ > Menambah banyak teman sangatlah mudah dan > cepat.<http://sg.rd.yahoo.com/id/messenger/trueswitch/mailtagline/*http://id.messenger.yahoo.com/invite/> > Undang teman dari Hotmail, Gmail ke Yahoo! Messenger sekarang! > > -- Aksan Kurdin

