Closed JPPinon closed 5 years ago
Pour l’instant on peut voir les infos comme ça :
https://api.wecitizens.be/v1/vote/election/2018_be_municipal/district/be_1030.json
http://api.wecitizens.be/v1/gps/answer/segment/2018_be_municipal_be_1030_candidate.json
http://www.jsoneditoronline.org
=> Je suis occupé toute la journée malheureusement avec plusieurs sites à mettre en ligne et donc finaliser.
Bonne journée,
Dan
Le 3 octobre 2018 à 11:48:13, JPPinon (notifications@github.com) a écrit:
@danielsum https://github.com/danielsum Peux-tu produire un tableau avec les réponses des candidats?
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/wecitizens/electoral-gps-frontend/issues/63, or mute the thread https://github.com/notifications/unsubscribe-auth/AByDMddE61Lx2fEkll_XKGxEVIcJCzVzks5uhIfcgaJpZM4XFqXC .
SELECT
p.id AS participant_id,
CONCAT(p.name, ' ', p.surname) AS participant_name,
(CASE
WHEN p.is_party_local = 1 THEN 'electoral_list'
WHEN p.is_party_local = 0 THEN 'candidate'
END) AS participant_type,
party.abbr AS in_electoral_list,
localite_menu.postcodes_principal AS district_postcode,
localite_menu.municipality_fr AS district_name_fr,
a.opinion_id AS question_id,
(CASE
WHEN a.opinion_answer = '1' THEN 'fully_agree'
WHEN a.opinion_answer = '2' THEN 'agree'
WHEN a.opinion_answer = '3' THEN 'no_opinion'
WHEN a.opinion_answer = '4' THEN 'disagree'
WHEN a.opinion_answer = '5' THEN 'fully_disagree'
ELSE 'no_opinion'
END) AS answer,
e.questionnaire AS survey_completed,
a.opinion_total_sent AS question_sent_total,
a.opinion_total_received AS question_answered_total,
a.opinion_received AS answer_received
FROM
politician_election e
JOIN
politician p ON p.id = e.id_politician
LEFT JOIN
party party ON party.id = e.roll
JOIN
election ON election.id = e.id_election
LEFT JOIN
localite_menu ON localite_menu.id_gps = election.id_gps
LEFT JOIN
opinions_answers a ON a.id_politician = e.id_politician
WHERE
a.id_politician != 5439
AND e.id_election >= 16
AND a.opinion_answer IN ('1' , '2', '3', '4', '5')
AND party.abbr <> 'Other party'
Results too big ... 2 millions line
Need to append the following to create file on db but access denied. @danielsum, an idea ?
INTO OUTFILE '/tmp/mytable.csv'
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n';
Impossible d'uploader sur drive. Quelqu'un doit vérifier que les données sont exactes (par rapport au profil sur directory) https://we.tl/t-GHmH4ijlgy
@olivier5741 Je suppose que ce que tu appelles "participant" est un candidat à une des cinq élections courantes. Il semble y avoir des problèmes avec cette extraction de données:
En analysant l'extraction de la base de données, faite par Daniel le 6/10,
http://wecitizens.be/stats.php
je m'aperçois d'un problème.
Les champs PolDir "opinion-answers" > [opinion_received] : je ne trouve pas de valeur > à 1/10/2018
[total_received] ne fonctionne plus correctement, et ne semble pas reflèter le nombre total de questions répondues par le politicien. C'est la raison pour laquelle ce champ est blanc ou nul pour tous les politiciens de la nouvelle génération (après la mise en prod du nouveau PolDir en juillet dernier). Pour repérer les politiciens ayant répondu à des questions il faut soit créer un nouveau champ (où on note le total réel des réponses reçues), soit forcer une mise à jour de [total_received]. Faisable maintenant?
Pour l'instant je ne vois pas où je peux vérifier l'activité (le nombre de réponses reçues.
SELECT DISTINCT
a.id_politician AS partipant_id,
concat(p.surname, ' ', p.name) as participant_name,
'candidate' AS segment_type,
a.opinion_id AS question_id,
(CASE
WHEN a.opinion_answer = '1' THEN 'strongly_agree'
WHEN a.opinion_answer = '2' THEN 'agree'
WHEN a.opinion_answer = '3' THEN 'no_opinion'
WHEN a.opinion_answer = '4' THEN 'disagree'
WHEN a.opinion_answer = '5' THEN 'strongly_disagree'
ELSE 'wrong'
END) AS answer
FROM
opinions_answers a
INNER JOIN
politician p ON p.id = a.id_politician
INNER JOIN
politician_election e ON e.id_politician = a.id_politician
WHERE
a.id_politician != 5439 # Jean-Paul
AND a.opinion_answer in ('1','2','3','4','5')
AND a.opinion_id in ('4','14','20','21','22','23','31','38','46','49','52','58','84','88','89','90','93','95','96','97','98','99','100','101','102','103','104','105','106','107','108','110','112','113','114','115','116','117','118','119','120','121','123','124','125')
AND p.personal_gender in ('m','f', 'i')
ORDER BY opinion_received DESC
file available at Content > participant_answers.csv
@danielsum : Merci à Olivier pour l'export du tableau des réponses, par candidat. Il nous intéresserait de faire une analyse par parti, et par commune et en fonction du poste occupé par le candidat. Il nous faudrait donc un tableau plus complet, en étant conscient que cela demande de croiser plusieurs tables MySQL. Possible?
@danielsum Peux-tu produire un tableau avec les réponses des candidats (càd inscrit à une des 5 élections, avec ID 16 à 20)?