这可以通过几个步骤来完成。
首先,我们需要一个日期列表来进入我们的切片器。如果您使用单独的日期表,那么这是一个很好的来源。否则,您可以使用 DAX 构建一个,其中包含 EnterTime 和 ExitTime 列中的所有日期。
单击建模功能区中的“创建表”。放入以下 DAX:
DateListTable = UNION(
SELECTCOLUMNS('MyTable', "DateList", 'MyTable'[EnterTime]),
SELECTCOLUMNS('MyTable',"DateList", 'MyTable'[ExitTime])
)
您现在有一个切片器和一个表格视觉对象。选择切片器,然后导航到“格式”功能区(仅在选择视觉对象时可用。使用“编辑交互”关闭切片器对表格的过滤。将其设置为无交互(带有对角线的圆圈)。
创建新度量
ShowDate =
VAR SelectedDate = SELECTEDVALUE('DateListTable'[DateList], BLANK())
Return
if(SelectedDate >= Max('MyTable'[EnterTime ]) && SelectedDate <= max('MyTable'[ExitTime]), 1, 0)
最后,在新度量 ShowDate 上过滤您的表格视觉对象,当它为 1 时。
因此,我们创建了一个带有完整日期列表的独立切片器。但是我们打破了它和表之间的任何过滤关系。相反,我们使用“SelectedValue”来捕获从过滤器中选择的值,并创建一个 dax 度量,当过滤器中的值介于 EnterTime 和 Exit 时间之间时显示“1”。过滤那个 dax 度量,我们得到我们想要的行为。