【问题标题】:DAX: How to sum values between two dates from unrelated table?DAX:如何对不相关表中两个日期之间的值求和?
【发布时间】:2020-04-07 12:33:48
【问题描述】:

我有三张桌子,

Supplier
    SupplierID

SupplierRebate
    SupplierID (Is a key to Supplier[SupplierID]
    DateStart
    DateEnd
    TurnoverMin
    RebateRate

ProductBought
    SupplierID (Is a key to supplier[SupplierID]
    TotalPrice
    DateInvoice

ProductBought 和 SupplierRebate 都链接到供应商。我试图在每次回扣期间计算总价格的总和。 当 DateInvoice 在 DateStart 和 DateEnd 之间时,我希望对于特定供应商的每个回扣总价。

它看起来很简单,我花了好几个小时试图理解,但我似乎无法将 DAX 输入我的大脑。我尝试过 Sum、SUMX、Filters、Calculate 和其他一些。我只是似乎无法理解 Dax。

感谢您的帮助

【问题讨论】:

    标签: powerbi dax


    【解决方案1】:

    我认为如果你在 SupplierID SupplierRebateSupplierID ProductBought 并使用 DateInvoice 作为 Slicer 为 Total Price 创建一个单行卡,它应该可以解决问题。届时将不需要 DAX。

    【讨论】:

    • 谢谢。我没有双向的关系,所以它到处给我错误。它已经极大地帮助了我。问题是,我不是想创建一张卡片,而是一张桌子。我希望该表显示在每个回扣期间花费了多少 TotalPrice。你的方法(如果我理解正确的话)意味着我可以用切片器选择一个时期。我不想这样做,我想知道在与他相关的回扣期间在供应商那里花了多少钱。
    • 一旦关系更改为双方,您也可以创建表。
    【解决方案2】:

    以下内容不需要双向关系,在我读过/观看/听说过的有关 DAX 的所有内容中,应该不惜一切代价避免这种关系。

    SUMMARIZE ( SupplierRebate, Supplier[SupplierID], SupplierRebate[DateStart], SupplierRebate[DateEnd], SupplierRebate[TurnoverMin], SupplierRebate[RebateRate], "Total Purchased", CALCULATE ( SUM ( ProductBought[TotalPrice] ), FILTER ( ProductBought, ProductBought[DateInvoice] <= MAX ( SupplierRebate[DateEnd] ) && ProductBought[DateInvoice] >= MAX ( SupplierRebate[DateStart] ) ) ) )

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多