Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
7 years ago
Solved

help with if formula asap

.

  • Anonymous,

     

    Not sure why it was removed.

    I will re-post:

     

    I duplicated your value column. Check this so you can see.

    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45Wck4sUtJRMjRQitWJVsrNL8kvSq5MzkkFihmbgsVKikqTs4FcI2MwNxms3hiiHqLZ2ATMCYEqNLQAc32RzTIEKokFAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [Type = _t, Value = _t]),
        #"Changed Type" = Table.TransformColumnTypes(Source,{{"Value", type number}}),
        #"Duplicated Column" = Table.DuplicateColumn(#"Changed Type", "Value", "Value - Copy"),
        #"Changed Type1" = Table.TransformColumnTypes(#"Duplicated Column",{{"Value - Copy", type text}})
    in
        #"Changed Type1"

    Then I change a little bit your code:

    Column = IF('Table (4)'[Type] = "Car",
                SWITCH(
                    TRUE(),
                        'Table (4)'[Value] <= 26, "24",
                        'Table (4)'[Value] <= 31, "23",
                        'Table (4)'[Value] <= 35, "22",
                        'Table (4)'[Value] <= 39, "21",
                        'Table (4)'[Value] <= 43, "20",
                        'Table (4)'[Value] <= 48, "19",
                        'Table (4)'[Value] <= 52, "18",
                        'Table (4)'[Value] <= 58, "17",
                        'Table (4)'[Value] <= 64, "16",
                        'Table (4)'[Value] <= 71, "15",
                        'Table (4)'[Value] <= 77, "14",
                        'Table (4)'[Value] <= 86, "13",
                        'Table (4)'[Value] <= 95, "12",
                        'Table (4)'[Value] <= 106, "11",
                        'Table (4)'[Value] >= 107, "10"),
            'Table (4)'[Value - Copy] & "%")

    You will see the changes inside the red boxes

     

    Just take note that your column now is treated as text data type. You cannot aggregate this column.

16 Replies

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi, 

     

    Not sure if its the best way to do it but you can create a new column: 

     
    New Column = IF(Sheet1[Type] = "Car" && Sheet1[Value] <= 10; 1; IF(Sheet1[Type] = "Car" && Sheet1[Value] > 10 && Sheet1[Value] <= 20; 2; IF(Sheet1[Type] = "Car" && Sheet1[Value] > 20 && Sheet1[Value] <= 30; 3; IF(Sheet1[Type] = "Car" && Sheet1[Value] > 30 && Sheet1[Value] <= 40; 4; Sheet1[Value]))))
     
     
    Hope it helps
     
    Br
    Adrian
    • Anonymous's avatar
      Anonymous
      Not applicable

      My values are from 

      • Anonymous's avatar
        Anonymous
        Not applicable

        Another way to do it is to create a lookuptable with the ranges, somthing like this: 

        (I created this in excel)

         

        And then create a new column in main table: 

        NewCarValue = IF(MainTable[Type] = "Car"; RELATED(CarRangeValue[New Value]); MainTable[Value])
         
         
        You also need a relationship like this:
        /Adrian
  • Anonymous's avatar
    Anonymous
    Not applicable
    Hi.

    Any help anyone?
    • Anonymous's avatar
      Anonymous
      Not applicable

      hi, 

      Maybe its possible in m query as well?

    • mussaenda's avatar
      mussaenda
      Icon for Community Champion rankCommunity Champion

      hi Anonymous ,

       

      Anonymous  answered your question, right?

      This has been solved?

      • Anonymous's avatar
        Anonymous
        Not applicable

        no, need help