4 Replies Latest reply on Jun 14, 2016 6:44 AM by Emmanuel Rapizo Caldas

    Parameter with conditional expression

    Emmanuel Rapizo Caldas

      Hello friends,

       

      I have a doubt about creating a calculate field.

       

      I want to show a map with the criminals taxes and this map varies when i select the type of crime in a parameter. I have a list of crimes that i've put at the parameter field. But this map have several cities with less then 50.000 habitants. I want to show these cities on the map with gray color or with zero values.

       

      My syntax is above. It works fine, but i want to improve it.

       

      CASE [Tipo de delito]

      WHEN 'Calúnia1' THEN [Calúnia 1]

      WHEN 'Constrangimento ilegal1' THEN [Constrangimento ilegal 1]

      WHEN 'Dano1' THEN [Dano 1]

      WHEN 'Difamação1' THEN [Difamação 1]

      WHEN 'Estupro1' THEN [Estupro 1]

      WHEN 'Homicídio doloso1' THEN [Homicídio doloso 1]

      WHEN 'Injúria1' THEN [Injúria 1]

      WHEN 'Lesão corporal dolosa1' THEN [Lesão corporal dolosa 1]

      WHEN 'Supressão de documento1' THEN [Supressão de documento 1]

      WHEN 'Tentativa de estupro1' THEN [Tentativa de estupro 1]

      WHEN 'Tentativa de homicídio1' THEN [Tentativa de homicídio 1]

      WHEN 'Violação de domicílio1' THEN [Violação de domicílio 1]

      WHEN 'Total de vítimas' THEN ([Ameaça 1]+[Calúnia 1]+[Constrangimento ilegal 1]+[Dano 1]+[Difamação 1]+[Estupro 1]+[Homicídio doloso 1]+[Injúria 1]+[Lesão corporal dolosa 1]+[Supressão de documento 1]+[Tentativa de estupro 1]+[Tentativa de homicídio 1]+[Violação de domicílio 1])

      END

       

      My question is: how i can force to not show the values when the variable 'população' is less then 50.000?

        • 1. Re: Parameter with conditional expression
          Jason Copenhaver

          If I understand your question. One way to do this would be to create a calculated field, PopulationRequirement. The calculation would be:

           

          [população] >= 50000

           

          Then if you drop this calculated field on the color mark you can choose how to color cities that do and do not meet this requirement.

           

          Another option would be to add população to the filters shelf and use an 'At Least' filter of 50000.

           

          Jason

          • 2. Re: Parameter with conditional expression
            Emmanuel Rapizo Caldas

            Hello Jason,

             

            Thanks for answering and understanding my poor english.

             

            I want to put two different kinds of information on the map. First, if the city's population is above 50.000, than the color will be gray. Than, the other cities will be in differents colors tones according to their value in the select variable.

             

            Actually, I can do both things separately, but I didn't realize how to put these things together.

             

            The dashboard is in this link: | Tableau Public

             

            But I want to show the colors tones only in the cities in orange that appears in this map. In other words, I want to show the cities with less than 50.000 hab in gray and the others in green based on their values.

             

            Mapa - Cidades em cinza.png

            • 3. Re: Parameter with conditional expression
              Jason Copenhaver

              I think what you are looking for is a Dual-Axis map. Read through some of this Going Dual Axis on Maps | Tableau Public  and see if that helps. With a dual-axis map you can set one axis to color based on above or below 50K, on the other axis you can show whatever other color information and the maps will be overlaid.

              1 of 1 people found this helpful
              • 4. Re: Parameter with conditional expression
                Emmanuel Rapizo Caldas

                Thaks, Jason!

                 

                I'll read this article. But, actually, I already done what I want. I wrote in this way and It ran well.

                 

                CASE [Tipo de delito]

                WHEN 'Ameaça1' THEN IIF([população]>50000,[Ameaça 1],0)

                WHEN 'Calúnia1' THEN IIF([população]>50000,[Calúnia 1],0)

                WHEN 'Constrangimento ilegal1' THEN IIF([população]>50000,[Constrangimento ilegal 1],0)

                WHEN 'Dano1' THEN IIF([população]>50000,[Dano 1],0)

                WHEN 'Difamação1' THEN IIF([população]>50000,[Difamação 1],0)

                WHEN 'Estupro1' THEN IIF([população]>50000,[Estupro 1],0)

                WHEN 'Homicídio doloso1' THEN IIF([população]>50000,[Homicídio doloso 1],0)

                WHEN 'Injúria1' THEN IIF([população]>50000,[Injúria 1],0)

                WHEN 'Lesão corporal dolosa1' THEN IIF([população]>50000,[Lesão corporal dolosa 1],0)

                WHEN 'Supressão de documento1' THEN IIF([população]>50000,[Supressão de documento 1],0)

                WHEN 'Tentativa de estupro1' THEN IIF([população]>50000,[Tentativa de estupro 1],0)

                WHEN 'Tentativa de homicídio1' THEN IIF([população]>50000,[Tentativa de homicídio 1],0)

                WHEN 'Violação de domicílio1' THEN IIF([população]>50000,[Violação de domicílio 1],0)

                WHEN 'Total de vítimas' THEN IIF([população]>50000,[Ameaça 1]+[Calúnia 1]+[Constrangimento ilegal 1]+[Dano 1]+[Difamação 1]+[Estupro 1]+[Homicídio doloso 1]+[Injúria 1]+[Lesão corporal dolosa 1]+[Supressão de documento 1]+[Tentativa de estupro 1]+[Tentativa de homicídio 1]+[Violação de domicílio 1],0)

                END