Nouvelle carte et mesure SPARK

Étiquetté : 

  • Nouvelle carte et mesure SPARK

    Posté par StevannS sur 31 juillet 2023 à 11h52

    Bonjour, j’utilise la nouvelle carte (juill 23) dans laquelle je place une mesure

    Spark SUM = sum(GMAI[Temps réel])

    et je lui affecte une image URL sur la base de la mesure suivante :

    SPARK TEST = n// Line and area colours - use %23 instead of # for Firefox compatibility (Measure Derived from Eldersveld Modified by Kolosko)nn// "Date" field used in this example along the X axisnVAR XMinDate = MIN(GMAI[Année Planif])nVAR XMaxDate = MAX(GMAI[Année Planif])nn// Overall min and overall max measure values when evaluated for each datenVAR YMinValue = MINX(Values(GMAI[Année Planif]),CALCULATE([Spark SUM]))nVAR YMaxValue = MAXX(Values(GMAI[Année Planif]),CALCULATE([Spark SUM]))nn// Build table of X & Y coordinates and fit to 150 x 50 viewboxnVAR SparklineTable = ADDCOLUMNS(n    SUMMARIZE(GMAI,GMAI[Année Planif]),n        "X",INT(150 * DIVIDE(GMAI[Année Planif] - XMinDate, XMaxDate - XMinDate)),n        "Y",INT(50 * DIVIDE([Spark SUM] - YMinValue,YMaxValue - YMinValue)))nn// Concatenate X & Y coordinates to build the sparkline (?? inversion du graphe en ordonnée ??)nVAR Lines = CONCATENATEX(SparklineTable,[X] & "," & 50-[Y]," ", GMAI[Année Planif])nn// Add to SVG, and verify Data Category is set to Image URL for this measurenVAR SVGImageURL =n    "data:image/svg+xml;utf8," & n    "<svg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' viewBox='0 0 150 50'>" & n     "<polyline fill='navy' fill-opacity='0.3' stroke='navy' n      stroke-width='3' points=' 0 50 " & Lines & n      " 150 150 Z '/></svg>"nRETURN SVGImageURL

    récupérée au tuto suivant :

    Cependant, rien n’apparait dans la carte. J’ai pourtant bien passé la mesure en catégorie image URL.

    Je vous remercie d’avance de vos lumières…

    PostID=JZlX8tPYzDGlNLc

    StevannS a répondu Il y a 2 mois, 3 semaines 1 Membre · 5 Réponses
  • 5 Réponses
  • R3dKap

    Membre
    1 août 2023 à 10h25

    Jérémy Laplaine t’es en mesure d’aider notre ami StevannS ? Merci d’avance… 😉

    CommentID=pZGN9Wvy1h3z46w, PostID=JZlX8tPYzDGlNLc

  • ypicot

    Membre
    3 août 2023 à 20h24

    Bonjour

    Difficile de répondre en regardant juste la formule.

    Piste à explorer : regarder la valeur des variables intermédiaires.

    Par exemple, remplacer le
    RETURN SVGImageURL
    par
    RETURN Lines
    et regarder le résultat dans une carte. Tu devrais avoir la liste des valeurs. X, Y et années.

    Si tu n’as rien (ou pas cette liste des valeurs), il faut remonter d’un cran et regarder SparklineTable (par contre, cette variable est à vérifier dans une table et non dans une carte), et remonter ainsi jusqu’à la variable (et donc la ligne de code) fautive.

    CommentID=1Ip6TqgdgnYIT8B, PostID=JZlX8tPYzDGlNLc

  • StevannS

    Membre
    4 août 2023 à 13h49

    Bonjour et merci Ypicot. J’ai investigué et le résultat de la mesure SVGImageURL est le suivant :

    “data:image/svg+xml;utf8,

    <svg xmlns=’http://www.w3.org/2000/svg‘ x=’0px’ y=’0px’ viewBox=’0 0 150 50′>

    <polyline fill=’navy’ fill-opacity=’0.3′ stroke=’navy’stroke-width=’3′ points=’ 0,50 0,50 15,27 30,30 45,29 60,19 75,20 90,14 105,0 120,13 135,6 150,34 150,150 Z ‘/>

    </svg>”

    Je vois apparaître l’icone d’image dans la carte… mais pas de graphe. Sachant que mes valeurs sont encadrées par les bornes 0,50 et 150,150 Z ce qui m’échappe. Autant que de soustraire Y à 50 dans la variable VAR Lines. Pour moi, le souci vient de la traduction SVG. Tout idée me serait la bienvenue… Je ne comprends vraiment pas le dysfonctionnement / code du lien suivant : https://kerrykolosko.com/portfolio/sparklines/

    CommentID=kRRTBXYdmrRsytX, PostID=JZlX8tPYzDGlNLc

  • ypicot

    Membre
    7 août 2023 à 7h45

    Alors là, je ne vois pas trop.

    J’ai juste créé une mesure reprenant le résultat de la variable Lines :

    Spark =nVAR Lines = "15,27 30,30 45,29 60,19 75,20 90,14 105,0 120,13 135,6 150,34"nVAR SVGImageURL =n    "data:image/svg+xml;utf8," &n    "<svg xmlns='http://www.w3.org/2000/svg' x='20px' y='100px' viewBox='0 0 150 50'>" &n    "<polyline fill='navy' fill-opacity='0.3' stroke='navy' stroke-width='3' points='0,50 " & Lines & " 150,50'/>" &n    "</svg>"nRETURN SVGImageURL

    Je n’ai pas trouvé à quoi correspond le paramètre Z à la fin de l’attribut point, mais sa présence ou son absence ne semble pas poser problème.

    Le résultat passe sans problème.

    En plus du type d’image et de l’url de l’image (définie à Spark), la seule valeur que j’ai modifiée (par rapport aux valeurs par défaut) est la taille.

    Peux-tu créer une nouvelle carte en modifiant le moins de paramètres possibles ?

    CommentID=7G0iG6OPIF7V4Cp, PostID=JZlX8tPYzDGlNLc

    • StevannS

      Membre
      7 août 2023 à 10h41

      Merci Ypicot ! j’ai modifié du coup le param Taille et bingo… grrrr… ca marche… Il ne faut donc pas rester en AUTO. Sujet clos donc. Merci pour ton aide !

      SubCommentID=dF1UJu7Kf3zTSze, CommentID=7G0iG6OPIF7V4Cp, PostID=JZlX8tPYzDGlNLc

Connectez-vous pour répondre.