Powerbi Power BI/DAX查询-根据另一个表上的范围查找值
所以我有一个表,它的行是唯一的发票,列中有供应商名称和发票成本,类似于:Powerbi Power BI/DAX查询-根据另一个表上的范围查找值,powerbi,dax,Powerbi,Dax,所以我有一个表,它的行是唯一的发票,列中有供应商名称和发票成本,类似于: Invoice | Vendor | Cost AAA | Good Co| $10 BBB | Good Co| $15 CCC | Best Co| $30 DDD | Bad Co | $50 Vendor | Tier 1 % | Tier 1 From | Tier 1 To | Tier 2% | Tier 2 From Good Co | 1% | $0
Invoice | Vendor | Cost
AAA | Good Co| $10
BBB | Good Co| $15
CCC | Best Co| $30
DDD | Bad Co | $50
Vendor | Tier 1 % | Tier 1 From | Tier 1 To | Tier 2% | Tier 2 From
Good Co | 1% | $0 | $20 | 2% | $20
并创建了一个自定义列,以提供每个供应商的总开支:
VendorGrandTotal =
CALCULATE(SUM('Raw Data'[Cost]),ALLEXCEPT('Raw Data','Raw Data'[Vendor]))
要获得如下结果:
Invoice | Vendor | Cost | Total
AAA | Good Co| $10 | $25
BBB | Good Co| $15 | $25
CCC | Best Co| $30 | $30
DDD | Bad Co | $50 | $50
同时,我还有另一个表格,根据供应商的总花费是否高于或低于某个金额,描述了供应商的回扣百分比。比如:
Invoice | Vendor | Cost
AAA | Good Co| $10
BBB | Good Co| $15
CCC | Best Co| $30
DDD | Bad Co | $50
Vendor | Tier 1 % | Tier 1 From | Tier 1 To | Tier 2% | Tier 2 From
Good Co | 1% | $0 | $20 | 2% | $20
……等等
因此,在这个例子中,我们应该得到2%的回扣,因为良好Co发票的总花费加起来超过20美元。但如何在Power BI中自动执行这一点让我感到困惑。是否有一种方法可以在某个地方生成一列或表格,检查发票表格中的供应商是否与返利层级列表中的供应商相同,并可以对照不同层级查看返利的百分比,并返回该百分比作为其他计算的结果?我建议取消您的发票折扣表改为如下所示:
Vendor | Tier | From | To | Rebate
Good Co | 1 | $0 | $20 | 1%
Good Co | 2 | $20 | | 2%
然后,您可以通过取最大匹配行(其中vendorgandtotal
大于From
)来查找适当的折扣百分比
作为“原始数据”
上的计算列,您可以执行以下操作:
Rebate % =
MAXX(
FILTER(Rebates,
Rebates[Vendor] = EARLIER([Vendor]) &&
Rebates[From] < EARLIER([VendorGrandTotal])
),
Rebates[Rebate]
)
返利%=
马克斯(
过滤(回扣、,
回扣[供应商]=早期([供应商])&&
回扣[来自]<早期([VendorGrandTotal])
),
回扣[回扣]
)