FEATURES: * Input your data as an array of hashes * Input a report layout, built using a Ruby DSL * Outputs ASCII pivot tables suitable for fast reports * Pretty fast: takes less than a second to process 1,000 records of data by a report with 100 rows and 10 columns. == SYNOPSIS: require ‘rubygems’ require ‘crosstab’ data = [{:gender => "M", :age => 1}, {:gender => "F", :age => 2}, {:gender => "M", :age => 3}] my_crosstab = crosstab data do table do title "Q.A Age:" group "18 - 54" do row "18 - 34", :age => 1 row "35 - 54", :age => 2 end row "55 or older", :age => 3 end banner do column "Total" group "Gender" do column "Male", :gender => "M" column "Female", :gender => "F" end end end puts my_crosstab.to_s # => … Table 1 Q.A Age: Gender —————- Total Male Female (A) (B) © ——- ——- ——- (BASE) 3 2 1 18 - 54 2 1 1 —————————– 67% 50% 100% 18 - 34 1 1 – 33% 50% 35 - 54 1 – 1 33% 100% 55 or older 1 1 – 33% 50% == JUST THE BEGINNING: * I hope to add in later releases: * New export formats: html, pdf, csv, excel. * More stats than just frequency and percentage: mean, median, std. deviation, std. error, and significance testing * Optional row and table suppression for low frequencies * Optional table rows populating from the data * Optional table ranking – automatically reorder rows based in descending order based on frequencies observed == REQUIREMENTS: * None

Required Ruby Version

> 0.0.0

Authors

Ryan Davis

Versions

  1. 0.1.2
    1. source

      1. 0.1.2 source October 19, 2007 (15 KB)
  2. 0.1.1
    1. source

      1. 0.1.1 source October 18, 2007 (15 KB)
  3. 0.1.0
    1. source

      1. 0.1.0 source October 18, 2007 (15 KB)

SHA 256 checksum