IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

QlikView Discussion :

Addition fausse entre deux tables


Sujet :

QlikView

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2013
    Messages : 51
    Points : 22
    Points
    22
    Par défaut Addition fausse entre deux tables
    Bonjour,

    Voici j'ai deux tables lorsque je souhaite additionner ces deux derniére cela ne fonctionne pas. Tout du moins pas sur toutes mes lignes.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    j'utilise la formule suivante : sum([d622]+sum(622)
    ci dessous mon script complet puis les fichiers
    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    SET ThousandSep='*';
    SET DecimalSep=',';
    SET MoneyThousandSep='*';
    SET MoneyDecimalSep=',';
    SET MoneyFormat='#*##0,00 €;-#*##0,00 €';
    SET TimeFormat='hh:mm:ss';
    SET DateFormat='DD/MM/YYYY';
    SET TimestampFormat='DD/MM/YYYY hh:mm:ss[.fff]';
    SET MonthNames='janv.;févr.;mars;avr.;mai;juin;juil.;août;sept.;oct.;nov.;déc.';
    SET DayNames='lun.;mar.;mer.;jeu.;ven.;sam.;dim.';
     
    Directory;
    Comptes : 
    LOAD Général, 
         [descriptif compte], 
         F3, 
         Regroupement
    FROM
    [..\Docs QV COMPTA\details compte test.xlsx]
    (ooxml, embedded labels, table is compte);
     
     
    Directory;
    LOAD Jal, 
         Date,
          year (Date) as année,
         month (Date) as mois, 
         QuarterName (Date) as trimeste, 
         N°, 
         Général, 
         Auxiliaire, 
         Référence, 
         Libellé, 
         Débit, 
         Crédit, 
         [Date minimale de lettrage], 
         Formule, 
         [Code TVA],
         IF(Lookup('Regroupement','Général',Général,'Comptes')='601',Débit-Crédit,0) AS 601,
              IF(Lookup('Regroupement','Général',Général,'Comptes')='602',Débit-Crédit,0) AS 602,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='604',Débit-Crédit,0) AS 604,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='606',Débit-Crédit,0) AS 606,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='607',Débit-Crédit,0) AS 607,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='611',Débit-Crédit,0) AS 611,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='613',Débit-Crédit,0) AS 613,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='615',Débit-Crédit,0) AS 615,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='616',Débit-Crédit,0) AS 616,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='618',Débit-Crédit,0) AS 618,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='622',Débit-Crédit,0) AS 622,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='623',Débit-Crédit,0) AS 623,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='624',Débit-Crédit,0) AS 624,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='625',Débit-Crédit,0) AS 625,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='626',Débit-Crédit,0) AS 626,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='627',Débit-Crédit,0) AS 627,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='628',Débit-Crédit,0) AS 628,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='631',Débit-Crédit,0) AS 631,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='633',Débit-Crédit,0) AS 633,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='635',Débit-Crédit,0) AS 635,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='637',Débit-Crédit,0) AS 637,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='641',Débit-Crédit,0) AS 641,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='645',Débit-Crédit,0) AS 645,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='648',Débit-Crédit,0) AS 648,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='701',Crédit-Débit,0) AS 701,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='707',Crédit-Débit,0) AS 707,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='708',Crédit-Débit,0) AS 708,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='709',Crédit-Débit,0) AS 709,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='758',Crédit-Débit,0) AS 758,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='766',Crédit-Débit,0) AS 766,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='775',Crédit-Débit,0) AS 775
    FROM
    [..\Docs QV COMPTA\ECRITURES COMPTABLES RP 01 062013.xlsx]
    (ooxml, embedded labels, table is CONVERT);
     
    Directory;
    Comptes : 
    LOAD Général, 
         [descriptif compte], 
         F3, 
         Regroupement
    FROM
    [..\Docs QV COMPTA\detail compte d****i.xlsx]
    (ooxml, embedded labels, table is davinci);
     
     
    Directory;
    LOAD Jal, 
         Date,
          year (Date) as année,
         month (Date) as mois, 
         QuarterName (Date) as trimeste,  
         N°, 
         Général, 
         Auxiliaire, 
         Référence, 
         Libellé, 
         Débit, 
         Crédit, 
         [Date minimale de lettrage], 
         Formule, 
         [Code TVA],
              IF(Lookup('Regroupement','Général',Général,'Comptes')='d601',Débit-Crédit,0) AS d601,
              IF(Lookup('Regroupement','Général',Général,'Comptes')='d602',Débit-Crédit,0) AS d602,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='d604',Débit-Crédit,0) AS d604,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='d606',Débit-Crédit,0) AS d606,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='d607',Débit-Crédit,0) AS d607,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='d611',Débit-Crédit,0) AS d611,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='d613',Débit-Crédit,0) AS d613,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='d615',Débit-Crédit,0) AS d615,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='d616',Débit-Crédit,0) AS d616,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='d618',Débit-Crédit,0) AS d618,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='d6222',Débit-Crédit,0) AS d622,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='d623',Débit-Crédit,0) AS d623,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='d624',Débit-Crédit,0) AS d624,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='d625',Débit-Crédit,0) AS d625,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='d626',Débit-Crédit,0) AS d626,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='d627',Débit-Crédit,0) AS d627,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='d628',Débit-Crédit,0) AS d628,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='d631',Débit-Crédit,0) AS d631,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='d633',Débit-Crédit,0) AS d633,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='d635',Débit-Crédit,0) AS d635,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='d637',Débit-Crédit,0) AS d637,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='d641',Débit-Crédit,0) AS d641,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='d645',Débit-Crédit,0) AS d645,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='d648',Débit-Crédit,0) AS d648,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='d701',Crédit-Débit,0) AS d701,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='d707',Crédit-Débit,0) AS d707,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='d708',Crédit-Débit,0) AS d708,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='d709',Crédit-Débit,0) AS d709,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='d758',Crédit-Débit,0) AS d758,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='d766',Crédit-Débit,0) AS d766,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='d775',Crédit-Débit,0) AS d775
    FROM
    [..\Docs QV COMPTA\ECRITURES D* ****.xlsx]
    (ooxml, embedded labels, table is CONVERT);
    J'ai donc un fichier qui me fait la correspondance du code général pour Da**** et un pour Reptiles-pla

    ensuite j'ai un fichier d'écriture comptable pour chaque entreprise.

    J'arrive bien a faire les totaux mensuel par code de regroupement
    Exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sum([d622]  ou sum(622)]
    Mais quand je souhaite additionner ces deux dernier cela ne fonctionne plus a partir du code 618 ou d618

    Hors que tout me semble correct, es ce du a une erreur de mon script ? ou tout simplement une erreur de formule ?

    Je vous remercie d'avance pour votre aide, si besoins je peut joindre un court exemple des fichiers d'écriture. mais je précise que les totaux sont correct par compte quand je ne souhaite pas les additionner entre eux.

  2. #2
    Modérateur

    Inscrit en
    Octobre 2006
    Messages
    1 649
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 649
    Points : 2 529
    Points
    2 529
    Billets dans le blog
    6
    Par défaut
    Je vous confirme que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     sum([d622] ou sum(622)]
    N'est pas une formule QlikView valide.


    Est-ce que
    donne le bon chiffre ?

    Est-ce que
    donne le bon chiffre ?

    Quels sont les dimensions que vous utilisez dans votre tableau ?


    Je vous conseille de :
    - Ne pas donner comme nom de colonne uniquement un chiffre, car "sum(622)" peut tout à fait retourner "622" plutôt que les valeurs de la dimension du même nom.
    - Nommer vos tables.
    - Concaténer vos tables (CONCATENATE), car je suppose que vous avez une méga clé de synthèse avec ce modèle, ce qui est très mauvais.

    Je trouve ça bizarre de faire 1 dimension par code (601, 602, ...), alors qu'il serait beaucoup plus "propre" de faire une dimension "code" (qui contient 601, 602, ...) et un dimension "valeur" (qui contient les montants).

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2013
    Messages : 51
    Points : 22
    Points
    22
    Par défaut
    Bonsoir,

    Alors je ne savais pas que je pouvais concatener des tables entre elles.

    Pour vous resumer la situation j'ai deux fichiers qui sont identique mais qui reflete les écritures comptables de deux societés totalement differente.
    Ils ont tout deux les même étiquettes (ou label)
    Ce que j'utilise pour catégoriser les depenses ensembles n'est ni plus ni moins le code comptable qui lui est enregistré sous le label "Général" dans mes fichiers sources. Afin de differencier ces dernier j'ai mis un d devant les codes de la deuxieme entreprise D***

    Je doit donc regrouper plusieurs sous compte sous le code 622 par exemple
    6220500
    6220100
    6220654
    Etc ...

    Un autre membre du forum m'a donc conseillé de créer une table de correspondance avec un if look ce que j'ai fait.

    j'ai tenté de suivre vos conseil en rennoman le reclassement actuellement 622 et d622 en as compte622 et compted622. Sans resultat toujours une erreur dans le resultat attendu.

    Cordialement,
    Pierre

  4. #4
    Modérateur

    Inscrit en
    Octobre 2006
    Messages
    1 649
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 649
    Points : 2 529
    Points
    2 529
    Billets dans le blog
    6
    Par défaut
    Mais est ce que le résultat d'au moins 1 est correct ?

    Ca permettrait de savoir quelle table a les mauvais résultats.

    Encore une fois, je ne comprends pas pourquoi vous doublez toutes vos dimensions pour avoir les valeurs de la 2em société, alors qu'il est tellement plus propre de conserver les mêmes champs, et de rajouter juste 1 champ "entreprise".

    Pour avoir les chiffre d'une entreprise, il suffit de filtrer dans la dimension.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2013
    Messages : 51
    Points : 22
    Points
    22
    Par défaut
    oui j'ai au moins un resultat qui est bon même 4 pour être précis.

    Je comprend ce que vous voulez dire en rajoutant un champs ''entreprise"

    Pour faire simple je doit créer un tableau de la balance comptable par societé.

    Puis une globalisant les deux entreprises, elle fonctionne une en cliente et l'autre en centrale d'achat. Ce qui insignue que j'ai des comptes comptable identique dans les deux entreprises mais qui une fois le regroupement fait je prendrais pas en compte dans le total.

    Exemple compte 6220012 a prendre en compte dans la societé R et pas dans la D

    Donc dans le regroupement juste le total de R
    Mais ceci ne rentre pas en compte pour le moment.

    Je vous joint quelques fichier

    les fichiers societé D
    societe R
    societé r+d

    Corresponde au fichier généré par QV vous pouvez visualiser les formules.
    J'ai supp des valeurs dans les fichiers ecriture comptables par confidentialité il font normalement 11000 lignes.

    Cordialement
    Fichiers attachés Fichiers attachés

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2013
    Messages : 51
    Points : 22
    Points
    22
    Par défaut
    suite avec le fichier societe r+d
    Fichiers attachés Fichiers attachés

  7. #7
    Modérateur

    Inscrit en
    Octobre 2006
    Messages
    1 649
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 649
    Points : 2 529
    Points
    2 529
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Si je me base sur vos fichiers, voici le code de chargement que je ferais :
    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    // On charge les données de "D".
    Faits:
    LOAD 
    	rowno() AS ID,
    	Date, 
    	mid(Général, 2) AS Compte, // On enlève le "d" pour être homogène entre tous les clients.
    	Libellé, 
    	Débit, 
    	Crédit,
    	'D' AS Entreprise	// On précise que c'est l'entreprise "D".
    FROM
    [ECRITURES D.xlsx]
    (ooxml, embedded labels, table is CONVERT)
    WHERE isnull(Date) = false()
    ;
     
    // On charge les données de "R".
    CONCATENATE (Faits)
    LOAD
    	rowno() AS ID, 
    	Date, 
    	Général AS Compte, 
    	Libellé, 
    	Débit, 
    	Crédit,
    	'R' AS Entreprise 	// On précise que c'est l'entreprise "R".
    FROM
    [ECRITURES COMPTABLES R.xlsx]
    (ooxml, embedded labels, table is CONVERT)
    WHERE isnull(Date) = false()
    ;
     
     
    // Pour chaque ligne, on rajoute :
    // - le groupe de compte : les 3 premiers caractères
    // - des précisions sur la date
    LEFT JOIN (Faits)
    LOAD 
    	ID,
    	left(Compte, 3) AS [Groupe compte],
    	year(Date) AS Année,
    	month(Date) AS Mois,
    	day(Date) AS Jour
    RESIDENT Faits;

    L'idée étant d'avoir :
    - 1 seule colonne "Débit"
    - 1 seule colonne "Crédit"
    - 1 colonne "Entreprise" qui précise à qui appartient la ligne
    - 1 colonne "Compte" (avec des comptes communs à toutes les entreprises)
    - 1 colonne "Groupe compte" (qui regroupe les compte selon les 3 premiers caractères


    Ainsi, l'expression
    Donnera tous les débits selon la sélection courante.
    Donc il suffit de sélectionner 1 client pour avoir ses chiffre, un groupe de compte pour avoir le détail de ce groupe, ou 1 compte pour avoir son détail.

    Pour forcer les valeurs d'un compte précis, juste un petit Set Analysis à rajouter :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sum({$ <Compte={60212345}>}bit)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sum({$ <[Groupe compte]={602}>}bit)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sum({$ <[Entreprise]={'D'}>}bit)
    Ensuite, quand vous faites des gros tableaux, vous n'êtes pas obligé de faire 50 expressions (1 expression par groupe de compte), mais 1 seule car vous aurez mis "Groupe compte" en tant que dimension.

    Je pense que ça facilite énormément le travail par la suite.


    Maintenant, il y a peut être des éléments fonctionnels que je n'ai pas en tête et qui rendent mon raisonnement inadapté...

  8. #8
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2013
    Messages : 51
    Points : 22
    Points
    22
    Par défaut
    ou dois je introduire le code dans mon script,

    sans que cela modifie ce que j'ai déjà fait ?

    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    SET ThousandSep='*';
    SET DecimalSep=',';
    SET MoneyThousandSep='*';
    SET MoneyDecimalSep=',';
    SET MoneyFormat='#*##0,00 €;-#*##0,00 €';
    SET TimeFormat='hh:mm:ss';
    SET DateFormat='DD/MM/YYYY';
    SET TimestampFormat='DD/MM/YYYY hh:mm:ss[.fff]';
    SET MonthNames='janv.;févr.;mars;avr.;mai;juin;juil.;août;sept.;oct.;nov.;déc.';
    SET DayNames='lun.;mar.;mer.;jeu.;ven.;sam.;dim.';
     
    Directory;
    Comptes : 
    LOAD Général, 
         [descriptif compte], 
         F3, 
         Regroupement, 
         [descriptif classe]
    FROM
    [details compte test.xlsx]
    (ooxml, embedded labels, table is compte);
     
     
     
     
     
     
    Directory;
    LOAD Jal, 
         Date,
          year (Date) as année,
         month (Date) as mois, 
         QuarterName (Date) as trimeste, 
         N°, 
         Général, 
         Auxiliaire, 
         Référence, 
         Libellé, 
         Débit, 
         Crédit, 
         [Date minimale de lettrage], 
         Formule, 
         [Code TVA],
          IF(Lookup('Regroupement','Général',Général,'Comptes')='601',Débit-Crédit,0) AS r601,
              IF(Lookup('Regroupement','Général',Général,'Comptes')='602',Débit-Crédit,0) AS r602,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='604',Débit-Crédit,0) AS r604,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='606',Débit-Crédit,0) AS r606,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='607',Débit-Crédit,0) AS r607,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='611',Débit-Crédit,0) AS r611,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='613',Débit-Crédit,0) AS r613,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='615',Débit-Crédit,0) AS r615,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='616',Débit-Crédit,0) AS r616,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='618',Débit-Crédit,0) AS r618,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='622',Débit-Crédit,0) AS r622,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='623',Débit-Crédit,0) AS r623,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='624',Débit-Crédit,0) AS r624,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='625',Débit-Crédit,0) AS r625,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='626',Débit-Crédit,0) AS r626,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='627',Débit-Crédit,0) AS r627,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='628',Débit-Crédit,0) AS r628,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='631',Débit-Crédit,0) AS r631,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='633',Débit-Crédit,0) AS r633,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='635',Débit-Crédit,0) AS r635,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='637',Débit-Crédit,0) AS r637,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='641',Débit-Crédit,0) AS r641,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='645',Débit-Crédit,0) AS r645,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='648',Débit-Crédit,0) AS r648,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='701',Crédit-Débit,0) AS r701,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='707',Crédit-Débit,0) AS r707,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='708',Crédit-Débit,0) AS r708,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='709',Crédit-Débit,0) AS r709,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='758',Crédit-Débit,0) AS r758,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='766',Crédit-Débit,0) AS r766,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='775',Crédit-Débit,0) AS r775,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='60110000',Crédit-Débit,0) AS r60110000,
    IF(Lookup('Regroupement','Général',Général,'Comptes')='60210000',Crédit-Débit,0) AS r60210000,
    IF(Lookup('Regroupement','Général',Général,'Comptes')='60210100',Crédit-Débit,0) AS r60210100,
    IF(Lookup('Regroupement','Général',Général,'Comptes')='60225500',Crédit-Débit,0) AS r60225500,
    IF(Lookup('Regroupement','Général',Général,'Comptes')='60261000',Crédit-Débit,0) AS r60261000,
    IF(Lookup('Regroupement','Général',Général,'Comptes')='60262000',Crédit-Débit,0) AS r60262000,
    IF(Lookup('Regroupement','Général',Général,'Comptes')='60400000',Crédit-Débit,0) AS r60400000,
    IF(Lookup('Regroupement','Général',Général,'Comptes')='60410000',Crédit-Débit,0) AS r60410000,
    IF(Lookup('Regroupement','Général',Général,'Comptes')='658',Débit-Crédit,0) AS r658,
    IF(Lookup('Regroupement','Général',Général,'Comptes')='661',Débit-Crédit,0) AS r661,
    IF(Lookup('Regroupement','Général',Général,'Comptes')='665',Débit-Crédit,0) AS r665,
    IF(Lookup('Regroupement','Général',Général,'Comptes')='666',Débit-Crédit,0) AS r666
     
     
     
    FROM             
    [..\ECRITURES COMPTABLES\ECRITURES COMPTABLES RP 01 062013NVX.xlsx]
    (ooxml, embedded labels, table is CONVERT);
     
     
    Directory;
    Comptes : 
    LOAD Général, 
         [descriptif compte], 
         F3, 
         Regroupement
    FROM
    [..\Docs QV COMPTA\detail compte davinci.xlsx]
    (ooxml, embedded labels, table is davinci);
     
     
    Directory;
    LOAD Jal, 
         Date,
          year (Date) as année,
         month (Date) as mois, 
         QuarterName (Date) as trimeste,  
         N°, 
         Général, 
         Auxiliaire, 
         Référence, 
         Libellé, 
         Débit, 
         Crédit, 
         [Date minimale de lettrage], 
         Formule, 
         [Code TVA],
              IF(Lookup('Regroupement','Général',Général,'Comptes')='d601',Débit-Crédit,0) AS d601,
              IF(Lookup('Regroupement','Général',Général,'Comptes')='d602',Débit-Crédit,0) AS d602,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='d604',Débit-Crédit,0) AS d604,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='d606',Débit-Crédit,0) AS d606,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='d607',Débit-Crédit,0) AS d607,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='d611',Débit-Crédit,0) AS d611,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='d613',Débit-Crédit,0) AS d613,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='d615',Débit-Crédit,0) AS d615,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='d616',Débit-Crédit,0) AS d616,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='d618',Débit-Crédit,0) AS d618,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='d6222',Débit-Crédit,0) AS d622,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='d623',Débit-Crédit,0) AS d623,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='d624',Débit-Crédit,0) AS d624,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='d625',Débit-Crédit,0) AS d625,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='d626',Débit-Crédit,0) AS d626,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='d627',Débit-Crédit,0) AS d627,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='d628',Débit-Crédit,0) AS d628,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='d631',Débit-Crédit,0) AS d631,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='d633',Débit-Crédit,0) AS d633,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='d635',Débit-Crédit,0) AS d635,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='d637',Débit-Crédit,0) AS d637,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='d641',Débit-Crédit,0) AS d641,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='d645',Débit-Crédit,0) AS d645,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='d648',Débit-Crédit,0) AS d648,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='d701',Crédit-Débit,0) AS d701,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='d707',Crédit-Débit,0) AS d707,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='d708',Crédit-Débit,0) AS d708,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='d709',Crédit-Débit,0) AS d709,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='d758',Crédit-Débit,0) AS d758,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='d766',Crédit-Débit,0) AS d766,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='d775',Crédit-Débit,0) AS d775,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='d401',Débit-Crédit,0) AS d401,
                 IF(Lookup('Regroupement','Général',Général,'Comptes')='658',Débit-Crédit,0) AS d658,
    IF(Lookup('Regroupement','Général',Général,'Comptes')='d661',Débit-Crédit,0) AS d661,
    IF(Lookup('Regroupement','Général',Général,'Comptes')='d665',Débit-Crédit,0) AS d665,
    IF(Lookup('Regroupement','Général',Général,'Comptes')='d666',Débit-Crédit,0) AS d666
    FROM
    [..\Docs QV COMPTA\ECRITURES DA VINCI.xlsx]
    (ooxml, embedded labels, table is CONVERT);

  9. #9
    Modérateur

    Inscrit en
    Octobre 2006
    Messages
    1 649
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 649
    Points : 2 529
    Points
    2 529
    Billets dans le blog
    6
    Par défaut
    Citation Envoyé par dbaxime Voir le message
    ou dois je introduire le code dans mon script,

    sans que cela modifie ce que j'ai déjà fait ?
    Mon script est une autre façon de traiter vos données.
    Ce n'est pas quelque chose "en plus", c'est quelque chose "à la place".

    Mais peut-être (surement) que si vous avez choisi votre façon, c'est pour des raisons qui me sont inconnues (contraintes fonctionnelles, ...).

  10. #10
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2013
    Messages : 51
    Points : 22
    Points
    22
    Par défaut
    Je viens de tout refaire avec ton script c'est que du bonheur en faite. La c'est plus qu'un simple merci que je te doit.

    Dit moi dans le load du script comment puis je exclure pour la societé R tel et tel numéro de compte et pareil pour la societé D je doit exclure des numéro de compte.

  11. #11
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2013
    Messages : 51
    Points : 22
    Points
    22
    Par défaut
    autre petite demande, la avec le script je suis perdu.

    J'ai par exemple tous les comptes qui commence par 6 qui doivent être toujours débit - crédit

    et tous les comptes qui commence par 7 crédit - débit. Je n'utilise que le resultat de ça uniquement.

    Comment je peut les introduire dans le script du début ?

  12. #12
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Septembre 2008
    Messages
    940
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 940
    Points : 1 409
    Points
    1 409
    Par défaut
    Dit moi dans le load du script comment puis je exclure pour la societé R tel et tel numéro de compte et pareil pour la societé D je doit exclure des numéro de compte.
    Dans le load depuis ton fichier Excel, tu as déjà un where qui restreint le chargement aux dates non nulles. Il suffit d'ajouter la condition sur le compte général. Exemple (d'après le script de funkybob)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    LOAD 
    	rowno() AS ID,
    	Date, 
    	mid(Général, 2) AS Compte, // ON enlève le "d" pour être homogène entre tous les clients.
    	Libellé, 
    	Débit, 
    	Crédit,
    	'D' AS Entreprise	// ON précise que c'est l'entreprise "D".
    FROM ECRITURES D.xlsx (ooxml, embedded labels, TABLE IS CONVERT)
    WHERE isnull(Date) = false() and Général<>'701009';
    Cet exemple exclut le compte 701009 en dur. Si tu as plus de comptes, le mieux est alors de rajouter une cellule Exclus dans ton fichier excel des comptes, qui aurait la valeur O ou N.
    Dans ton load, il suffirait alors d'utiliser lookup :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    LOAD 
    	rowno() AS ID,
    	Date, 
    	mid(Général, 2) AS Compte, // ON enlève le "d" pour être homogène entre tous les clients.
    	Libellé, 
    	Débit, 
    	Crédit,
    	'D' AS Entreprise	// ON précise que c'est l'entreprise "D".
    FROM
    [ECRITURES D.xlsx]
    (ooxml, embedded labels, TABLE IS CONVERT)
    WHERE isnull(Date) = false() and Lookup('Exclus','Général',Général,'Comptes')<>'N';

  13. #13
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Septembre 2008
    Messages
    940
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 940
    Points : 1 409
    Points
    1 409
    Par défaut
    J'ai par exemple tous les comptes qui commence par 6 qui doivent être toujours débit - crédit et tous les comptes qui commence par 7 crédit - débit. Je n'utilise que le resultat de ça uniquement.
    Comment je peut les introduire dans le script du début ?
    On peut dans le load définir une zone montant qui sera le débit-crédit ou le crédit-débit selon le compte général. Je me méfierais quand même : QV additionnera gentiment sans savoir si c'est un compte débiteur ou un compte créditeur.
    Exemple :
    601100 : Débit de 800
    701100 : Crédit de 1000
    Pour QV sum(Crédit-Débit) = 200 mais sum(montant) = 1800
    Sinon, il suffit de créer une colonne Sens dans le fichier excel des comptes.
    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
    Comptes :
    LOAD Général,
    [descriptif compte],
    F3,
    Regroupement,
    [descriptif classe],
    Exclus,
    Sens
    FROM
    [details compte test.xlsx]
    (ooxml, embedded labels, table is compte);
     
    Comptes:
    LOAD 
    	rowno() AS ID,
    	Date, 
    	mid(Général, 2) AS Compte, // ON enlève le "d" pour être homogène entre tous les clients.
    	Libellé, 
    	Débit, 
    	Crédit,
    	'D' AS Entreprise	// ON précise que c'est l'entreprise "D".
            if(Lookup('Sens','Général',Général,'Comptes')='D',Débit-Crédit,Crédit-Débit) as Montant
    FROM ECRITURES D.xlsx (ooxml, embedded labels, TABLE IS CONVERT)
    WHERE isnull(Date) = false() AND Général<>'701009';

  14. #14
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2013
    Messages : 51
    Points : 22
    Points
    22
    Par défaut
    Di moi comment je peut faire dans ce IF, plusieurs condition comme

    Dans les comptes compris entre 400 et 456 je doit faire débit-crédit
    Entre 457 et 469 crédit -débit de 470 à 700 débit - crédit et plus de 701 crédit -débit

    if(( [Groupe compte]>= 701), sum(Crédit-Débit), sum(Débit-Crédit) )
    Cordialement

  15. #15
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Septembre 2008
    Messages
    940
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 940
    Points : 1 409
    Points
    1 409
    Par défaut
    Je ferais plutôt une colonne sens dans la table des comptes, comme je l'explique dans mon post précédent. Sinon, plus il y aura de conditions, plus ta formule sera complexe !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if( ([Groupe compte]>= 457 and [Groupe compte]< 470) or ([Groupe compte]>= 700), sum(Crédit-Débit), sum(Débit-Crédit) )
    Mais attention : Si ce genre de formule s'applique à tous les comptes, la somme sera l'addition de débits et de crédits, donc fausse !
    Exemple : 601 = 800, 701 = 1000 : Somme = 1800 au lieu de 200

  16. #16
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2013
    Messages : 51
    Points : 22
    Points
    22
    Par défaut
    alors juste pour précision.

    j'ai mis ta formule dans mon script avec le Where, sa ne m'exclus pas dutout le compte concerné.

    WHERE isnull(Date) = false() AND Général<>'70710000';
    Donc comme tu me disait de faire une table a part, comment dois je construire cette table quel label dois je mettre je comprend pas trop le fonctionnement de cette table.

    Aprés en ce qui concerne les if, je vais les utiliser une fois la table faite. Mais j'ai réellement besoins que la soustraction ce fasse sur le compte lui même et non pas comme tu me disait sur l'ensemble des compte compris entre.

    Pense tu qu'il est possible de faire une table a part pour indiquer que pour tel tel et tel numéro de compte on doit faire tel ou tel formule.

    Je pensé à ceci :

    N° de compte A exclure Formule
    601000 N D-C
    601581 N C-D
    105895 Y C-D

    ETC .... quitte à ce que je liste tous les numéro de compte dans cette table.
    Ce qui veux dire que je devrait faire deux table car les comptes exclus ne sont pas identique entre l'entreprise R et l'entreprise D. Mais les formules de calcul sur chaque numéro de compte reste quand à elle 100% identique.

    De ce fait cela m'évitera de faire des IF a plus a en finir par la suite dans mes expression.

    La cela devient un script complet et très précis, qui au final va regler tout mes probléme par la suite.

    Je pense que cela doit être possible, mais je bloque totalement sur les conditions des lookup dont tu me parlé.


    Je pense une fois ceci de fait tous mes problèmes seront reglé.

    Des plus cordialement,
    Pierre

  17. #17
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Septembre 2008
    Messages
    940
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 940
    Points : 1 409
    Points
    1 409
    Par défaut
    j'ai mis ta formule dans mon script avec le Where, sa ne m'exclus pas dutout le compte concerné.
    Tu as exclu la chaîne de caractère "7010000" et non le nombre 7010000.
    Essaie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE isnull(Date) = false() AND Général<>70710000;
    C'est à dire sans les quôtes

    Mais j'ai réellement besoins que la soustraction ce fasse sur le compte lui même et non pas comme tu me disait sur l'ensemble des compte compris entre.
    Je crois que tu n'as pas bien compris. Dans mon exemple, je récupérais chaque ligne détail avec une zone montant dont le montant est débit-crédit ou crédit-débit selon la valeur du compte général. Donc chaque ligne possède sa propre zone montant. C'est dans les graphiques en utilisant sum(montant) que l'addition se fera ...
    Donc comme tu me disait de faire une table a part, comment dois je construire cette table quel label dois je mettre je comprend pas trop le fonctionnement de cette table.
    Il ne faut pas forcément créer une table à part. On peut utiliser la feuille excel des comptes.
    Il suffit de récupérer pour chaque compte son libellé, s'il doit être exclu et son sens.
    Supposons que le fichier excel aie ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Général    Libellé               Exclure   Sens
    701100     Ventes xxx             N          C
    601900     Vtes annulées          O          D
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Lookup('Exclure','Général',Général,'Comptes')
    Va rechercher l'enregistrement dont le champ Général (entre quotes pour indiquer qu'il s'agit du nom) aura la valeur Général (sans quotes pour indiquer qu'il s'agit de sa valeur dans la table 'comptes' et retournera le contenu du champ Exclure (entre quotes pour indiquer qu'il s'agit du nom du champ).
    On pourra alors utiliser ce lookup dans le where pour sélectionner ou non les lignes du compte.
    De même on pourra utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Lookup('Sens','Général',Général,'Comptes')
    pour récupérer le sens du compte.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sum(If(Lookup('Sens','Général',Général,'Comptes')='D',Débit-Crédit,Crédit-Débit)
    signifiera : Si le sens du compte est 'D', addition des débits-crédits, sinon addition des crédits-débits.
    J'espère que cela devient plus clair

  18. #18
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2013
    Messages : 51
    Points : 22
    Points
    22
    Par défaut
    La je m'embrouille, toutes tes explication son ultra claire mais je pattoge total là.

    Voici ce que j'ai mis dans mon script

    SET DayNames='lun.;mar.;mer.;jeu.;ven.;sam.;dim.';

    Directory;
    Comptes:
    LOAD Général,
    Libellé,
    Exclure,
    Sens,
    E
    FROM
    [Exclu RP.xlsx]
    (ooxml, embedded labels, table is compte);



    // ON charge les données de "D".
    Faits:
    LOAD
    rowno() AS ID,
    Date,
    mid(Général, 2) AS Compte, // ON enlève le "d" pour être homogène entre tous les clients.
    Libellé,
    Débit,
    Crédit,
    'Davinci' AS Entreprise, // ON précise que c'est l'entreprise "D".
    Lookup('Exclure','Général',Général,'Comptes'),
    Lookup('Sens','Général',Général,'Comptes')
    FROM
    [C:\Users\savannah\Desktop\QVCOMPTA\ECRITURES DA VINCI.xlsx]
    (ooxml, embedded labels, table is CONVERT)
    WHERE isnull(Date) = false();


    ;

    // ON charge les données de "R".
    CONCATENATE (Faits)
    LOAD
    rowno() AS ID,
    Date,
    Général AS Compte,
    Libellé,
    Débit,
    Crédit,
    'Reptiles_Planet' AS Entreprise // ON précise que c'est l'entreprise "R".
    FROM
    [Nouveau dossier\ECRITURES COMPTABLES RP 01 062013NVX.xlsx]
    (ooxml, embedded labels, table is CONVERT)
    WHERE isnull(Date) = false()
    ;

    // Pour chaque ligne, ON rajoute :
    // - le groupe de compte : les 3 premiers caractères
    // - des précisions sur la date
    LEFT JOIN (Faits)
    LOAD
    ID,
    LEFT(Compte, 3) AS [Groupe compte],
    year(Date) AS Année,
    month(Date) AS Mois,
    day(Date) AS Jour
    RESIDENT Faits;
    J'ai placé tes LOOKUP mais rien ne change malheureusement ais je fait qqch de mal ?

    Si tu peut m'aider sur l'écriture du script car la blocage net,

  19. #19
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Septembre 2008
    Messages
    940
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 940
    Points : 1 409
    Points
    1 409
    Par défaut
    1) Utilise contrôle-T pour afficher tes tables, clic droit sur la table Comptes et demande un aperçu. Les champs Exclure et Sens sont-ils renseignés. Sinon vérifie ton fichier Excel.
    " Embedded labels table is comptes " signifie que QV récupère le nom des champs dans la feuille comptes.

    2) Dans la table des faits, tu charge tes lookup sans donner de nom.
    Si tu veux les charger dans la table, précise un nom :
    Lookup('Exclure','Général',Général,'Comptes') as EcrExclue,
    Lookup('Sens','Général',Général,'Comptes') as EcrSens
    Normalement tu n'as pas besoin de charger les lookup puisque QV assure la jonction avec le champ Général. Il suffit normalement d'utiliser Exclure et Sens, directement.

    3) Si EcrExclue est renseignée il suffira d'utiliser lookup dans le where de ta table de faits :
    WHERE isnull(Date) = false() and Lookup('Exclure','Général',Général,'Comptes')<>'O';

    Dis-nous déjà ce que donne le point 1

  20. #20
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2013
    Messages : 51
    Points : 22
    Points
    22
    Par défaut
    Alors pour répondre au point 1
    Les informations sens et exclure sont bien saisie et visibile dans QV, QV prend bien en compte la table des comptes.

    Parcontre je me disais, on a concatenné les tables entre elles, en supprimant les identification des entreprises dans les numéros de comptes (la petite lettre soit d soit r).

    Je me rend compte qu'avec les if qu'on a fait sa va me poser un soucis, car dans la societé R je doit ne pas prendre en compte certain numéro (ce qu'on cherche a faire mais pour les deux entreprise vu qu'on a tout harmonisé). et dans la société D ces certains autre numéro.
    ex : entreprise R ne pas prendre en compte le numéro 60721200 mais le prendre en compte dans l'entreprise D.

    sinon voici le script que j'ai réécris, sa change rien.

    SET DayNames='lun.;mar.;mer.;jeu.;ven.;sam.;dim.';

    Directory;
    LOAD Général,
    Libellé,
    Exclure,
    Sens,
    FROM
    [Exclu RP.xlsx]
    (ooxml, embedded labels, table is compte);



    // ON charge les données de "D".
    Faits:
    LOAD
    rowno() AS ID,
    Date,
    mid(Général, 2) AS Compte, // ON enlève le "d" pour être homogène entre tous les clients.
    Libellé,
    Débit,
    Crédit,
    'Davinci' AS Entreprise, // ON précise que c'est l'entreprise "D".
    Lookup('Exclure','Général',Général,'Comptes') as EcrExclue,
    Lookup('Sens','Général',Général,'Comptes') as EcrSens
    FROM
    [C:\Users\savannah\Desktop\QVCOMPTA\ECRITURES DA VINCI.xlsx]
    (ooxml, embedded labels, table is CONVERT)
    //insertion du Where avec lookup exclusion
    WHERE isnull(Date) = false() and Lookup('Exclure','Général',Général,'Comptes')<>'O';

    ;

    // ON charge les données de "R".
    CONCATENATE (Faits)
    LOAD
    rowno() AS ID,
    Date,
    Général AS Compte,
    Libellé,
    Débit,
    Crédit,
    'Reptiles_Planet' AS Entreprise // ON précise que c'est l'entreprise "R".
    FROM
    [Nouveau dossier\ECRITURES COMPTABLES RP 01 062013NVX.xlsx]
    (ooxml, embedded labels, table is CONVERT)
    WHERE isnull(Date) = false()
    ;

    // Pour chaque ligne, ON rajoute :
    // - le groupe de compte : les 3 premiers caractères
    // - des précisions sur la date
    LEFT JOIN (Faits)
    LOAD
    ID,
    LEFT(Compte, 3) AS [Groupe compte],
    year(Date) AS Année,
    month(Date) AS Mois,
    day(Date) AS Jour
    RESIDENT Faits;

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Double somme (SUM) entre deux tables ?
    Par kibodio dans le forum Langage SQL
    Réponses: 5
    Dernier message: 16/02/2005, 22h26
  2. PROBLEME DE JOINTURE ENTRE DEUX TABLE
    Par DarkMax dans le forum Langage SQL
    Réponses: 13
    Dernier message: 13/01/2005, 15h11
  3. Transfert entre deux tables
    Par nyarla01 dans le forum Langage SQL
    Réponses: 5
    Dernier message: 18/10/2004, 14h36
  4. [VB.NET] ComboBox lien entre deux tables
    Par VDB1 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 15/07/2004, 12h15
  5. Jointure entre deux tables et résultat
    Par Asdorve dans le forum Langage SQL
    Réponses: 2
    Dernier message: 02/06/2004, 14h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo