根据当前日期计算“冲刺”

时间:2013-07-19 15:45:14

标签: sql ssas business-intelligence powerpivot dax

我正在构建PowerPivot / AS数据模型,我需要将日期转换为适当的sprint。冲刺被定义为日期跨度(即,冲刺N =从日期A到日期B的日期范围)。理想情况下,我可以将此新值添加为Date层次结构中的字段。如何编写将采用日期并输出相应sprint的DAX公式?

为了使事情变得更复杂,在理想的世界中,不同的团队可以拥有不同的sprint日期,因此将teamId作为输入并使用它来帮助计算给定日期的相应sprint名称会更好。注意我确实有团队/冲刺名称/ sprint start&可用于查询的结束日期

1 个答案:

答案 0 :(得分: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

计算出来了