5 Replies Latest reply on Nov 24, 2009 10:42 AM by raybaudi

    Operator "Contains"

    LM

      Title

      Operator "Contains"

      Post

      Hi, I'm quite new to FM Pro, I'm findind a problem in a field with "calculate".

      I need this field search for a value, (ex. "restaurant") inside another field.

      (I use FM Pro in italian, I don't know traslation of "Casi")

       

      Casi ( nome en =  "restaurant"; "restaurant.png"; "noresult" )

       

      In this way, FM can find only the strinbg "restaurant" , but not the "restaurant from peppino".

      I'd like to have an operator like "contains", not only "=".

       

      I tried to search on documentation, but I cannot find it, could you please help me ?

      Thanks, Fabrizio

        • 1. Re: Operator "Contains"
          raybaudi
            

          Ciao Fabrizio

           

          Case( PatternCount ( nome en ; "restaurant" ) ; "restaurant.png" )

           

           

          Potrai copiare questo calcolo ed inserirlo così com'è ( FM capisce benissimo anche l'inglese ;) )

          • 2. Re: Operator "Contains"
            LM
              

            Grazie Daniele, e se avessi più "casi" da aggiungere ? ristorante oppure bar, o...

            Ripeto tutto in una nuova riga oppure ?

             

            Grazie,

            Fabrizio

            • 3. Re: Operator "Contains"
              raybaudi
                

              E' probabile che tu stia sbagliando approccio...

               

              Considera che "bar" è contenuto anche in "barbiere", per esempio.

               

              Ho capito che il tuo problema riguarda le immagini ma conviene che lo spieghi meglio !

              • 4. Re: Operator "Contains"
                LM
                  

                Ok, allora è così. Nel campo che mi interessa controllare ho nomi di luoghi, Ristorante Peppino, Super Arena, Stadio Meazza....

                 

                Io dovrò trasferirli in un altro sistema (una applicazione per iPhone che ho realizzato e si chiama LollyMap), dove per ognuno c'è una icona diversa che il navigatore utilizzerà.

                Ora, se riesco, dato che sono decine di migliaia, a farmi aiutare da FM a trovare almeno le icone per i nomi più comuni, tanto meglio.

                Quindi la stringa che mi hai consigliato va bene per UN caso, ma dovrei aggiungerne molti altri, per esempio tutti i "ristoranti", tutti gli "stadi", tutti i "teatri" e così via.

                Più ne riesco a classificare, meno lavoro ho da fare dopo a mano, più me ne trova lui, meglio è per me.

                 

                Diciamo che i casi che mi vengono in mente, i più comuni, potrebbero essere una ventina, ma chiaro che una volta trovato il modo...

                Io ho visto che il comando è strutturato :

                Casi ( test1 ; risultato1 {; test2 ; risultato2 ; ... ; risultatoPredefinito} )

                Ma non sono riuscito a includerci anche il tuo riferimento, e poi non capisco bene l'uso delle graffe...

                 

                Spero sia più chiaro, grazie.

                Fabrizio

                • 5. Re: Operator "Contains"
                  raybaudi
                    

                  Questo calcolo è un pò più accurato ( almeno distingue tra bar e barbiere )

                   

                  Let( adj = Substitute ( nome en ; " " ; ¶ ); Case( ValueCount ( FilterValues ( adj ; "bar" ) ) ; "bar" ; ValueCount ( FilterValues ( adj ; "barbiere" ) ) ; "barbiere" ; ValueCount ( FilterValues ( adj ; "cinema" ) ) ; "cinema" ; ValueCount ( FilterValues ( adj ; "ristorante" ) ) ; "ristorante" ; ValueCount ( FilterValues ( adj ; "teatro" ) ) ; "teatro" ) )

                   

                  ma sono comunque convinto che bisognerebbe risolvere il problema in altro modo ( usando però portali e relazioni che presumo tu non conosca ancora )