powerbi 中的复杂日期问题

问题描述

我不知道如何使用独特的简单日期切片器来管理我的问题。

我有一个包含合同开始和结束日期的表格,并与一个维度表格日期相连。 我想使用此切片器计算这段时间内的合同。 我想使用我的日期维度表创建一个具有时间范围的独特切片器。

slicer

这个切片器应该在我的表中选择所有合同(例如):

  • 2017 年 4 月 1 日之前开始,2017 年 4 月 1 日之后结束。
  • 在 04/01/2017 之前开始,但在 08/01/2017 之后未完成。
  • 在期间开始但在此期间未完成。
  • 在此期间开始和结束。

知道我应该怎么做吗?

解决方法

对于初学者,在这种特殊情况下,我将删除日期和合同表之间的关系。关系的工作方式是将过滤表中的结果集(行)(在关系的 many 侧)限制为包含与当前在过滤表中(在 one } 关系的一面)。

这显然不是你想要的,因为:

  • 您想根据多列进行过滤
  • 您想要更复杂的过滤逻辑

解除关系后,您要做的就是:

How many contracts =
COUNTROWS (
    FILTER (
        Contracts,NOT (
            Contracts[start_date] > MAX ( Dates[date] )
                || Contracts[end_date] < MIN ( Dates[date] )
        )
    )
)

这是一种更简单的选择合约的方法,因为它只需要两个条件。这只是说您不希望看到在所选日期范围之前结束或在其之后开始的合同 (NOT),这涵盖了您描述的所有情况。