我有一个连接到sql server数据库的表格模式分析服务器。我想得到每月的总x,我每天总x。因此,例如,我有一个表DailyEvent,前两列是这样的,我想要列" MonthXCount":
TimeID XCount MonthXCount
20160429 3 11
20160430 8 11
20160501 4 4
所以4月份的总XCount是11,所以4月份的每一天我想要11个。可能的总X数是4(到目前为止)。
我现在所拥有的是MonthToDate总数,我认为计算如下:
=TOTALMTD(SUM('DailyEvent'[XCount]),'DailyEvent'[TimeID])
但是我希望有一个专栏,将月份的最后一个值放在该月的每一天。
最终目标是在PowerBI中有一个按月计算的XCount,所以我可能不需要在这里添加列...我可能只能告诉PowerBi绘制该月的最后一天,但是我&# 39;我不知道该怎么做,并认为这会更容易。
答案 0 :(得分:0)
cat fifo
答案 1 :(得分:0)
您的模型中是否有连接到数据表的日历表?
如果是,请说日历表名为 DimDate ,并且它包含一个名为 YearMonth 的列,则公式为:
Month Sales := SUMX(
VALUES(DimDate[YearMonth]),
SUM(DailyEvent[XCount])
)
如果您没有日历表,那么您可以使用以下公式在表格中创建名为YearMonth的计算列:
=LEFT(DailyEvent[TimeID], 6)
然后用:
计算月销售额的总和Month Sales := SUMX(
VALUES(DailyEvent[YearMonth]),
SUM(DailyEvent[XCount])
)
希望这有帮助!
关于您使用的公式的说明: 时间智能功能,例如TOTALMTD,需要日历表。因此,在使用数据模型之前,请务必添加一个。
编辑:
另一种解决方案可能是创建日期列:
= DATE(
LEFT(DailyEvent[TimeID], 4),
MID(DailyEvent[TimeID], 5, 2),
1)
然后将该列放在图形的X轴上,将XCount列放在Y轴上。
答案 2 :(得分:0)
您可以在Power BI或SSAS模型中使用度量计算,如果有日历表,请确保将其标记为日期表,否则时间逻辑将不起作用。我使用以下查询(DAX)计算月初日期
MtD :=CALCULATE(SUM('DailyEvent'[XCount]),DATESMTD('DateTabe'[calendarDate]))
但是,如果没有日历,或者您正在使用be-spoke日历,这可能有所帮助 Running Totals Whitout a Traditional Calendar Table