Version 1.1 par mrochelle le 2020/09/23 10:52

Afficher les derniers auteurs
1 = Connaitre les dimensions filtrées =
2
3 * Exemple:
4
5 {{code language="js"}}
6 for (var i = 0; i < this.selection.dimsToFilter.length; i++)
7 {
8 var dimId = this.selection.dimsToFilter[i].dim.id;
9 Packages.com.digdash.utils.MessageStack.getInstance().addText("Nom dimension: " + dimId);
10 }
11 {{/code}}
12
13 * Résultat:
14 Nom dimension: Date
15 Nom dimension: Produit
16 Nom dimension: Régions
17
18 * Usage:
19
20 Peut être utile lorsqu’on veut renvoyer une valeur différente si une ou plusieurs dimensions sont filtrées.
21
22 = Connaitre les dimensions explorées =
23
24 * Exemple:
25
26 {{code language="js"}}
27 for (var i = 0; i < this.selection.dimsToExplore.length; i++)
28 {
29 var dimId = this.selection.dimsToExplore[i].dim.id;
30 Packages.com.digdash.utils.MessageStack.getInstance().addText("Nom dimension: " + dimId);
31 }
32 {{/code}}
33
34 * Résultat:
35
36 Nom dimension: Date
37 Nom dimension: Produit
38 Nom dimension: Régions
39
40 * Usage:
41
42 Peut être utile lorsqu’on veut renvoyer une valeur différente si une ou plusieurs dimensions sont explorées dans le graphique
43
44 = Le double passage =
45
46 * Exemple:
47
48 {{code language="js"}}
49 // needSecondPass : DO NOT REMOVE THIS LINE
50 if (phase == 0)
51 {
52 // do something
53 }
54 else
55 {
56 // do something
57 }
58 {{/code}}
59
60 * Résultat:
61
62 Oblige à passer à deux reprise dans la mesure calculée
63
64 * Usage:
65
66 Peut être utile pour enregistrer des valeurs la 1ère fois (dans un tableau par exemple) puis dans un second temps renvoyer des résultats suivant les valeurs dans ce tableau (voir fiche sur le [[rang>>https://doc.digdash.com/xwiki/wiki/howtos/view/howtos/Studio/Calculate_Rank/]])
67
68 = Objet Global =
69
70 * Exemple:
71
72 {{code language="js"}}
73 if (!_global.count)
74 {
75 _global.count = 0;
76 }
77 else
78 {
79 _global.count = _global.count + 1;
80 }
81 return _global.count;
82 {{/code}}
83
84 * Résultat:
85
86 1
87 2
88 3
89 … (suivant le nombre de valeur à représenter dans la visualisation)
90
91 * Usage:
92
93 Permet de sauver des valeurs dans des variables au cours de l'exécution d’une mesure calculée
94
95 = Cumul sur n’importe quel axe =
96
97 Exemple : Exploration de numéros de semaine (NUM_WEEK) et de dates (DAY_DT), nous souhaitons cumuler le CA sur chacune des semaines. (code dans les commentaires ci-dessous)
98 ! Attention ! La date doit être ordonnée de manière croissante dans la source
99
100 {{code language="js"}}
101 // needSecondPass : DO NOT REMOVE THIS LINE
102 var section = NUM_WEEK(dmember) + "";
103 var key = DAY_DT(dmember) + "";
104 var val = CA TTC [N](NO_AGG);
105 if (phase == 0)
106 {
107 function add(accumulator, a)
108 {
109 return accumulator + a;
110 }
111 if (!_global.vals)
112 {
113 _global.vals = {};
114 _global.run = {};
115 }
116 if (!_global.vals[section])
117 {
118 _global.vals[section] = {};
119 _global.run[section] = new Array();
120 _global.run[section].push(0);
121 }
122 if (!_global.vals[section][key])
123 {
124 _global.vals[section][key] = _global.run[section].reduce(add) + val;
125 _global.run[section].push(val);
126 }
127 Packages.com.digdash.utils.MessageStack.getInstance().addText("***PHASE0 _global.vals[" + section + "][" + key + "]: " + _global.vals[section][key] + " val: " + val);
128 }
129 else
130 {
131 Packages.com.digdash.utils.MessageStack.getInstance().addText("***PHASE1 _global.vals[" + section + "][" + key + "]: " + _global.vals[section][key]);
132 return _global.vals[section][key];
133 }
134 {{/code}}