我有一个ReceiptDateTime列,其中包含收到的收据日期和时间。我想过滤并仅使用上一个工作日(周一至周五)的数据。例如星期一,我想只看周五的数据。我试图在力量BI中实现这一点。
这可能吗?真的很感谢你的帮助。
答案 0 :(得分:1)
如果我开始将此表加载到Power BI中作为表1:
然后,我使用此代码添加一个新列(Modeling - > New Column)... ReceiptDateOnly = DATE(YEAR([ReceiptDateTime]),MONTH([ReceiptDateTime]),DAY([ReceiptDateTime]))
...从ReceiptDateTime列获取 日期。 (你已经表明你有日期/时间组合,我们只需要我在这里做的日期。)
然后我用这段代码创建一个新表(Modeling - > New Table)...`Table2 = GROUPBY(Table1,Table1 [ReceiptDateOnly]," SomeData",sumx(CURRENTGROUP(),表1 [SomeData]))。
然后我用这段代码添加一个新列......
PreviousWorkday = if(WEEKDAY('Table2'[Table1_ReceiptDateOnly])=2, DATEADD('Table2'[Table1_ReceiptDateOnly],-3,DAY),
if(WEEKDAY('Table2'[Table1_ReceiptDateOnly])=1, DATEADD('Table2'[Table1_ReceiptDateOnly],-2,DAY),
DATEADD('Table2'[Table1_ReceiptDateOnly],-1,DAY))
)
...确定上一个工作日。
然后我用这段代码添加另一列......
PreviousWorkDaySomeData = SUMX(FILTER('Table2','Table2'[Table1_ReceiptDateOnly]=EARLIER('Table2'[PreviousWorkday])),'Table2'[SomeData])
...获取与上一个工作日相关的数据。
我得到这样一张桌子:
星期一使用星期五的数据。星期二使用星期一的数据。周三使用周二的数据。周四使用周三的数据。星期五使用星期四的数据。星期六使用星期五的数据。星期天使用星期五的数据。