Objectif : Trier les libellés lignes de mon tableau dans Slidie
Méthodologie :
Il n'existe pas d'options automatique de tri des libellés lignes (ou colonnes) dans Slidie. L'astuce consiste à transférer les textes lignes dans le corps du tableau et ensuite d'utiliser le tri standard de Slidie
Étapes :
1 - Script de transfert des libellés lignes dans le corps du tableau :
t = ARG1
#Création d'une colonne vide pour recevoir l'information
t = t.Columns[0, Range(1, t.Rows.Size)]
for
i in Range(1, t.Columns.Size):
parts = GetRowText(t, i)
t.Rows[i].Columns[1].Values = Enumerate(parts)
RESULT = t
2 - Trier la colonne crée en mode "littéral"
3 - Supprimer la colonne crée.
jeudi 4 octobre 2012
mardi 31 juillet 2012
Script d'extraction avec conservation de la dimension.
Objectif : Extraire une liste de lignes / colonnes en conservant de la dimension d'extraction. Les éléments absents générant une ligne / colonne vide.
Script :
Exemple d'extraction des colonnes.
Script :
Exemple d'extraction des colonnes.
t = ARG1
def GetIndex(x):
if x in t.Columns.Texts:
return '"' + x + '"'
else:
return 0
marques = ( "Ensemble","Marque 1","Marque 2" [...] "Marque N" )
t = t.Columns[[GetIndex(x) for x in marques]]
for i in Range(1, len(marques)):
SetColumnText(t, i, marques[i - 1].Trim('"'))
RESULT = t
def GetIndex(x):
if x in t.Columns.Texts:
return '"' + x + '"'
else:
return 0
marques = ( "Ensemble","Marque 1","Marque 2" [...] "Marque N" )
t = t.Columns[[GetIndex(x) for x in marques]]
for i in Range(1, len(marques)):
SetColumnText(t, i, marques[i - 1].Trim('"'))
RESULT = t
mardi 14 février 2012
Apparier à partir d'une table de correspondance
Objectif : Concaténer des informations provenant de deux tableaux distincts (magasins / régions) à l'aide d'un tableau de correspondances.
Tableaux en entrée :
1) Un tableau contenant les informations régions.
2) Un tableau contenant les informations magasins.
Attention, les tableaux magasins et régions doivent avoir le même nombre de lignes.
3) Un tableau de correspondance.
Transformation :
Elle consiste à produire un tableau par magasin associé à sa région de référence.
Le tableau final aura pour structure :
- La première colonne correspondant au magasin
- La seconde colonne correspondant à sa région de référence
Script :
01:#Arguments
02:# 1 - Tableau des magasins
03:t1 = ARG1
04:# 2 - Tableau des régions
05:t2 = ARG2
06:# 3 - Tableau des correspondances
07:lk = ARG3
08:#Initialisation de la liste
09:lst = []
10:for i in Range(1, (t1.Columns.Size)):
11:#Reprise du magasin
12: nom_etab = GetColumnText(t1 ,i)
13:#Reprise de la région
14: nom_reg = GetColumnText(t2 ,i)
15:#Recherche de la région concernée dans la table de correspondances
16: codes = ['"' + x + '" ' for x in lk.Rows['"' + nom_etab + '"'].Texts]
17:#Concaténation du magasin et de sa région associée
18: c = MergeColumns(t1.Columns[i],t2.Columns[codes])
19:#Reprise des annotations
20: c.Annotations["NOMMAG"] = nom_etab
21: c.Annotations["NOMREG"] = FirstOf (lk.Rows['"' + nom_etab + '"'].Texts)
22:#Stockage des tableaux
23: lst.Add(c)
25:
26:RESULT = lst
Résultats :
Cette transformation produit autant de tableaux que de magasins présents.
Dans notre cas, elle produira donc 5 tableaux.
Tableaux en entrée :
1) Un tableau contenant les informations régions.
2) Un tableau contenant les informations magasins.
Attention, les tableaux magasins et régions doivent avoir le même nombre de lignes.
3) Un tableau de correspondance.
Transformation :
Elle consiste à produire un tableau par magasin associé à sa région de référence.
Le tableau final aura pour structure :
- La première colonne correspondant au magasin
- La seconde colonne correspondant à sa région de référence
Script :
01:#Arguments
02:# 1 - Tableau des magasins
03:t1 = ARG1
04:# 2 - Tableau des régions
05:t2 = ARG2
06:# 3 - Tableau des correspondances
07:lk = ARG3
08:#Initialisation de la liste
09:lst = []
10:for i in Range(1, (t1.Columns.Size)):
11:#Reprise du magasin
12: nom_etab = GetColumnText(t1 ,i)
13:#Reprise de la région
14: nom_reg = GetColumnText(t2 ,i)
15:#Recherche de la région concernée dans la table de correspondances
16: codes = ['"' + x + '" ' for x in lk.Rows['"' + nom_etab + '"'].Texts]
17:#Concaténation du magasin et de sa région associée
18: c = MergeColumns(t1.Columns[i],t2.Columns[codes])
19:#Reprise des annotations
20: c.Annotations["NOMMAG"] = nom_etab
21: c.Annotations["NOMREG"] = FirstOf (lk.Rows['"' + nom_etab + '"'].Texts)
22:#Stockage des tableaux
23: lst.Add(c)
25:
26:RESULT = lst
Résultats :
Cette transformation produit autant de tableaux que de magasins présents.
Dans notre cas, elle produira donc 5 tableaux.
Inscription à :
Articles (Atom)