如何获得切片器选择的值之间的差异?

时间:2018-07-17 19:32:24

标签: difference slicers powerbi-desktop

我是Power BI的新手,目前正在处理表格可视化和切片器。

我的数据如下

学生桌:

enter image description here

日期表:

enter image description here

检查表:

enter image description here

表中的关系如下: enter image description here

我想要一个类似下图所示的输出,我想创建2个表格视觉效果,可以在“学生姓名”,“教室”中过滤并在2个日期设置切片器。我需要计算最低分数。用户必须能够一次在切片器上选择2个日期,切片器上选择的第一个日期应附加到我的“ date1的最低分数”上,切片器上选择的第二个日期应附加在我的“最小分数上的日期”上date2”和第三列“分数差异”必须能够计算date1的最低分数和date2的最低分数之差。

类似地,我也想计算平均最低分数

enter image description here

请让我知道如何进行操作,或者我应该应用哪种替代的公式,查询或方法来获得所需的结果。谢谢!

1 个答案:

答案 0 :(得分:1)

在我开始之前,让我提到这个示例是在SSAS中完成的,因此可能需要对PowerBi进行一些调整,但是逻辑仍然相同。

首先创建一个克隆日期表,并将其命名为其他名称,例如“比较日期”。接下来,在“比较日期”和“事实”表之间创建一个非活动的一对多关系,请参见下图,在这种情况下,我将加入[年月],您需要进行调整以适应您的需求:

enter image description here

如果不确定如何执行此操作,只需右键单击新表并选择“创建关系”选项,确保该关系类似于下图:

enter image description here

完成此操作后,右键单击“关系”并将其标记为无效。

现在您有了新的日期表并建立了关系,我希望您创建一些DAX度量:

Min Date 1 = Min('Student Table'[Score])

Min Date 2 = CALCULATE(Min('Student Table'[Score]), ALL('Dates'), USERELATIONSHIP('Compare Date'[Date], 'Fact'[Date]))

Avg Date 1 = AVERAGE('Student Table'[Score])

Avg Date 2 = CALCULATE(AVERAGE('Student Table'[Score]), ALL('Dates'), USERELATIONSHIP('Compare Date'[Date], 'Fact'[Date]))

Delta Min = [Min Date 2] - [Min Date 1]

Delta Avg = [Avg Date 2] - [Avg Date 1]

这些度量将精确计算您所需要的内容,并且可以通过绑定到每个日期表的两个日期切片器独立进行过滤。剩下的只是忙碌的工作。

我希望这会有所帮助。