Version 3 (categorical & numerical types) - ცხრილის ანალიზი

გამოქვეყნებულია: 25 იანვ 2016ბოლო განახლება: 10 ივლ 2019

ცხრილში მონაცემების გაანალიზება. ანალიზის შედეგების მისაღებად მონაცემების ცხრილი  API-ს მეთოდის გამოყენებით შეისწავლის გვერდებს ამ ვებ-საიტზე.

URL

ამ მეთოდის გამოძახებისთვის გამოიყენეთ HTTP GET მოთხოვნა შემდეგი URL-სთვის:

http://data.unicef.ge/[locale]/api/v3/dataset_analysis

სადაც:

  • [locale] = ენის ადგილი, რომელშიც გსურთ მონაცემების მიღება (ამ დროისთვის ka ქართულად ან en ინგლისურად)

აუილებელი პარამეტრები

მოთხოვნა უნდა შეიცავდეს შემდეგ პარამეტრებს:

პარამეტრიაღწერა
access_token ყველა მოთხოვნა უნდა შეიცავდეს დაშვების_გასაღებს. თქვენ მარტივად და უფასოდ შეგიძლიათ მიიღოთ დაშვების გასაღები ამ მისამართზე გადასვლით.
dataset_id ცხრილის ID
question_code ცხრილში კითხვის კოდი.

 

არჩევითი პარამეტრები 

ქვემოთ მოცემული პარამეტრები არჩევითია გამოძახებისთვის.

პარამეტრიაღწერა
 language ენის კოდი, რომელშიც დაბრუნდება მონაცემთა ცხრილის ინფორმაცია (მაგ. en ინგლისური ენისთვის). იმ შემთხვევაში, თუ language არ არის მოცემული, ცხრილისთვის გამოყენებული იქნება ძირითადი ენა.
broken_down_by_code კითხვის კოდი question_code-თან შესადარებლად (მაგ., კროსტაბულარული ანალიზი)
filter_by_code კითხვის კოდი, რათა ანალიზი გაფილტროს
weighted_by_code Code of question to weight the analysis by. If no value is given and the dataset has a default weight, the weight will automatically be used. If you want an unweighted analysis, use the value 'unweighted'.
can_exclude

ბულის დროშა, რომელიც მიუითითებს, რომ თუ პასუხის გამოტოვება შესაძლებელია, ის უნდა იყოს გამოტოვებული (მთავარი მნიშვნელობა მცდარია).

with_title ბულის დროშა, რომელიც მიუითითებს, რომ სახელები უნდა შეიცავდნენ მონაცემების შეჯამებას (მთავარი მნიშვნელობა მცდარია).
with_chart_data ბულის დროშა, რომელიც მიუითითებს, რომ შედეგები უნდა შეიცავდნენ დაფორმატებული მონაცემების Highchart გრაფიკში გადაყვანას (მთავარი მნიშვნელობა მცდარია).
with_map_data ბულის დროშა, რომელიც მიუითითებს, რომ შედეგები უნდა შეიცავდნენ დაფორმატებული მონაცემების Highmaps რუკაში გადაყვანას (მთავარი მნიშვნელობა მცდარია).

რას მიიღებთ

დაბრუნებული ობიექტი იქნება ცხრილის ანალიზის JSON ობიექტი შემდეგი ინფორმაციით:

პარამეტრიაღწერა
dataset

ობიექტი ქემოთ მოცემული მნიშვნელობებით:

  • id - იმ ცხრილის ID, რომელიც გაანალიზდა
  • title - იმ ცხრილის სახელი, რომელიც გაანალიზდა
question

ობიექტი ქვემოთ მოცემული მნიშვნელობებით:

  • code - იმ კითხვის კოდი, რომელის გაანალიზდა
  • original_code - იმ კითხვის თავდაპირველი_კოდი, რომელიც გაანალიზდა; code-ს და თავდაპირველ_კოს შორის განსხვავება არის ის, რომ code არის დაბალი ასოებით და '.' შეცვლილია '|'-ით
  • text - იმ კითხვის ტექსტი, რომელიც გაანალიზდა
  • notes - კითხვის შესახებ რაიმე სპეციალური შენიშვნა
  • is_mappable - ბულის დროშა, რომელიც მიუითითებს არის თუ არა ეს კითხკვა დაკავშირებული რუკის ფორმებთან.
  • has_map_adjustable_max_range - a boolean flag indicating if the choropleth map range should be from 0 to 100% (a false value) or 0 to whatever the max value of the data is (a true value)
  • answers - მოცემული ინფორმაციის მასივი:
    • value - პასუხის მნიშვნელობა
    • text - პასუხის ტექსტი
    • can_exclude - ბულის დროშა, რომელიც მიუითითებს შეიძლება თუ არა ანალიზიდან ამ პასუხის გამოტოვება.
    • sort_order - თანმიმდევრობა, სადაც პასუხები უნდა გამოისახონ.
broken_down_by

მხოლოდ მაშინ, თუ broken_down_by_code იყო მოწოდებული. ობიექტი ქვემოთ მოცემული მნიშვნელობებით:

  • code - იმ კითხვის კოდი, რომელის გაანალიზდა
  • original_code - იმ კითხვის თავდაპირველი_კოდი, რომელიც გაანალიზდა; the difference between the code and original_code is that the code is lower case and has '.' replaced with '|'
  • text - იმ კითხვის ტექსტი, რომელიც გაანალიზდა
  • notes - კითხვის შესახებ რაიმე სპეციალური შენიშვნა
  • is_mappable - ბულის დროშა, რომელიც მიუითითებს არის თუ არა ეს კითხკვა დაკავშირებული რუკის ფორმებთან
  • has_map_adjustable_max_range - a boolean flag indicating if the choropleth map range should be from 0 to 100% (a false value) or 0 to whatever the max value of the data is (a true value)
  • answers - მოცემული ინფორმაციის მასივი:
    • value - პასუხის მნიშვნელობა
    • text - პასუხის ტექსტი
    • can_exclude - ბულის დროშა, რომელიც მიუითითებს შეიძლება თუ არა ანალიზიდან ამ პასუხის გამოტოვება.
    • sort_order - თანმიმდევრობა, სადაც პასუხები უნდა გამოისახონ.
filtered_by

მხოლოდ მაშინ, თუ filtered_by_code იყო მოწოდებული. ობიექტი ქვემოთ მოცემული მნიშვნელობებით:

  • code - იმ კითხვის კოდი, რომელის გაანალიზდა
  • original_code - იმ კითხვის თავდაპირველი_კოდი, რომელიც გაანალიზდა; the difference between the code and original_code is that the code is lower case and has '.' replaced with '|'
  • text - იმ კითხვის ტექსტი, რომელიც გაანალიზდა
  • notes - კითხვის შესახებ რაიმე სპეციალური შენიშვნა
  • is_mappable - ბულის დროშა, რომელიც მიუითითებს არის თუ არა ეს კითხკვა დაკავშირებული რუკის ფორმებთან
  • has_map_adjustable_max_range - a boolean flag indicating if the choropleth map range should be from 0 to 100% (a false value) or 0 to whatever the max value of the data is (a true value)
  • answers - მოცემული ინფორმაციის მასივი:
    • value - პასუხის მნიშვნელობა
    • text - პასუხის ტექსტი
    • can_exclude - ბულის დროშა, რომელიც მიუითითებს შეიძლება თუ არა ანალიზიდან ამ პასუხის გამოტოვება.
    • sort_order - თანმიმდევრობა, სადაც პასუხები უნდა გამოისახონ.
weighted_by

Only if weighted_by_code we provided or the dataset has a default weight and no weight was provided. An object with the following values:

  • weight_name - the name of the weight (i.e., Individual)
  • code - the code of the question
  • original_code - the original code of the question; the difference between the code and original_code is that the code is lower case and has '.' replaced with '|'
  • text - the text of the question
  • notes - any special notes about the question
analysis_type

მიუთითებს რა ტიპის ანალიზი შესრულდა:

  • single - მოკლე აღწერა question_code შექმნაზე
  • comparative - მოკლე აღწერა question_code და broken_down_by_code შორის შედარების გაკეთებაზე
results

ობიექტი ქვემოთ რომელიც მოიცავ ანალიზის შედეგებს მოცემული ინფორმაციით:

  • total_responses - იმ ადამიანების რაოდენობა, რომლებიც გამოეხმაურნენ ამ შეკითხვას
  • analysis - თითოეული შეკითხვის პასუხზე შედეგების მასივი:
    • answer_value - პასუხის მნიშვნელობა
    • answer_text - პასუხის ტექსტი
    • count - იმ ადამიანთა რაოდენობა, რომლებმაც გასცეს ეს პასუხი (if analysis is not weighted)
    • percent - პასუხ გაცემული ადამიანების პროცენტული შედარება მთლიან გამოხმაურებასთან (if analysis is not weighted)
    • unweighted_count - the number of people that had this answer (if analysis is weighted)
    • weighted_count - the weighted number of people that had this answer (if analysis is weighted)
    • weighted_percent - the weighted percent of people with answer compared to the weighted total responses (if analysis is weighted)

თუ broken_down_by_code იყო მოწოდებული, ანალიზების შედეგებს ექნებათ შემდეგი ინფორმაცია:

  • total_responses - იმ ადამიანების რაოდენობა, რომლებიც გამოეხმაურნენ ორივე შეკითხვას
  • analysis - თითოეული შეკითხვის პასუხზე შედეგების მასივი და კითხვებით ჩაშლილი თითოეული პასუხი შემდეგი ინფორმაციით:
    • answer_value - პასუხის მნიშვნელობა შეკითხვიდან
    • answer_text - პასუხის ტექსტი შეკითხვიდან
    • broken_down_results - შედეგების მასივი კითხვებით ჩაშლილ თითოეულ პასუხზე შემდეგი ინფორმაციით:
      • broken_down_answer_value - კითხვებით ჩაშლილი თითოეული პასუხის მნიშვნელობა
      • broken_down_answer_text - კითხვებით ჩაშლილი თითოეული პასუხის ტექსტი
      • count - იმ ადამიანთა რაოდენობა, რომლებსაც ჰქონდათ შეკითხვაზე პასუხი და ჩაშლილი პასუხები (if analysis is not weighted)
      • percent - იმ ადამიანთა პროცენტული შედარება მთლიან გამოხმაურებასთან, რომლებსაც ჰქონდათ შეკითხვაზე პასუხი და ჩაშლილი პასუხები (if analysis is not weighted)
      • unweighted_count - the number of people that had both the question answer and the broken down by answer (if analysis is weighted)
      • weighted_count - the weighted number of people that had both the question answer and the broken down by answer (if analysis is weighted)
      • weighted_percent - the weighted percent of people that had both the question answer and the broken down by answer compared to the weighted total responses (if analysis is weighted)

თუ filtered_by_code იყო მოწოდებული, ანალიზების შედეგებს ექნებათ შემდეგი ინფორმაცია:

  • filtered_analysis - კითხვების ფილტრში დაჯგუფებული შედეგების მასივი, შემდეგი ინფორმაციით:
    • filter_answer_value - კითხვებით გაფილტრული პასუხების მნიშვნელობა 
    • filter_answer_text - პასუხების ტექსტი გაფილტრული კითხვებდან 
    • filter_results - თითოეულ შეკითხვაზე პასუხის შედეგების მასივი, რომელიც აგრეთვე ეხმიანება პასუხების ფილტს, შემდეგი ინფორმაციით
      • total_responses - რაოდენობა, რომელიც აჩვენებს რამდენმა ადამიანმა უპასუხა ამ კითხვას და უპასუხა გაფილტრულ პასუხს.
      • analysis - თითოეულ შეკითხვაზე პასუხის შედეგის მასივი, შემდეგი ინფორმაციით
        • answer_value - შეკითხვის პასუხის მნიშვნელობა
        • answer_text - შეკითხვის პასუხის ტექსტი
        • count - იმ ადამიანების რაოდენობა, რომლებიც გაიფილტრნენ პასუხით და კითხვის პასუხით (if analysis is not weighted)
        • percent - იმ ადამიანების პროცენტული შედარება მთლიან გამოხმაურებასთან, რომლებიც გაიფილტრნენ პასუხის და კითხვის პასუხით (if analysis is not weighted)
        • unweighted_count - the number of people that had both the filtered by answer and the question answer (if analysis is weighted)
        • weighted_count - the weighted number of people that had both the filtered by answer and the question answer (if analysis is weighted)
        • weighted_percent - the weighted percent of people that had both the filtered by answer and the question answer compared to the weighted total responses (if analysis is weighted)

თუ broken_down_by_code and filtered_by_code იყო მოწოდებული, ანალიზების შედეგებს ექნებათ შემდეგი ინფორმაცია:

  • filtered_analysis - კითხვების ფილტრში დაჯგუფებული შედეგების მასივი, შემდეგი ინფორმაციით:
    • filter_answer_value - პასუხების მნიშვნელობა გაფილტრული კითხებიდან
    • filter_answer_text - პასუხების ტექსტი გაფილტრული კითხვებდან 
    • filter_results - თითოეულ შეკითხვაზე პასუხის შედეგების მასივი, რომელიც აგრეთვე ეხმიანება პასუხების ფილტს, შემდეგი ინფორმაციით
      • total_responses - რაოდენობა, რომელიც აჩვენებს რამდენმა ადამიანმა უპასუხა ამ კითხვას და უპასუხა გაფილტრულ პასუხს.
      • analysis - თითოეულ შეკითხვაზე პასუხის შედეგის მასივი, შემდეგი ინფორმაციით:
        • answer_value - შეკითხვის პასუხის მნიშვნელობა
        • answer_text - შეკითხვის პასუხის ტექსტი
        • broken_down_results - კითხვებით ჩაშლილი თითოეული პასუხის შედეგის მასივი, შემდეგი ინფორმაციით:
          • broken_down_answer_value - კითხვებით ჩაშლილი თითოეული პასუხის მნიშვნელობა, შემდეგი ინფორმაციით:
          • broken_down_answer_text - კითხვებით ჩაშლილი პასუხების ტექსტი
          • count - იმ ადამიანების რაოდენობა, რომლებიც გაიფილტრნენ პასუხით, კითხვის პასუხით და ჩაიშალნენ პასუხით (if analysis is not weighted)
          • percent - იმ ადამიანების პროცენტული შედარება მთლიან გამოხმაურებასთან, რომლებიც გაიფილტრნენ პასუხით, კითხვის პასუხით და ჩაიშალნენ პასუხით< (if analysis is not weighted)/li>
          • unweighted_count - the number of people that had the filtered by answer, the question answer and the broken down by answer (if analysis is weighted)
          • weighted_count - the weighted number of people that had the filtered by answer, the question answer and the broken down by answer (if analysis is weighted)
          • weighted_percent - the weighted percent of people that had the filtered by answer, the question answer and the broken down by answer compared to the weighted total responses (if analysis is weighted)
chart

მხოლოდ, თუ with_chart_data იყო მართალი. ობიექტი შემდეგი მნიშვნელობებით:

  • embed_id -  უნიკალური ID, რომელიც შეიძლება გამოყენებულ იქნას ვებ-საიტზე ამ გრაფიკის ჩასასმელად შემდეგი url-ის გამოყენებით: http://data.unicef.ge/en/embed/v1/embed_id, სადაც embed_id არის უნიკალური ID.
  • data - მონაცემების წერტილების მასივი შემდეგი ინფორმაციით:
    • name - results-დან answer_text-ის მნიშვნელობა
    • results-დან percent-ის მნიშვნელობა (if analysis is weighted, this is the weighted_percent, else the percent for unweighted analysis)
    • count - results-დან count-ის მნიშვნელობა (if analysis is weighted, this is the weighted_count, else the count for unweighted analysis)
    • answer_value - results-დან answer_value-ის მნიშვნელობა
map

მხოლოდ, თუ with_map_data იყოს მართალი. ობიექტი შემდეგი მნიშვნელობებით:

  • shape_question_code - მიანიშნებს იმ კითხვების კოდზე რომლებიც შეიძლება იყოს დატანილი რუკაზე
  • map_sets - ობიექტი შემდეგი მნიშვნელობებით:
    • embed_id - უნიკალური ID, რომელიც შეიძლება გამოყენებულ იქნას ვებ-საიტზე ამ რუკის ჩასასმელად შემდეგი url-ის გამოყენებით: http://data.unicef.ge/en/embed/v1/embed_id, სადაც embed_id არის უნიკალური ID.
    • data - თითოეული ფორმისთვის მონაცემების წერტილების მასივი შემდეგი ინფორმაციით
      • shape_name - geojson ფოლდერში ფორმის სახელი, რომელიც გამოიყენება მონაცემების დამთხვევით ფორმის გასასწორებლად.
      • display_name - ფორმის სახელი, რათა მომხარებლის მიერ ფორმის აცდენს შემთხვევაში გამოვიდეს ეკრანზე
      • valueresults-დან percent-ის მნიშვნელობა (if analysis is weighted, this is the weighted_percent, else the percent for unweighted analysis)
      • count - results-დან count-ის მნიშვნელობა (if analysis is weighted, this is the weighted_count, else the count for unweighted analysis)

მაგალითები

მაგალითი 1

მაგალითისთვის მოცემულია გენდერის ანალიზის შედეგები, შემდეგი url-ით:

http://data.unicef.ge/en/api/v3/dataset_analysis?access_token=123456789&dataset_id=1111111111&question_code=gender
{
  dataset: 
  {
    id: "1111111111",
    title: "This is a dataset!"
  },
  question: 
  {
    code: "gender",
    original_code: "GENDER",
    text: "What is your gender?",
    is_mappable: false,
    answers:[
      {
        value: "1",
        text: "Male",
        can_exclude: false,
        sort_order: 1
      },
      {
        value: "2",
        text: "Female",
        can_exclude: false,
        sort_order: 2
      },
      {
        value: "3",
        text: "Refuse to Answer",
        can_exclude: true,
        sort_order: 3
      }
    ]
  },
  analysis_type: "single",
  results:
  {
    total_responses: 234,
    analysis: [
      {
        answer_value: '1',
        answer_text: 'Male',
        count: 134,
        percent: 57.26
      },
      {
        answer_value: '2',
        answer_text: 'Female',
        count: 98,
        percent: 41.88
      },
      {
        answer_value: '3',
        answer_text: 'Refuse to Answer',
        count: 2,
        percent: 0.85
      }
    ]
  }
}

მაგალითი 2

მაგალითისთვის მოცემულია გენდერის ანალიზის შედეგები, Live-ს მიხედვით ჩაშლილი:

http://data.unicef.ge/en/api/v3/dataset_analysis?access_token=123456789&dataset_id=1111111111&question_code=gender&broken_down_by_code=live
{
  dataset: 
  {
    id: "1111111111",
    title: "This is a dataset!"
  },
  question: 
  {
    code: "gender",
    original_code: "GENDER",
    text: "What is your gender?",
    is_mappable: false,
    answers:[
      {
        value: "1",
        text: "Male",
        can_exclude: false,
        sort_order: 1
      },
      {
        value: "2",
        text: "Female",
        can_exclude: false,
        sort_order: 2
      },
      {
        value: "3",
        text: "Refuse to Answer",
        can_exclude: true,
        sort_order: 3
      }
    ]
  },
  broken_down_by: 
  {
    code: "live",
    original_code: "LIVE",
    text: "Where do you live?",
    is_mappable: false,
    answers:[
      {
        value: "1",
        text: "Tbilisi",
        can_exclude: false,
        sort_order: 1
      },
      {
        value: "2",
        text: "London",
        can_exclude: false,
        sort_order: 2
      },
      {
        value: "3",
        text: "New York City",
        can_exclude: false,
        sort_order: 3
      }
    ]
  },
  analysis_type: "comparative",
  results:
  {
    total_responses: 234,
    analysis: [
      {
        answer_value: '1',
        answer_text: 'Male',
        broken_down_results: [
          {
            broken_down_answer_value: '1',
            broken_down_answer_text: 'Tbilisi',
            count: 30,
            percent: 22.39
          },
          {
            broken_down_answer_value: '2',
            broken_down_answer_text: 'London',
            count: 40,
            percent: 29.85
          },
          {
            broken_down_answer_value: '3',
            broken_down_answer_text: 'New York City',
            count: 64,
            percent: 47.76
          }
        ]
      },
      {
        answer_value: '2',
        answer_text: 'Female',
        broken_down_results: [
          {
            broken_down_answer_value: '1',
            broken_down_answer_text: 'Tbilisi',
            count: 18,
            percent: 18.37
          },
          {
            broken_down_answer_value: '2',
            broken_down_answer_text: 'London',
            count: 35,
            percent: 35.71
          },
          {
            broken_down_answer_value: '3',
            broken_down_answer_text: 'New York City',
            count: 45,
            percent: 45.92
          }
        ]
      },
      {
        answer_value: '3',
        answer_text: 'Refuse to Answer',
        broken_down_results: [
          {
            broken_down_answer_value: '1',
            broken_down_answer_text: 'Tbilisi',
            count: 0,
            percent: 0
          },
          {
            broken_down_answer_value: '2',
            broken_down_answer_text: 'London',
            count: 0,
            percent: 0
          },
          {
            broken_down_answer_value: '3',
            broken_down_answer_text: 'New York City',
            count: 2,
            percent: 100
          }
        ]
      }
    ]
  }
}

მაგალითი 3

მაგალითისთვის მოცემულია გენდერის ანალიზის შედეგები, ასაკით გაფილტრული:

http://data.unicef.ge/en/api/v3/dataset_analysis?access_token=123456789&dataset_id=1111111111&question_code=gender&filtered_by_code=age
{
  dataset: 
  {
    id: "1111111111",
    title: "This is a dataset!"
  },
  question: 
  {
    code: "gender",
    original_code: "GENDER",
    text: "What is your gender?",
    is_mappable: false,
    answers:[
      {
        value: "1",
        text: "Male",
        can_exclude: false,
        sort_order: 1
      },
      {
        value: "2",
        text: "Female",
        can_exclude: false,
        sort_order: 2
      },
      {
        value: "3",
        text: "Refuse to Answer",
        can_exclude: true,
        sort_order: 3
      }
    ]
  },
  filtered_by:
  {
    code: "age",
    original_code: "AGE",
    text: "What is your age?",
    is_mappable: false,
    answers:[
      {
        value: "1",
        text: "< 18",
        can_exclude: false,
        sort_order: 1
      },
      {
        value: "2",
        text: "18-65",
        can_exclude: false,
        sort_order: 2
      },
      {
        value: "3",
        text: "> 65",
        can_exclude: false,
        sort_order: 3
      }
    ]
  }
  analysis_type: "single",
  results:
  {
    filter_analysis: [
      {
        filter_answer_value: '1',
        fitler_answer_text: '< 18',
        filter_results: {
          total_responses: 23,
          analysis: [
            {
              answer_value: '1',
              answer_text: 'Male',
              count: 15,
              percent: 65.22
            },
            {
              answer_value: '2',
              answer_text: 'Female',
              count: 8,
              percent: 34.78
            },
            {
              answer_value: '3',
              answer_text: 'Refuse to Answer',
              count: 0,
              percent: 0
            }
          ]
        }
      },
      {
        filter_answer_value: '2',
        fitler_answer_text: '18-65',
        filter_results: {
          total_responses: 196,
          analysis: [
            {
              answer_value: '1',
              answer_text: 'Male',
              count: 100,
              percent: 51.02
            },
            {
              answer_value: '2',
              answer_text: 'Female',
              count: 94,
              percent: 47.96
            },
            {
              answer_value: '3',
              answer_text: 'Refuse to Answer',
              count: 2,
              percent: 1.02
            }
          ]
        }
      },
      {
        filter_answer_value: '3',
        fitler_answer_text: '> 65',
        filter_results: {
          total_responses: 15,
          analysis: [
            {
              answer_value: '1',
              answer_text: 'Male',
              count: 6,
              percent: 40
            },
            {
              answer_value: '2',
              answer_text: 'Female',
              count: 9,
              percent: 60
            },
            {
              answer_value: '3',
              answer_text: 'Refuse to Answer',
              count: 0,
              percent: 0
            }
          ]
        }
      }
    ]
  }
}

მაგალითი 4

მაგალითისთვის მოცემულია გენდერის ანალიზის შედეგები, Live-ს მიხედვით ჩაშლილი, ასაკით გაფილტრული:

http://data.unicef.ge/en/api/v3/dataset_analysis?access_token=123456789&dataset_id=1111111111&question_code=gender&broken_down_by_code=live&filtered_by_code=age
{
  dataset: 
  {
    id: "1111111111",
    title: "This is a dataset!"
  },
  question: 
  {
    code: "gender",
    original_code: "GENDER",
    text: "What is your gender?",
    is_mappable: false,
    answers:[
      {
        value: "1",
        text: "Male",
        can_exclude: false,
        sort_order: 1
      },
      {
        value: "2",
        text: "Female",
        can_exclude: false,
        sort_order: 2
      },
      {
        value: "3",
        text: "Refuse to Answer",
        can_exclude: true,
        sort_order: 3
      }
    ]
  },
  broken_down_by: 
  {
    code: "live",
    original_code: "LIVE",
    text: "Where do you live?",
    is_mappable: false,
    answers:[
      {
        value: "1",
        text: "Tbilisi",
        can_exclude: false,
        sort_order: 1
      },
      {
        value: "2",
        text: "London",
        can_exclude: false,
        sort_order: 2
      },
      {
        value: "3",
        text: "New York City",
        can_exclude: false,
        sort_order: 3
      }
    ]
  },
  filtered_by:
  {
    code: "age",
    original_code: "AGE",
    text: "What is your age?",
    is_mappable: false,
    answers:[
      {
        value: "1",
        text: "< 18",
        can_exclude: false,
        sort_order: 1
      },
      {
        value: "2",
        text: "18-65",
        can_exclude: false,
        sort_order: 2
      },
      {
        value: "> 65",
        text: "New York City",
        can_exclude: false,
        sort_order: 3
      }
    ]
  }
  analysis_type: "comparative",
  results:
  {
    filter_analysis: [
      {
        filter_answer_value: '1',
        fitler_answer_text: '< 18',
        filter_results: 
        {
          total_responses: 23,
          analysis: [
            {
              answer_value: '1',
              answer_text: 'Male',
              broken_down_results: [
                {
                  broken_down_answer_value: '1',
                  broken_down_answer_text: 'Tbilisi',
                  count: 2,
                  percent: 15.38
                },
                {
                  broken_down_answer_value: '2',
                  broken_down_answer_text: 'London',
                  count: 5,
                  percent: 38.46
                },
                {
                  broken_down_answer_value: '3',
                  broken_down_answer_text: 'New York City',
                  count: 6,
                  percent: 46.15
                }
              ]
            },
            {
              answer_value: '2',
              answer_text: 'Female',
              broken_down_results: [
                {
                  broken_down_answer_value: '1',
                  broken_down_answer_text: 'Tbilisi',
                  count: 2,
                  percent: 20
                },
                {
                  broken_down_answer_value: '2',
                  broken_down_answer_text: 'London',
                  count: 4,
                  percent: 40
                },
                {
                  broken_down_answer_value: '3',
                  broken_down_answer_text: 'New York City',
                  count: 4,
                  percent: 40
                }
              ]
            },
            {
              answer_value: '3',
              answer_text: 'Refuse to Answer',
              broken_down_results: [
                {
                  broken_down_answer_value: '1',
                  broken_down_answer_text: 'Tbilisi',
                  count: 0,
                  percent: 0
                },
                {
                  broken_down_answer_value: '2',
                  broken_down_answer_text: 'London',
                  count: 0,
                  percent: 0
                },
                {
                  broken_down_answer_value: '3',
                  broken_down_answer_text: 'New York City',
                  count: 0,
                  percent: 0
                }
              ]
            }
          ]
        }
      },
      {
        filter_answer_value: '2',
        fitler_answer_text: '18-65',
        filter_results: 
        {
          total_responses: 196,
          analysis: [
            {
              answer_value: '1',
              answer_text: 'Male',
              broken_down_results: [
                {
                  broken_down_answer_value: '1',
                  broken_down_answer_text: 'Tbilisi',
                  count: 25,
                  percent: 25
                },
                {
                  broken_down_answer_value: '2',
                  broken_down_answer_text: 'London',
                  count: 35,
                  percent: 35
                },
                {
                  broken_down_answer_value: '3',
                  broken_down_answer_text: 'New York City',
                  count: 40,
                  percent: 40
                }
              ]
            },
            {
              answer_value: '2',
              answer_text: 'Female',
              broken_down_results: [
                {
                  broken_down_answer_value: '1',
                  broken_down_answer_text: 'Tbilisi',
                  count: 20,
                  percent: 23.4
                },
                {
                  broken_down_answer_value: '2',
                  broken_down_answer_text: 'London',
                  count: 30,
                  percent: 31.91
                },
                {
                  broken_down_answer_value: '3',
                  broken_down_answer_text: 'New York City',
                  count: 44,
                  percent: 46.81
                }
              ]
            },
            {
              answer_value: '3',
              answer_text: 'Refuse to Answer',
              broken_down_results: [
                {
                  broken_down_answer_value: '1',
                  broken_down_answer_text: 'Tbilisi',
                  count: 0,
                  percent: 0
                },
                {
                  broken_down_answer_value: '2',
                  broken_down_answer_text: 'London',
                  count: 0,
                  percent: 0
                },
                {
                  broken_down_answer_value: '3',
                  broken_down_answer_text: 'New York City',
                  count: 2,
                  percent: 100
                }
              ]
            }
          ]
        }
      },
      {
        filter_answer_value: '3',
        fitler_answer_text: '> 65',
        filter_results: 
        {
          total_responses: 15,
          analysis: [
            {
              answer_value: '1',
              answer_text: 'Male',
              broken_down_results: [
                {
                  broken_down_answer_value: '1',
                  broken_down_answer_text: 'Tbilisi',
                  count: 1,
                  percent: 12.5
                },
                {
                  broken_down_answer_value: '2',
                  broken_down_answer_text: 'London',
                  count: 3,
                  percent: 37.5
                },
                {
                  broken_down_answer_value: '3',
                  broken_down_answer_text: 'New York City',
                  count: 4,
                  percent: 50
                }
              ]
            },
            {
              answer_value: '2',
              answer_text: 'Female',
              broken_down_results: [
                {
                  broken_down_answer_value: '1',
                  broken_down_answer_text: 'Tbilisi',
                  count: 1,
                  percent: 14.29
                },
                {
                  broken_down_answer_value: '2',
                  broken_down_answer_text: 'London',
                  count: 3,
                  percent: 42.86
                },
                {
                  broken_down_answer_value: '3',
                  broken_down_answer_text: 'New York City',
                  count: 3,
                  percent: 42.86
                }
              ]
            },
            {
              answer_value: '3',
              answer_text: 'Refuse to Answer',
              broken_down_results: [
                {
                  broken_down_answer_value: '1',
                  broken_down_answer_text: 'Tbilisi',
                  count: 0,
                  percent: 0
                },
                {
                  broken_down_answer_value: '2',
                  broken_down_answer_text: 'London',
                  count: 0,
                  percent: 0
                },
                {
                  broken_down_answer_value: '3',
                  broken_down_answer_text: 'New York City',
                  count: 0,
                  percent: 0
                }
              ]
            }
          ]
        }
      }
    ]
  }
}