Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Chargement avec date identique

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, 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

1 Solution

Accepted Solutions
kevinchevrier
Partner - Creator III
Partner - Creator III

Le left join fonctionne aussi si elle renomme ces champs ou qu'elle drop fields.

Ceci dit ton script est mieux car il n'y a pas de perte.

View solution in original post

4 Replies
kevinchevrier
Partner - Creator III
Partner - Creator III

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

Kevin

sfatoux72
Partner - Specialist
Partner - Specialist

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, 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.

kevinchevrier
Partner - Creator III
Partner - Creator III

Le left join fonctionne aussi si elle renomme ces champs ou qu'elle drop fields.

Ceci dit ton script est mieux car il n'y a pas de perte.

Not applicable
Author

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.