Forum Discussion

neeesz78's avatar
neeesz78
Copper Contributor
Oct 27, 2021
Solved

Help with calculated column in SharePoint LIST

I'm not sure if this is possible but please help if you can   trying to move the following risk MATRIX from excel into SharePoint list   created 2 choice columns for Impact & Probability (1 to 7)...
  • RobElliott's avatar
    Oct 28, 2021

    neeesz78 this was an interesting challenge because there is a limit of 19 nested ifs in a calculated column formula in SharePoint. So a calculated column is not posible here. However it is possible to have more nested ifs in a Power Apps customised form formula and we can just squeeze in the number you need in before it errors.

     

    My SharePoint list uses the Title column for the risk item and has a choice column (1-7) for the Impact, another chpoice column (1-7) for the Probability and a single line of text column for the reisk level.

     

    Add the Power Apps customised form:

    I've renamed the impact dropdown to dataImpact and the probability dropdown to dataProbability:

     

    For the risk level change the default property of the data field to the nested if statement shown below:

     

     

     

     

     

    If(dataImpact.Selected.Value="1", "Level 6",
    If((dataImpact.Selected.Value="2" && dataProbability.Selected.Value="1"),"Level 6",
    If((dataImpact.Selected.Value="2" && dataProbability.Selected.Value="2"),"Level 6",
    If((dataImpact.Selected.Value="2" && dataProbability.Selected.Value="3"),"Level 6",
    If((dataImpact.Selected.Value="2" && dataProbability.Selected.Value="4"),"Level 5",
    If((dataImpact.Selected.Value="2" && dataProbability.Selected.Value="5"),"Level 5",
    If((dataImpact.Selected.Value="2" && dataProbability.Selected.Value="6"),"Level 4",
    If((dataImpact.Selected.Value="2" && dataProbability.Selected.Value="7"),"Level 4",
    If((dataImpact.Selected.Value="3" && dataProbability.Selected.Value="1"),"Level 6",
    If((dataImpact.Selected.Value="3" && dataProbability.Selected.Value="2"),"Level 5",
    If((dataImpact.Selected.Value="3" && dataProbability.Selected.Value="3"),"Level 5",
    If((dataImpact.Selected.Value="3" && dataProbability.Selected.Value="4"),"Level 4",
    If((dataImpact.Selected.Value="3" && dataProbability.Selected.Value="5"),"Level 4",
    If((dataImpact.Selected.Value="3" && dataProbability.Selected.Value="6"),"Level 3",
    If((dataImpact.Selected.Value="3" && dataProbability.Selected.Value="7"),"Level 3",
    If((dataImpact.Selected.Value="4" && dataProbability.Selected.Value="1"),"Level 6",
    If((dataImpact.Selected.Value="4" && dataProbability.Selected.Value="2"),"Level 5",
    If((dataImpact.Selected.Value="4" && dataProbability.Selected.Value="3"),"Level 4",
    If((dataImpact.Selected.Value="4" && dataProbability.Selected.Value="4"),"Level 4",
    If((dataImpact.Selected.Value="4" && dataProbability.Selected.Value="5"),"Level 3",
    If((dataImpact.Selected.Value="4" && dataProbability.Selected.Value="6"),"Level 3",
    If((dataImpact.Selected.Value="4" && dataProbability.Selected.Value="7"),"Level 3",
    If((dataImpact.Selected.Value="5" && dataProbability.Selected.Value="1"),"Level 5",
    If((dataImpact.Selected.Value="5" && dataProbability.Selected.Value="2"),"Level 4",
    If((dataImpact.Selected.Value="5" && dataProbability.Selected.Value="3"),"Level 3",
    If((dataImpact.Selected.Value="5" && dataProbability.Selected.Value="4"),"Level 3",
    If((dataImpact.Selected.Value="5" && dataProbability.Selected.Value="5"),"Level 2",
    If((dataImpact.Selected.Value="5" && dataProbability.Selected.Value="6"),"Level 2",
    If((dataImpact.Selected.Value="5" && dataProbability.Selected.Value="7"),"Level 2",
    If((dataImpact.Selected.Value="6" && dataProbability.Selected.Value="1"),"Level 4",
    If((dataImpact.Selected.Value="6" && dataProbability.Selected.Value="2"),"Level 3",
    If((dataImpact.Selected.Value="6" && dataProbability.Selected.Value="3"),"Level 3",
    If((dataImpact.Selected.Value="6" && dataProbability.Selected.Value="4"),"Level 2",
    If((dataImpact.Selected.Value="6" && dataProbability.Selected.Value="5"),"Level 2",
    If((dataImpact.Selected.Value="6" && dataProbability.Selected.Value="6"),"Level 1",
    If((dataImpact.Selected.Value="6" && dataProbability.Selected.Value="7"),"Level 1",
    If((dataImpact.Selected.Value="7" && dataProbability.Selected.Value="1"),"Level 4",
    If((dataImpact.Selected.Value="7" && dataProbability.Selected.Value="2"),"Level 3",
    If((dataImpact.Selected.Value="7" && dataProbability.Selected.Value="3"),"Level 3",
    If((dataImpact.Selected.Value="7" && dataProbability.Selected.Value="4"),"Level 2",
    If((dataImpact.Selected.Value="7" && dataProbability.Selected.Value="5"),"Level 1",
    If((dataImpact.Selected.Value="7" && dataProbability.Selected.Value="6"),"Level 1",
    If((dataImpact.Selected.Value="7" && dataProbability.Selected.Value="7"),"Level 1",
    "Error"
    )))))))))))))))))))))))))))))))))))))))))))

     

     

     

    That will give the following result when you  add the items into the list:

     

    Rob
    Los Gallardos
    Intranet, SharePoint and Power Platform Manager (and classic 1967 Morris Traveller driver)

     

     

Resources