15 Replies Latest reply: Mar 21, 2014 12:44 PM by Simon Brulotte RSS

    Converting numbers to text, 1 = one ...

    Simon Brulotte

      Hi,

      so I would like to show the number of periods as numbers spelled out for proper presentation. To top it off, in french!

       

       

      I loaded inline this table as a data island: 

      Chiffres:

      Load * inline [
      Chiffremois, Nombremois
      1, un
      2, deux
      3, trois
      4, quatre
      5, cinq
      6, six
      7, sept
      8, huit
      9, neuf
      10, dix

      11, onze
      12, douze
      ]
      ;

       

      So you know, that's pretty french, but you can figure out what the english version is...

       

      I figured I'd do a plain set analysis like this get back my "Nombremois"  

      but it's not working out.

      =Only({<Chiffremois=[Période financière]>} Nombremois)

       

      BTW,  [Période financière] by itself gives me a 9 in a text box. No alternative states are involved.

      Yet I still can't get it to return 'neuf' ...

       

       

      Anybody want to contribute/lend a hand?

        • Re: Converting numbers to text, 1 = one ...
          Manish Kachhia

          =Only({<Chiffremois=['Période financière']>} Nombremois)

          or

          =Only({<Chiffremois=["Période financière"]>} Nombremois)

          or

          if Période financière is variable

          =Only({<Chiffremois=['$(=Période financière)']>} Nombremois)

          • Re: Converting numbers to text, 1 = one ...
            NAGA CHIRANJEEVI THOTA

            =Only({<Chiffremois=[Chiffremois]>} Nombremois)

            Converting numbers to Words.jpg

            • Re: Converting numbers to text, 1 = one ...
              Prashant Sangle

              Hi,

               

              You can do this at script level

              rename your field

              [Période financière] as Chiffremois

               

              so that your table link with inline table

              • Re: Converting numbers to text, 1 = one ...
                Massimo Grossi

                 

                why not a dual for your [Période financière]?

                 

                from online help

                 

                dual( s , x )

                Association forcée d'une représentation de chaîne arbitraire s à une représentation numérique donnée x. Dans QlikView, lorsque plusieurs éléments de données lus dans un champ ont différentes représentations de chaîne mais la même représentation numérique valide, ils partagent tous la première représentation de chaîne rencontrée. Cette fonction peut s'utiliser aussi bien dans les scripts que dans les expressions de graphique.

                Dans les scripts, la fonction dual s'emploie généralement relativement tôt dans le script, avant que d'autres données ne soient lues dans le champ concerné, afin de créer cette première représentation de chaîne qui sera affichée dans les listes de sélection, etc.

                Remarque :
                Si une valeur dual est trop grande pour tenir dans un objet de type champ, elle est représentée par des signes ## au lieu d'être tronquée et représentée par des points de suspension (...) comme une chaîne.

                Exemple (dans un script) :

                Load dual ( string,numrep ) as DayOfWeek inline

                [ string,numrep

                Monday,0

                Tuesday,1

                Wednesday,2

                Thursday,3

                Friday,4

                Saturday,5

                Sunday,6 ];

                load Date, weekday(Date) as DayOfWeek from afile.csv;

                Cet exemple de script génère un champ DayOfWeek avec les jours de la semaine écrits en toutes lettres. QlikView considérera toujours ce champ comme un champ numérique.

                • Re: Converting numbers to text, 1 = one ...
                  Stephen Redmond

                  Sorry, arriving late to this party.  I have noticed that your syntax is incorrect for the Set:

                   

                  =Only({<Chiffremois={$(=[Période financière])}>} Nombremois)

                   

                  Should give you the text that matches if the Période financière is a variable.  When I test this and set it to 9, the text I get is "neuf".

                   

                  =Only({<Chiffremois={$(=[Période financière]-1)}>} Nombremois)

                   

                  Will give "huit".

                   

                  Of course, what happens when the variable is set to 1!  A simple if would work:

                   

                  =Only({<Chiffremois={$(=If([Période financière]=1,12,[Période financière]-1))}>} Nombremois)

                   

                   

                  Regards,

                   

                   

                  Stephen