2013-07-19 124 views
0

我正在构建PowerPivot/AS数据模型,并且需要将日期转换为适当的sprint。冲刺被定义为日期范围(即冲刺N =从日期A到日期B的日期范围)。理想情况下,我可以将此新值作为日期层次结构中的字段添加。我该如何编写一个DAX公式,它会记录日期并输出适当的sprint?根据当前日期计算“sprint”

为了使事情更加复杂,在一个理想的世界中,不同的团队可以有不同的日期进行冲刺,所以将teamId作为输入并使用它可以帮助计算给定日期的适当冲刺名称。注意我确实有团队/ sprint名称/ sprint start &结束日期可用于查询

回答

0

我制作了一张如下图所示的表格,并将它用于日期维度表格。 TeamSprints

我不知道如何根据参数动态计算sprint以指示团队。如果您在PowerPivot/Tabular AS中的日期表中为每个团队创建一列,则此公式可以工作。

Team1 Sprint=CALCULATE( 
    LASTNONBLANK(TeamSprints[SprintName] , 1), 
    FILTER( 
     TeamSprints, 
     TeamSprints[SprintName] = CALCULATE( 
            LASTNONBLANK(TeamSprints[SprintName],1), 
            FILTER( 
             TeamSprints, 
             TeamSprints[TeamID] = 1 && 
             TeamSprints[StartDT] <= Date[DateKey] && TeamSprints[EndDT] >=Date[DateKey] 
             ) 
           ) && 
     TeamSprints[TeamID] = 1 
    ) 
) 

我想通了这一点基于Javier Guillen's blog post