J'essaie d'extraire des données RSform Pro Form de la base de données pour créer des graphiques de travenot.
Il existe un champ sur la forme appelée "résolue" à laquelle les utilisateurs répondent "oui ou non". Je voudrais ajouter tout "oui" et tout "non" et ajouter la quantité de "oui" et "non" séparément pour générer un graphique à pizza. Cependant, lorsque j'entre le code ci-dessous, je reçois une erreur et il ne génère pas le graphique:
Erreur de tracé: Terrain 1: colonne inconnue 'Oui "dans" Liste de champ "
Le code que j'essaie est de:
SELECT
FieldName,
SUM(Sim) AS Sim,
SUM(Não) AS Não
FROM (
SELECT
MAX(IF(FieldName = 'FIELDNAME', FieldValue, NULL)) AS FieldName,
MAX(IF(FieldName = 'FIELDVALUE' AND FieldValue = 'Não', 1, 0)) AS Nãoo,
MAX(IF(FieldName = 'FIELDVALUE' AND FieldValue = 'Sim', 1, 0)) AS Simm
FROM r4l7i_rsform_submission_values
WHERE FormId = 4
GROUP BY SubmissionId
HAVING MAX(IF(FieldName = 'EXITDATE', FieldValue, NULL)) = ''
) DerivedTable
GROUP BY FieldName
ORDER BY FieldName, Sim, Não
On dirait que vous avez trouvé les pages pivot sur JSE - bien fait. De plus, votre tentative de codage est très proche - il vous suffit de créer des lignes à deux colonnes pour la traventaLot.
Vous n'avez pas fourni de données sur la base de données réalistes, je devais donc vous moquer de mon propre ensemble de données d'échantillon minimal.
INSERT INTO `r4l7i_rsform_submission_values` (`SubmissionValueId`, `FormId`, `SubmissionId`, `FieldName`, `FieldValue`) VALUES
(101, 4, 1, 'resolvido', 'Não'),
(102, 4, 1, 'EXITDATE', ''),
(103, 4, 2, 'resolvido', 'Sim'),
(104, 4, 2, 'EXITDATE', ''),
(105, 4, 3, 'resolvido', 'Não'),
(106, 4, 3, 'EXITDATE', ''),
(107, 4, 4, 'resolvido', 'Não'),
(108, 4, 4, 'EXITDATE', '2021-06-01'),
(109, 4, 5, 'resolvido', 'Sim'),
(110, 4, 5, 'EXITDATE', ''),
(111, 4, 6, 'resolvido', 'Não'),
(112, 4, 6, 'EXITDATE', '');
Ceci a 4 valeurs Não (relatives aux soumissions: 1,3,4,6) et 2 valeurs SIM (relatives aux soumissions 2,5). Subvementid 4 est logiquement disqualifié car il a une valeur de sortie non vide.
SQL: ( https://www.db-fiddle.com/f/dfromaglpa4qfe22rhffs6/1 )
SELECT Resolvido,
COUNT(1) AS Count
FROM (
SELECT
MAX(IF(FieldName = 'resolvido', FieldValue, NULL)) AS `Resolvido`
FROM r4l7i_rsform_submission_values
WHERE FormId = 4
GROUP BY SubmissionId
HAVING MAX(IF(FieldName = 'EXITDATE', FieldValue, '')) = ''
) DerivedTable
GROUP BY Resolvido
Ensemble de résultats:
| Resolvido | Count |
| --------- | ----- |
| Não | 3 |
| Sim | 2 |
Tableau de tarte rendu (avec et sans effet de survol):