Forum Discussion

damian_bell's avatar
damian_bell
Frequent Visitor
5 years ago
Solved

Slicer as Calculator

A somewhat self-referencing question here! There is a PowerBI cost calculator here.  It is a webpage rather than a PowerBi report but I would like to perform the same functions within PBI.  ...
  • Anonymous's avatar
    Anonymous
    5 years ago

    Hi damian_bell 

    You could try to build a slicer table as below.

     

    Percentage Slicer = GENERATESERIES(0, 1, 0.0001)

     

    Build a slicer by between and slicer is as below.

    I build a User table.

    Measure:

     

    Percent User = 
    VAR _Total_User = 5000
    VAR _PercentUser1 =
        MIN ( 'Percentage Slicer'[Percentage Slicer] )
    VAR _PercentUser2 =
        MAX ( 'Percentage Slicer'[Percentage Slicer] ) - _PercentUser1
    VAR _PercentUser3 =
        1 - MAX ( 'Percentage Slicer'[Percentage Slicer] )
    RETURN
        SWITCH (
            TRUE (),
            MAX ( User[User] ) = "User1",
                FORMAT ( _PercentUser1 * _Total_User, "0" ) & "     "
                    & FORMAT ( _PercentUser1, "(0.00%)" ),
            MAX ( User[User] ) = "User2",
                FORMAT ( _PercentUser2 * _Total_User, "0" ) & "     "
                    & FORMAT ( _PercentUser2, "(0.00%)" ),
            FORMAT ( _PercentUser3 * _Total_User, "0" ) & "     "
                & FORMAT ( _PercentUser3, "(0.00%)" )
        )
    TotalPrice = 
    VAR _Total_User = 5000
    VAR _PercentUser1 =
        MIN ( 'Percentage Slicer'[Percentage Slicer] )
    VAR _PercentUser2 =
        MAX ( 'Percentage Slicer'[Percentage Slicer] ) - _PercentUser1
    VAR _PercentUser3 =
        1 - MAX ( 'Percentage Slicer'[Percentage Slicer] )
    VAR _NumUser1 = _PercentUser1*_Total_User
    VAR _NumUser2 = _PercentUser2*_Total_User
    VAR _NumUser3 = _PercentUser3*_Total_User
    VAR _TotalPrice = _NumUser1*100+_NumUser2*200+_NumUser3*50
    RETURN
    _TotalPrice

     

    Result is as below.

    You can download the pbix file from this link: File

     

    Best Regards,

    Rico Zhou

     

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