4 Replies Latest reply: Aug 7, 2017 9:41 AM by marion dutti RSS

    Chargement avec date identique

    marion dutti

      Bonjour,

       

      Je suis débutante sur qlik, et j'ai mis en place une petite recherche des températures en temps réel, pour différentes villes via le site www.infoclimat.fr.

       

      Pour lyon:

       

       

      lyon_bron: LOAD Heure as time,      Temps,      [relevée entre 1m50 et 2m du sol">Température] as temperature_lyon,      [Température ressentieElle correspond au windchill (indice de refroidissement éolien) lorsque la température est inférieure à 10°C, et à l'humidex (indice de chaleur) lorsque la température est supérieure à 20°C. Ces données n'ont pas d'unité et ne correspondent pas à une température observée. Cette colonne affiche aussi, si disponible, les valeurs d'indice UV et de radiations solaires.">Biométéo],      Pluie,      Humidité,      [Pt. de rosée],      [Vent moyen (raf.)],      Pression,      Visibilité FROM [http://www.infoclimat.fr/observations-meteo/temps-reel/lyon-bron/07480.html?metar] (html, codepage is 1252, embedded labels, table is @1);

       

       

      Pour Marseille:

       

      marseille: LOAD Heure as time, Temps,      [relevée entre 1m50 et 2m du sol">Température] as temperature_marseille,      [Température ressentieElle correspond au windchill (indice de refroidissement éolien) lorsque la température est inférieure à 10°C, et à l'humidex (indice de chaleur) lorsque la température est supérieure à 20°C. Ces données n'ont pas d'unité et ne correspondent pas à une température observée. Cette colonne affiche aussi, si disponible, les valeurs d'indice UV et de radiations solaires.">Biométéo],      Pluie,      Humidité,      [Pt. de rosée],      [Vent moyen (raf.)],      Pression,      Visibilité FROM [http://www.infoclimat.fr/observations-meteo/temps-reel/marseille-marignane-marseille-provence/07650.html?metar] (html, codepage is 1252, embedded labels, table is @1);

       

      Mais le résultat est assez moche vu que j'ai deux lignes pour l'heure.

       

      Capture double ligne temperature.PNG

       

      Est-ce que je dois concaténer les données?

       

      Merci de vos conseils

        • Re: Chargement avec date identique
          Kevin Chevrier

          Il faut que tu fasses un left join entre tes 2 tables.

           

          Kevin

            • Re: Chargement avec date identique
              Sébastien Fatoux

              Le "left join" ne va rien changé, tes tables sont liées par tous les champs, sauf la température que tu as renommé en fonction de la ville. Résultat tu as une table synthétique que les bonnes pratiques conseil de supprimer.

               

              Dans ton cas, c'est très simple. je te conseille de garder les champs de tes 2 requêtes avec le même nom, tu auras ainsi une concaténation automatique de tes 2 tables. Il faut simplement ajouté un champs Ville dans chacune de tes requêtes avec en dur le nom de la ville.

               

              Ca donnerait ça:

               

              Météo:
              LOAD
              'Lyon'
              as Ville,
              Heure as time
              Temps
              [relevée entre 1m50 et 2m du sol">Température] as temperature
              [Température ressentieElle correspond au windchill (indice de refroidissement éolien) lorsque la température est inférieure à 10°C, et à l'humidex (indice de chaleur) lorsque la température est supérieure à 20°C. Ces données n'ont pas d'unité et ne correspondent pas à une température observée. Cette colonne affiche aussi, si disponible, les valeurs d'indice UV et de radiations solaires.">Biométéo]
              Pluie
              Humidité
              [Pt. de rosée]
              [Vent moyen (raf.)]
              Pression
              Visibilité
              FROM [http://www.infoclimat.fr/observations-meteo/temps-reel/lyon-bron/07480.html?metar] (html, codepage is 1252, embedded labels, table is @1);

               
              LOAD
              'Marseille'
              as Ville,
              Heure as time,
              Temps
              [relevée entre 1m50 et 2m du sol">Température] as temperature
              [Température ressentieElle correspond au windchill (indice de refroidissement éolien) lorsque la température est inférieure à 10°C, et à l'humidex (indice de chaleur) lorsque la température est supérieure à 20°C. Ces données n'ont pas d'unité et ne correspondent pas à une température observée. Cette colonne affiche aussi, si disponible, les valeurs d'indice UV et de radiations solaires.">Biométéo]
              Pluie
              Humidité
              [Pt. de rosée]
              [Vent moyen (raf.)]
              Pression
              Visibilité
              FROM [http://www.infoclimat.fr/observations-meteo/temps-reel/marseille-marignane-marseille-provence/07650.html?metar] (html, codepage is 1252, embedded labels, table is @1);

               

               

              Essaye d'éviter également ce nom de champs énorme, renomme le ou commente le si tu n'en a pas besoin.

               

              Tu peux ensuite créer un tableau croisé dynamique avec "time" et "Ville"

              Community_1319670.png

               

              Comme tu peux le voir dans le titre, j'ai utiliser MaxString(temperature) comme expression, car ta température est une chaine de caractère et pas une valeur numérique. C'est domage, car si c'était une valeur numérique tu pourrais calculer facilement la valeur Minimum Min(), Maximum Max(), Moyenne Avg() de la journée, de la semaine, du mois, ...

               

              Si tu ne veux que la partie numérique, tu peux remplacer dans tes requêtes :

                [relevée entre 1m50 et 2m du sol">Température] as temperature

              par :

                SubField([relevée entre 1m50 et 2m du sol">Température],' ',1) as temperature,

               

              Et pour finir, il faudrait que ton champs "time" soit utilisé pour créé un champs dateTime et/ou un champs dateTimeUtc en fonction de ton besoin et que ces champs soit lié à une table calendrier qui te permettra d'avoir toutes les granularité temporelle que tu désires.

            • Re: Chargement avec date identique
              marion dutti

              Merci à vous pour les conseils,

               

               

              ça fonctionne nickel.

               

              Très bonne remarque sur le champs "time". J'ai trouvé ce sujet, Split date and time from a time field.


              Mais si jamais vous en avez une explication en français !


              Bonne journée.