Bonjour,
J'ai une fonction en javascript qui compare deux valeurs de turnover qui sont issue de deux requete SQL.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
var query1 = {{repair_semestre1}};
var query2 = {{repair_semestre2}};
var data = {};
[query1, query2].forEach(function (query, semester) {
    query.Client.forEach(function(clientId, index) {
        var client = data[clientId] = data[clientId] || {};
        var clientArt = client[query.LRU[index]] = client[query.LRU[index]] || [0, 0];
        clientArt[semester] = query.round[index];
    });
});
 
// Now report on that data
var output = [];
for (client in data) {
    for (article in data[client]) {
        var turnovers = data[client][article];
              output.push(formatName(client,article,turnovers));
        }
}
 
          return {
             output: output 
            };
function formatName(client,article,turnover) {
 
    return("Client: " + client + ", LRU.: " + article 
                  + ", semester t/o: " + turnovers
                  + " " + (turnovers[0] === 0 ? turnovers[1] : 
                   ((turnovers[1]-turnovers[0]) /turnovers[0])*100 
 
        ));
 
}
Je vous donne un exemple de résultat de cette fonction:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
"Client: 347, LRU.: ECP, semester t/o: 1026,-2510 -344.63937621832355"
"Client: 347, LRU.: NSS, semester t/o: 6259,0 -100"
"Client: 394, LRU.: ATSU, semester t/o: 16951,16951 0"
"Client: 394, LRU.: FCPC, semester t/o: 3178,3315 4.310887350534927"
"Client: 394, LRU.: FCSC, semester t/o: 2536,0 -100"
"Client: 394, LRU.: SDAC, semester t/o: 7391,0 -100"
"Client: 407, LRU.: RADOME, semester t/o: 4611,-927 -120.10409889394926"
"Client: 417, LRU.: FWC, semester t/o: 0,3965 3965"
"Client: 417, LRU.: SDAC, semester t/o: 601,601 0"
"Client: 446, LRU.: MFC, semester t/o: 4232,4063 -3.993383742911153"
"Client: 450, LRU.: ATSU, semester t/o: 892,0 -100"
"Client: 450, LRU.: FWC, semester t/o: 918,0 -100"
"Client: 467, LRU.: ATSU, semester t/o: 887,0 -100"
"Client: 467, LRU.: ECP, semester t/o: 2500,2616 4.64"
"Client: 467, LRU.: FCPC, semester t/o: 3918,3539 -9.673302705461971"
"Client: 467, LRU.: FCSC, semester t/o: 5254,7564 43.96650171298059"
"Client: 467, LRU.: FWC, semester t/o: 2592,2089 -19.405864197530864"
"Client: 467, LRU.: RADOME, semester t/o: 7404,16815 127.10696920583469"
"Client: 467, LRU.: SDAC, semester t/o: 1310,1108 -15.419847328244273"
"Client: 512, LRU.: MFC, semester t/o: 2785,2128 -23.590664272890486"
"Client: 540, LRU.: ATSU, semester t/o: 25534,0 -100"
"Client: 554, LRU.: ECP, semester t/o: 750,750 0"
"Client: 554, LRU.: FWC, semester t/o: 954,1161 21.69811320754717"
"Client: 554, LRU.: SDAC, semester t/o: 3848,3848 0"
"Client: 554, LRU.: FSA RCI, semester t/o: 0,10826 10826"
"Client: 554, LRU.: SEC, semester t/o: 0,901 901"
"Client: 554, LRU.: Unspecified, semester t/o: 0,428 428"
"Client: 594, LRU.: ATSU, semester t/o: 2059,2402 16.658572122389508"
"Client: 594, LRU.: ECP, semester t/o: 1957,1931 -1.3285641287685233"
"Client: 594, LRU.: FCPC, semester t/o: 4281,3174 -25.858444288717592"
"Client: 594, LRU.: FCSC, semester t/o: 2870,2552 -11.0801393728223"
"Client: 594, LRU.: FSA RCI, semester t/o: 3081,4477 45.309964297306074"
"Client: 594, LRU.: FWC, semester t/o: 5795,6959 20.0862812769629"
"Client: 594, LRU.: IMA EYY, semester t/o: 6348,0 -100"
J'ai essayé par la fonction Max, mais je n'ai pas arrivé à bonne résulat.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
function formatName(client,article,turnover) {
 
var result = "Client: " + client + ", LRU.: " + article 
                  + ", semester t/o: " + turnovers
                  + " " + (turnovers[0] === 0 ? turnovers[1] : 
                              ((turnovers[1]-turnovers[0]) /turnovers[0])*100 );
 
    for (var i = 0; i<result.lentgh;i++)
    {
        return Math.max(((turnovers[1]-turnovers[0]) /turnovers[0])*100);
    }
Je veux extraire que les 10 premiers Clients qui sont augmenté en Turnover ou qui sont baissé.
S'il vous plait, j'ai besoin de vos aides, Comment je peux le faire ?
Merci beaucoup.