Maaf Mas Eddy, dalam qryHit, nilai yang dirank itu bukan field NILAI dari tabel NILAI. Tapi dari hasil perhitungan (field PENYESUAIAN_PLUS dari query PERHITUNGAN).
Mohon diliat lagi and mohon dibantu betulinnya..... hehehehhehe. Makasih Diki w ________________________________ Dari: Edy WIYONO <[email protected]> Kepada: [email protected] Terkirim: Kamis, 15 Januari, 2009 09:05:33 Topik: Re: [belajar-access] rank -->Alternatifnya adalah pake Query Mas Diki. bisa dilihat di attachment, kita bisa memakai bantuan satu query misalnya: qryHit untuk menghitung Rank. Salam Hangat dan Jabat Erat, Edy WIYONO ----- Original Message ----- From: aksan kurdin To: belajar-access@ yahoogroups. com Sent: Tuesday, January 13, 2009 17:06 Subject: Re: Bls: Bls: Bls: Bls: [belajar-access] rank 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 <pangestu_cx@ yahoo.com> Makasih Bang Aksan, akan saya kembangkan sesuai kebutuhan. Berarti fungsi rank tersebut bisa digunakan efektif di report ya Bang. diki w ________________________________ Dari: aksan kurdin <aksan.kurdin@ gmail.com> Kepada: belajar-access@ yahoogroups. com 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> 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> Kepada: belajar-access@ yahoogroups. com 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 alamat Email baru Anda! Dapatkan nama yang selalu Anda inginkan sebelum diambil orang lain! http://mail.promotions.yahoo.com/newdomains/id/

