Forum Discussion

EZimmet's avatar
EZimmet
Resolver I
4 years ago
Solved

Calculation based off Live Data and a Static Table

Good Day,

 

I need to create a calculation off 2 tables #1 Live Data, #2 Static Data

 

Tbl #1 Need to sum Rack Counts for each Site
Tbl #2 Static number showing Max Racks that can be added to a Site
Output =  Max_Rack - Current Count = ______

 

Tbl #1
Live Data from the Site Rack Inventory
   
Tbl_Rack
Site NameStatusAssetID
NYCActiveAsset#001
NYCActiveAsset#002
NYCActiveAsset#003
NYCActiveAsset#004
NYCActiveAsset#005
FLAActiveAsset#006
FLAActiveAsset#007
FLAActiveAsset#008
FLAActiveAsset#011
CALActiveAsset#012
CALActiveAsset#013
CALActiveAsset#014
CALNo PowerAsset#015
CALActiveAsset#016
CALActiveAsset#017
CALActiveAsset#018
CALActiveAsset#019
PHXActiveAsset#020
PHXActiveAsset#021
PHXActiveAsset#022
   

 

Tbl #2
Static Tbl with Max Racks
  
Tbl_Max_Rack
Site NameMax_Rack
NYC10
FLA10
CAL15
PHX15

 

Expected output   
 CALFLANYCPHX
Current8453
Max Allowed15101015
Available to install76512
  • Anonymous's avatar
    Anonymous
    4 years ago

    Hi  EZimmet ,

    Here are the steps you can follow:

    1. Create a table with Enter data.

    2. Create measure.

    CAL =
    var _count=COUNTX(FILTER(ALL(Tbl_Rack),'Tbl_Rack'[Site Name]="CAL"),[Site Name])
    var _sum=SUMX(FILTER(ALL('Tbl_Max_Rack'),'Tbl_Max_Rack'[Site Name]="CAL"),[Max_Rack])
    return
    SWITCH(
        TRUE(),
        MAX('Table'[Expected])="Current",_count,
        MAX('Table'[Expected])="Max Allowed",_sum,
        MAX('Table'[Expected])="Available to install",_sum - _count
    )
    FLA =
    var _count=COUNTX(FILTER(ALL(Tbl_Rack),'Tbl_Rack'[Site Name]="FLA"),[Site Name])
    var _sum=SUMX(FILTER(ALL('Tbl_Max_Rack'),'Tbl_Max_Rack'[Site Name]="FLA"),[Max_Rack])
    return
    SWITCH(
        TRUE(),
        MAX('Table'[Expected])="Current",_count,
        MAX('Table'[Expected])="Max Allowed",_sum,
        MAX('Table'[Expected])="Available to install",_sum - _count
    )
    NYC =
    var _count=COUNTX(FILTER(ALL(Tbl_Rack),'Tbl_Rack'[Site Name]="NYC"),[Site Name])
    var _sum=SUMX(FILTER(ALL('Tbl_Max_Rack'),'Tbl_Max_Rack'[Site Name]="NYC"),[Max_Rack])
    return
    SWITCH(
        TRUE(),
        MAX('Table'[Expected])="Current",_count,
        MAX('Table'[Expected])="Max Allowed",_sum,
        MAX('Table'[Expected])="Available to install",_sum - _count
    )
    PHX =
    var _count=COUNTX(FILTER(ALL(Tbl_Rack),'Tbl_Rack'[Site Name]="PHX"),[Site Name])
    var _sum=SUMX(FILTER(ALL('Tbl_Max_Rack'),'Tbl_Max_Rack'[Site Name]="PHX"),[Max_Rack])
    return
    SWITCH(
        TRUE(),
        MAX('Table'[Expected])="Current",_count,
        MAX('Table'[Expected])="Max Allowed",_sum,
        MAX('Table'[Expected])="Available to install",_sum - _count
    )

    3. Result:

     

    Best Regards,

    Liu Yang

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

2 Replies

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi  EZimmet ,

    Here are the steps you can follow:

    1. Create a table with Enter data.

    2. Create measure.

    CAL =
    var _count=COUNTX(FILTER(ALL(Tbl_Rack),'Tbl_Rack'[Site Name]="CAL"),[Site Name])
    var _sum=SUMX(FILTER(ALL('Tbl_Max_Rack'),'Tbl_Max_Rack'[Site Name]="CAL"),[Max_Rack])
    return
    SWITCH(
        TRUE(),
        MAX('Table'[Expected])="Current",_count,
        MAX('Table'[Expected])="Max Allowed",_sum,
        MAX('Table'[Expected])="Available to install",_sum - _count
    )
    FLA =
    var _count=COUNTX(FILTER(ALL(Tbl_Rack),'Tbl_Rack'[Site Name]="FLA"),[Site Name])
    var _sum=SUMX(FILTER(ALL('Tbl_Max_Rack'),'Tbl_Max_Rack'[Site Name]="FLA"),[Max_Rack])
    return
    SWITCH(
        TRUE(),
        MAX('Table'[Expected])="Current",_count,
        MAX('Table'[Expected])="Max Allowed",_sum,
        MAX('Table'[Expected])="Available to install",_sum - _count
    )
    NYC =
    var _count=COUNTX(FILTER(ALL(Tbl_Rack),'Tbl_Rack'[Site Name]="NYC"),[Site Name])
    var _sum=SUMX(FILTER(ALL('Tbl_Max_Rack'),'Tbl_Max_Rack'[Site Name]="NYC"),[Max_Rack])
    return
    SWITCH(
        TRUE(),
        MAX('Table'[Expected])="Current",_count,
        MAX('Table'[Expected])="Max Allowed",_sum,
        MAX('Table'[Expected])="Available to install",_sum - _count
    )
    PHX =
    var _count=COUNTX(FILTER(ALL(Tbl_Rack),'Tbl_Rack'[Site Name]="PHX"),[Site Name])
    var _sum=SUMX(FILTER(ALL('Tbl_Max_Rack'),'Tbl_Max_Rack'[Site Name]="PHX"),[Max_Rack])
    return
    SWITCH(
        TRUE(),
        MAX('Table'[Expected])="Current",_count,
        MAX('Table'[Expected])="Max Allowed",_sum,
        MAX('Table'[Expected])="Available to install",_sum - _count
    )

    3. Result:

     

    Best Regards,

    Liu Yang

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

    • EZimmet's avatar
      EZimmet
      Resolver I

      Thank you - For your fast reply I was looking at doing this as one large SQL - but pulling it apart is a lot cleaner.