Power BI-根据另一列中的值设置第1天

时间:2020-03-23 19:26:51

标签: powerbi dax

我在Power BI中有一个带有以下列的表:国家,日期和事件。我想在“开始日期”中添加度量或新列。 “开始日期”会在“事件”列中的值大于0的第一天分配值“ 1”,并从该日期开始计算天数。在下面的示例中,为英国国家/地区设置了值,在19/03/2020的“事件”区域中的值为1的英国国家/地区和在“开始日”的列中的值为1。下一个日期20/03/2020分配了值2,依此类推。在Power BI中执行此操作的最佳方法是什么?

罗伯特

enter image description here

1 个答案:

答案 0 :(得分:1)

您需要创建一个额外的列,因为这是静态数据。

您可以先获取该国家/地区的开始日期,然后取两个日期之间的datediff来进行此操作。

在CALCULATE函数中,获得所有国家/地区相等且事件= 0的行。从这些行中,获得最大日期(firstD)。这是最重要的步骤,因为我们现在可以使用DATEDIFF来计算天数。

我再次使用了max函数,因为您希望开始日期之前的行中为0。

Start Day = 
var country = events[Country]
var firstD = CALCULATE(MAX(events[Date]);FILTER(events;events[Country] = country && events[event]=0))
return max(DATEDIFF(firstD;events[Date];DAY);0)
相关问题