DAG桶老化公式问题

时间:2018-09-12 10:05:36

标签: excel excel-formula dax powerpivot

我有一张下表,

MEM_ID  dateDiff
4522       10
111         1
1112       -1
1232        5
121135     20
145        30
12254      60

我想要一个Dax公式,它将在小数列下给出如下输出

MEM_ID  dateDiff      Measure
4522       10         0-15 Days
111        1          0-15 Days
1112      -1           <0 Days
1232       5          0-15 Days
121135    20          15-30 Days
145       30          15-30 Days
12254     60           >60 Days

我使用了这个没有用的公式,任何帮助都非常有用= IF(MAX([DateDiff])<= 1,“ 0”,IF(MAX([DateDiff])> = 1 && MAX([DateDiff] )<15,“ 1-15天”,IF(MAX([DateDiff])> = 15 && MAX([DateDiff])<30,“ 15-30天”,IF(MAX([DateDiff])> = 30 && MAX([DateDiff])<60,“ 30-60天”,IF(MAX([DateDiff])> = 60 && MAX([DateDiff])<90,“ 60-90”,BLANK()))) ))

2 个答案:

答案 0 :(得分:0)

我将通过创建如下查找表来解决此问题。

创建一个名为Lookup的新工作表,然后从A1开始添加以下数据:

Min      Max    Bucket       Description
-1000     0            1         <0 Days
1        15            2         0 - 15 Days
16       30            3         16 - 30 Days

如果需要添加更多存储桶,则可以添加其他行。例如,要创建30到60的存储桶,您可以添加以下行:

31       60            4         30 - 60 Days

一旦定义了查找表,就可以使用主工作表中的以下公式对其进行引用:

=OFFSET(Lookup!$A$1,SUMPRODUCT((B2>=Lookup!$A$2:$A$4)*(B2<=Lookup!$B$2:$B$4)*(Lookup!$C$2:$C$4)),3)

在上面的公式中,要查找的值在B2中。

如果您已将行添加到查找表中,则需要扩展公式中的查找范围,即Lookup!$A$2:$A$4更改为Lookup!$A$2:$A$5,依此类推。

答案 1 :(得分:0)

使用类似Ian Ash的查找表会更好,但是,如果必须使用IF公式,请尝试使用已有的公式,但删除MAX函数。

=IF([DateDiff]< 1, "0",
 IF([DateDiff]>=1 && [DateDiff]<15,"1- 15 days", 
 IF([DateDiff]>=15 && [DateDiff]<30,"15-30 Days",
 IF([DateDiff]>=30 && [DateDiff]<60,"30-60 Days",
 IF([DateDiff]>=60 && [DateDiff]<90,"60-90",
 BLANK())))))