powerbi - Power BI/DAX 查询 - 根据另一个表上的范围查找值

标签 powerbi dax

因此,我有一个表,其行包含唯一的发票,列中包含供应商名称和发票成本,如下所示:

Invoice | Vendor | Cost
AAA     | Good Co| $10
BBB     | Good Co| $15
CCC     | Best Co| $30
DDD     | Bad Co | $50

并创建了一个自定义列,为我提供每个供应商的总支出:

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

同时,我还有另一个表格,根据与供应商的总支出高于或低于一定金额来描述供应商的回扣百分比。像这样的东西:

Vendor   | Tier 1 % | Tier 1 From | Tier 1 To | Tier 2% | Tier 2 From
Good Co  | 1%       | $0          | $20       | 2%      | $20

...等等。

因此,在此示例中,我们应该获得 2% 的回扣,因为 Good Co 的发票总支出总计超过 20 美元。但我对如何在 Power BI 中自动执行此操作感到困惑。有没有一种方法可以在某处生成一列或表,检查发票表中的供应商是否与回扣层列表中的供应商相同,并且可以检查不同的层级别以查看回扣的百分比,并将该百分比返回为可以运行其他计算的结果?

最佳答案

我建议取消您的回扣表,使其看起来像这样:

Vendor   | Tier | From | To  | Rebate
Good Co  | 1    | $0   | $20 | 1%
Good Co  | 2    | $20  |     | 2%

然后,您可以通过获取 VendorGrandTotal 大于 From 的最大匹配行来查找适当的回扣百分比。

作为“原始数据”上的计算列,您可以执行以下操作:

Rebate % = 
MAXX(
    FILTER(Rebates,
        Rebates[Vendor] = EARLIER([Vendor]) &&
        Rebates[From] < EARLIER([VendorGrandTotal])
    ),
    Rebates[Rebate]
)

关于powerbi - Power BI/DAX 查询 - 根据另一个表上的范围查找值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53637207/

相关文章:

powerbi - 当与其他用户共享 `analyze in excel` 报表的保存副本时,Excel 是否保留 RLS?

powerbi - 在没有访问 token 的情况下显示 Power BI 报告?

dataset - 如何将自定义指标从 App Insights 导入到 Power BI?

DAX 公式来计算分组依据与过滤器

powerbi - 在 DAX 中,为什么在应用于组时 ALL 过滤器会被覆盖

powerbi - 行号分区依据到 POWER BI DAX 查询

azure - 以非交互方式向 Azure REST API 进行 PowerBi 嵌入报告的身份验证时出现 403 Forbidden

powerbi - 使用 DAX 计算每个 ID 的最新日期

powerbi - 将图表从类别动态更改为子类别

powerbi - Power Query - 自定义函数计数