Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
tatianastydneva
Partner - Contributor III
Partner - Contributor III

Modification de table

Bonjour

J'ai besoin d'une table "comme dans Excel": à gauche - des dimensions qulles j'ai créé d'avance, à droite - leurs valeurs par dates.

Comment supprimer les cellules vides grises (screenshot en PJ) dans la partie gauche de la pivot table (ou table ordinaire), svp?

Merci

18 Replies
lcloatre
Partner - Creator III
Partner - Creator III

Je suis partisan de créer un champ concaténant les champs TABLE_CODE, RC_CODE_DE_COLONNE et RC_CODE_DE_LIGNE et de créer une table de mapping.

tatianastydneva
Partner - Contributor III
Partner - Contributor III
Author

Merci! Il me semble que j'ai besoin plus de sommeil

sfatoux72
Partner - Specialist
Partner - Specialist

Mais gérer ceci dans le script serait plus propre :

Tu peux compléter la liste au besoin, ou remplacer le Inline par le chargement d'un fichier Excel,...

LIB CONNECT TO 'DB chargement';


Map_Libellé:
Mapping
LOAD
    table_code & '_' & rc_code_de_colonne & '_' & rc_code_de_ligne AS libellé_id,
    libellé
Inline [
    table_code, rc_code_de_colonne, rc_code_de_ligne, libellé
    f_01.01, 010, 100, Financial assets designated at fair value through profit or loss
    f_01.01, 010, 050, Financial assets held for trading
    f_01.01, 010, 240, Derivatives – Hedge accounting
];

LOAD
    *,
    ApplyMap('Map_Libellé', table_code & '_' & rc_code_de_colonne & '_' & rc_code_de_ligne, Null() ) AS Libellé;
SQL SELECT id,
    "value_monetary",
  ...
    "value_fact"
FROM dbtest.dbo."bi_table";

lcloatre
Partner - Creator III
Partner - Creator III

C'est effectivement ce que je préconisais...

tatianastydneva
Partner - Contributor III
Partner - Contributor III
Author

Merci, je vais essayer!

sfatoux72
Partner - Specialist
Partner - Specialist

Oui, j'ai vu ça après coup, c'est pour cela que je t'ai mis une recommandation

tatianastydneva
Partner - Contributor III
Partner - Contributor III
Author

Et si j'ai besoin de faire qques calcules pour des valeurs  "table_code='f_01.01' and rc_code_de_colonne='010' and rc_code_de_ligne='100'" et "table_code='f_01.01' and rc_code_de_colonne='010' and rc_code_de_ligne='050'" ?

Par ex, "table_code='f_01.01' and rc_code_de_colonne='010' and rc_code_de_ligne='100'" - "table_code='f_01.01' and rc_code_de_colonne='010' and rc_code_de_ligne='050'".


Si je ne me trompe pas je ne peux pas utiliser dans la mesure calculée les formules comme

If((table_code='f_01.01' and rc_code_de_colonne='010' and rc_code_de_ligne='100'),

(table_code='f_01.01' and rc_code_de_colonne='010' and rc_code_de_ligne='100') - (table_code='f_01.01' and rc_code_de_colonne='010' and rc_code_de_ligne='050')).

Mais quelle devrait être une formule pour que je puisse l'utiliser comme une mesure calculée, svp?

marwen_garwachi
Creator II
Creator II

Il faudra utiliser les set analysis :

La formule devrait ressembler à cela  :

sum({$<table_code={'f_01.01' } , rc_code_de_colonne={'010' } , rc_code_de_ligne= {'100' }>} Valeur) -

sum({$<table_code={'f_01.01' } , rc_code_de_colonne={'010' } , rc_code_de_ligne= {''050' }>} Valeur)

tatianastydneva
Partner - Contributor III
Partner - Contributor III
Author

Oui, j'ai essayé cette formule mais je n'ai pas compris d'ou vient le résultat 

table_code='f_01.01' and rc_code_de_colonne='010' and rc_code_de_ligne='100' = 45 570 241 336

table_code='f_01.01' and rc_code_de_colonne='010' and rc_code_de_ligne='050' = 29 781 965 897

Cela veut dire que je doit avoir en résultat 15 788 275 439, mais j'ai 227 851 202 560.