很抱歉,如果我错过了类似的问题/答案。
基本上我试图在DAX中进行日常比较,但找不到一个很好的方法来获得之前非空日的测量。
我尝试了PREVIOUSDAY功能,但是当天数存在差距时,例如,如果Sat&太阳,结果不是我需要的
PreviousAmount = CALCULATE([Total $ Amount], PREVIOUSDAY('Fact'[Date]))
我能想到的是在日期维度中添加一个帮助列以指示先前的非空日期(即,如果日期是星期一,那么前一个非空日期将是前一个星期五)。然后我可以使用CALCULATE函数并按非空日期过滤。
但是,有没有办法在飞行中进行计算?提前谢谢。
下表应反映我想要实现的目标:
<table border="1">
<th>Date</th><th>Amount</th><th>What I got</th><th>What I hope</th>
<tr>
<td>01/07/2016</td>
<td>7983</td>
<td></td>
<td></td>
</tr>
<tr>
<td>04/07/2016</td>
<td>15933</td>
<td></td>
<td>7983</td>
</tr>
<tr>
<tr>
<td>05/07/2016</td>
<td>38591</td>
<td>15933</td>
<td>15933</td>
</tr>
<tr>
<td>06/07/2016</td>
<td>7859</td>
<td>38591</td>
<td>38591</td>
</tr>
<tr>
<td>07/07/2016</td>
<td>3252</td>
<td>7859</td>
<td>7859</td>
</tr>
<tr>
<td>07/07/2016</td>
<td>9474</td>
<td>3252</td>
<td>3252</td>
</tr>
</table>
&#13;
答案 0 :(得分:1)
它可能不是最新的,但您可以创建一个计算列来存储前一天的值
PreviousDate =
CALCULATE (
MAX ( [Date] ),
FILTER ( AmountTable, AmountTable[Date] < EARLIER ( AmountTable[Date] ) )
)
然后为前一天的金额创建一个新的计算列
=
CALCULATE (
SUM ( [Amount] ),
FILTER (
ALL ( AmountTable ),
AmountTable[Date] = EARLIER ( AmountTable[PreviousDate] )
)
)