Procentowa czestotliwosc wystapienia, jak najsensowniej zliczac?

Witajcie,

Czesto staje przed problemem, ze potrzebuje sprawdzic ile procent z calosci stanowia poszczegolne elementy wynikow wyszukiwania (zapytanie do bazy).

Baza zwraca za pomoca AR tablice rekordow, z ktorej w tym wypadku interesuja mnie dwa klucze, id , value.

powiedzmy ze mam cos w tym stylu:

1|100
2|50
3|10
4|5
5|25

Jak najsensowniej za pomoca ruby dopisac do tej tablicy kolumne nazwijmy ja “percentage”, ktora bedzie zawierala informacje o nie wiem jak to nazwac, “procentach” w stosunku do calosci.

Optymalnie by bylo gdybym mial metode, ktorej na wejsciu podaje tablice ktora mnie interesuje, nazwe kolumny do obliczenia procentowej wartosci, a na wyjsciu dostaje dokladnie ta sama tablice z dodatkowa jedna kolumna zawierajaca procenty.

Wiem ze nieprecyzyjnie to napisalem, ale nie wiem jak to inaczej ladnie ujac. Mysle ze kazdy chlop (i dziewucha) zrozumieli o co chodzi :slight_smile:

Pozdrowienia

Ja bym raczej tablicy nie przerabiał, tylko napisał helper, coś a’la:

def percentage_of(item, array, column = :value) item.read_attribute(column).to_f / array.sum(&column) end
Pamiętać o sprawdzeniu dzielenia przez zero. Do wyświetlania masz number_to_percentage.