开关参数:
Parameter =
{
("Last week", NAMEOF('Order_dates'[Datetime]), 0),
("Last day", NAMEOF('Order_dates'[Time]), 1)
}
计算测量(工作正常):
_revenue =
VAR _today = TODAY()
VAR _last_day =
CALCULATE(
sum('Sells'[Revenue]),
KEEPFILTERS(
DATESINPERIOD(
'_calendar'[Date],
TODAY(),
-1,
DAY)
)
)
VAR _last_week =
CALCULATE(
sum('Sells'[Revenue]),
KEEPFILTERS(
DATESINPERIOD(
'_calendar'[Date],
TODAY(),
-7,
DAY)
)
)
RETURN
SWITCH(
TRUE(),
ISINSCOPE('Order_dates'[Datetime]), _last_week,
ISINSCOPE('Oreder_dates'[Time]), _last_day
)
型号:
日历:
我尝试过使用关系(Order_dates [Date],_calendar [prev_week_for_plot]),prev_week_for_plot将日期移了7天(如果需要,请检查日历)。 我之前在 SQL 查询中使用过该逻辑,它确实有效。
但我仍然得到错误的结果。
_week_ago =
VAR _today = TODAY()
VAR _time_shift = 7
VAR _last_day =
CALCULATE(
sum('Sells'[Revenue]),
KEEPFILTERS(
DATESINPERIOD(
_calendar[prev_week_for_plot],
TODAY() - _time_shift,
-1,
DAY)
),
USERELATIONSHIP(Order_dates[Date], _calendar[prev_week_for_plot])
)
VAR _last_week =
CALCULATE(
sum('Sells'[Revenue]),
KEEPFILTERS(
DATESINPERIOD(
_calendar[prev_week_for_plot],
TODAY() - _time_shift,
-7,
DAY)
),
USERELATIONSHIP(Order_dates[Date], _calendar[prev_week_for_plot])
)
RETURN
SWITCH(
TRUE(),
ISINSCOPE('Order_dates'[Datetime]), _last_week,
ISINSCOPE('Order_dates'[Time]), _last_day
)
结果:
我通过最后一天的计算得到了正确的结果。
我必须将上周的值移至图表右侧。
我
我发现我做错了。 首先,我将下一天/下一周的日期添加到 Order_dates。
参数:
Parameter =
{
("Last week", NAMEOF(_calendar[Date]), 0),
("Last day", NAMEOF(_time[Time]), 1)
}
并以我的衡量正确的用户关系和切换:
_prev_day =
VAR _today = TODAY()
VAR _time_shift = 0
VAR _last_day =
CALCULATE(
sum('Sells'[Revenue]),
KEEPFILTERS(
DATESINPERIOD(
_calendar[Date],
TODAY() - _time_shift,
-1,
DAY)
),
USERELATIONSHIP(_calendar[Date], Order_dates[next_day_date])
)
VAR _last_week =
CALCULATE(
sum('Sells'[Revenue]),
KEEPFILTERS(
DATESINPERIOD(
_calendar[Date],
TODAY() - _time_shift,
-7,
DAY)
),
USERELATIONSHIP(_calendar[Date], Order_dates[next_day_date])
)
RETURN
SWITCH(
TRUE(),
ISINSCOPE(_calendar[Date]), _last_week,
ISINSCOPE(_time[Time]), _last_day
)
结果: