我有一个带有两个数据切片器的方案。第一个数据限幅器过滤一个周期的数据,第二个数据限幅器过滤另一个周期的数据。通过编辑视觉交互,我可以在同一页面上工作。 现在,我想比较两个结果值(在这种情况下,是交易数,并找到两个选定期间之间的变化百分比。
我复制了数据列,所以每个切片器都有两个日期列,并计算了下一个度量:
# of Transactions 1 = CALCULATE(COUNT(Report[ProductID]),DATESBETWEEN(Report[Date1],[Start Date 1],[Last Date 1]))
# of Transactions 2 = CALCULATE(COUNT(Report[ProductID]),DATESBETWEEN(Report[Date2],[Start Date 2],[Last Date 2]))
% Transaction Change = ([# of Transactions 1]/[# of Transactions 2]) - 1
前2个度量是准确的(事务1和2的数量),但是%的更改无效。 如果您看下面的屏幕截图,您会看到#od Transactions 1 = 1,990和#of Transactions 2 = 2,787。我现在想比较这两个值。
我该如何解决?
谢谢。
答案 0 :(得分:1)
首先为日期范围创建两个度量:
Min Date :=
MIN ( 'Report'[Date] )
Max Date :=
MAX ( 'Report'[Date] )
然后使用以下DAX创建日期表,它将在主要日期加入到您的“报告”表中:
Dates :=
VAR MinDate = [Min Date]
VAR MaxDate = [Max Date]
VAR BaseCalendar =
CALENDAR ( MinDate, MaxDate )
RETURN
GENERATE (
BaseCalendar,
VAR BaseDate = [Date]
VAR YearDate =
YEAR ( BaseDate )
VAR MonthNumber =
MONTH ( BaseDate )
VAR YrMonth =
100 * YEAR ( BaseDate )
+ MONTH ( BaseDate )
VAR Qtr =
CONCATENATE ( "Q", CEILING ( MONTH ( BaseDate ) / 3, 1 ) )
VAR YrMonthQtr =
100 * YEAR ( BaseDate )
+ MONTH ( BaseDate )
& CONCATENATE ( "Q", CEILING ( MONTH ( BaseDate ) / 3, 1 ) )
VAR YrMonthQtrDay =
100 * YEAR ( BaseDate )
+ MONTH ( BaseDate )
& CONCATENATE ( "Q", CEILING ( MONTH ( BaseDate ) / 3, 1 ) )
& DAY ( BaseDate )
RETURN
ROW (
"Day", BaseDate,
"Year", YearDate,
"Month Number", MonthNumber,
"Month", FORMAT ( BaseDate, "mmmm" ),
"Year Month", FORMAT ( BaseDate, "mmm yy" ),
"YrMonth", YrMonth,
"Qtr", Qtr,
"YrMonthQtr", YrMonthQtr,
"YrMonthQtrday", YrMonthQtrDay
)
)
现在创建另一个要比较的日期表,并在“报告”中加入您的主要日期表,并确保该关系处于非活动状态:
Compare Dates :=
ALLNOBLANKROW ( 'Dates' )
现在创建[交易次数]度量;一个用于“日期”,另一个用于“比较日期”,例如:
[# of Transaction 1] :=
CALCULATE (
COUNT ( Report[ProductID] )
)
[# of Transaction 2] :=
CALCULATE (
[# of transaction 1],
ALL ( 'Dates' ),
USERELATIONSHIP ( 'Compare Dates'[Date], 'Report'[Date] )
)
现在创建%Delta量度:
Transaction Change := CALCULATE(DIVIDE([# of Transactions 1],[# of Transactions 2]) - 1)
这应该像超级按钮一样工作,并且适用于切片器中选择的任何日期,您仍然需要将日期切片器与新的日期表相关联。
我希望这会有所帮助!