Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
2 years ago
Solved

Line Level Parameters?

Hi, I'm stuck and I think I might not even be using the right words to ask the question.

 

Basically what I am trying to do is a line level parameter that users can change, which results in updates to the dashboard.

The use case is a list of sales opportunities, which each have a % win chance. I would like users to be able to adjust the % win chance, and have the dashboard result in changes to the financial forecast figures. Each line would potentially have a different value for the parameter, so I don't think that I can use a parameter which has a global value - but I would love to be wrong! 

 

Opportunity A, $100, 80% -----> 70%

Opportunity B, $100, 50% -----> 60%

Opportunity C, $100, 30% ------> 50%

 

Anticipated Revenue - Original: $160 -----> New: $180

  • Anonymous's avatar
    Anonymous
    2 years ago

    Hi Anonymous ,

    Thanks for lbendlin  reply. There is an alternative you can try, only when the data is small
    Here some steps that I want to share, you can check them if they suitable for your requirement.
    Here is my test data:

    Create three parameter

    Parameter 1= GENERATESERIES(1, 2, 0.1)
    Parameter 2 = GENERATESERIES(1, 2, 0.1)
    Parameter 3 = GENERATESERIES(1, 2, 0.1)

    Create a measure

    Parameter Value = 
    IF(
        SELECTEDVALUE('Table'[Opportunity]) = "Opportunity A",
        SELECTEDVALUE('Table'[Value])*SELECTEDVALUE('Parameter 1'[Parameter]),
        IF(
            SELECTEDVALUE('Table'[Opportunity]) = "Opportunity B",
            SELECTEDVALUE('Table'[Value])*SELECTEDVALUE('Parameter 2'[Parameter]),
                IF(
                SELECTEDVALUE('Table'[Opportunity]) = "Opportunity C",
                SELECTEDVALUE('Table'[Value])*SELECTEDVALUE('Parameter 3'[Parameter])
            )
        )
    )

    Final output

    Best regards,
    Albert He

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly

5 Replies

  • Are you looking for the "Numerical Parameters"  aka "What-If parameters" ?

    • Anonymous's avatar
      Anonymous
      Not applicable

      I think not, because the parameter would apply the same number to every line item in a table, and I want to operate line by line 

       

      So line 1 would be - 10, Line 2 would be +10, line 3 would be +20 if that makes sense 

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi Anonymous ,

    Thanks for lbendlin  reply. There is an alternative you can try, only when the data is small
    Here some steps that I want to share, you can check them if they suitable for your requirement.
    Here is my test data:

    Create three parameter

    Parameter 1= GENERATESERIES(1, 2, 0.1)
    Parameter 2 = GENERATESERIES(1, 2, 0.1)
    Parameter 3 = GENERATESERIES(1, 2, 0.1)

    Create a measure

    Parameter Value = 
    IF(
        SELECTEDVALUE('Table'[Opportunity]) = "Opportunity A",
        SELECTEDVALUE('Table'[Value])*SELECTEDVALUE('Parameter 1'[Parameter]),
        IF(
            SELECTEDVALUE('Table'[Opportunity]) = "Opportunity B",
            SELECTEDVALUE('Table'[Value])*SELECTEDVALUE('Parameter 2'[Parameter]),
                IF(
                SELECTEDVALUE('Table'[Opportunity]) = "Opportunity C",
                SELECTEDVALUE('Table'[Value])*SELECTEDVALUE('Parameter 3'[Parameter])
            )
        )
    )

    Final output

    Best regards,
    Albert He

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly

    • Anonymous's avatar
      Anonymous
      Not applicable

      Thanks, I think that this would work for a list of a fixed length, but that isn't personally my use case. 

       

      I experimented with creating a table of all of the what-if scenarios by crossjoining a series with the list of opportunites, but ultimately was unable to find a way to make a slicer off of that which I found to be palatable to users. 

       

      CustomValuePerOpportunity = CROSSJOIN(GENERATESERIES(0,1,0.1), opportunities)