筛选表中存在于两个日期列中的日期范围

问题描述 投票:0回答:1

我刚来这里,所以如果之前有人问过这个问题,请原谅我。我在 MS PowerBI 中有一个数据模型,其中有一个日期表和一个带有两个日期列的事实表(ME_PostDate、ME_Rec_Date,注意 ME = 月末)。 ME_PostDate 和 Date_Table 之间存在活动关系,ME_Rec_Date 和 Date_Table 之间存在非活动关系。

我计算了一个度量来计算 ME_PostDate 和 ME_Rec_Date 相同的列的总和 (J Profit)。使用的度量是 JP_PDRD_Month =

CALCULATE(Sum(a_NZ_JPR\[J Profit NZD\]),a_NZ_JPR\[ME_PostDate\] = a_NZ_JPR\[ME_Rec_Date\])

这似乎工作正常。

问题是我需要计算一个测量值,该测量值适用于一系列日期(即今年至今)。

注意,在 JP_PDRD_Month 上应用 TOTALYTD 或 DATESBETWEEN 似乎会返回每个期间的所有月结束日期都相同的情况,然后汇总这些日期。

我希望找到解决方案是这两列的日期范围(即 ME_Recog_Date 介于 31/7/2024 和 31/8/2024 之间,ME_Post_Date 介于 31/7/2024 和 31/8/2024 之间) )是真的。

请参阅下面的屏幕截图和表格。

如有任何帮助,我们将不胜感激。

enter image description here

enter image description here

身份证 ME_记录_日期 ME_发布日期 工作利润 RD=PD 范围PD=RD
0 7 6 15
1 6 7 10
2 7 7 30 1 1
3 7 7 15 1 1
4 8 7 25 1
5 6 7 35
6 7 8 25 1
7 7 8 45 1
8 8 8 15 1 1
9 8 8 10 1 1
10 9 8 20
11 8 9 30

每月相同月份的总和 = $70(即 PD=RD 为 1)

我希望找到一个 PowerBi 度量 (DAX) 解决方案,其目的是两列的总日期范围 (31/7/2024 <--> 31/8/2024) 相同。即 = $165(即范围 PD=RD 为 1)

对于上述,Excel fx 是

=SUMIFS(Demo\[JobProfit\],Demo\[ME_Rec_Date\],"\>="&7,Demo\[ME_Rec_Date\],"\<="&8,Demo\[ME_PostDate\],"\>="&7,Demo\[ME_PostDate\],"\<="&8)

非常感谢,

戴夫

我尝试使用以下公式 DatesYTD、Date Between、Calculate、Userrelationship。我可以通过 activerelationship ME_Post_Date : Date_Tble[Date] 应用过滤器,但尚未成功地将日期范围应用到事实表中的两个日期列

powerbi dax filtering date-range
1个回答
0
投票

您可以通过首先获取其中一个日期列的 ID 列表,然后对于第二个日期列,使用 ID 列表进行过滤来解决此问题。

例如:

Example = 
  var recogIDs =
    CALCULATETABLE(
      DISTINCT(a_NS_JPR[ID]),
      USERELATIONSHIP(Date_Table[Date], a_NS_JPR[ME_Recog_Date])
    )
  var result = 
    CALCULATE(
      SUM(a_NS_JPR[Job Profit]),
      a_NS_JPR[ID] IN recogIDs
    )
  RETURN result

Example result

© www.soinside.com 2019 - 2024. All rights reserved.