[英]How to use a Power BI slicer to filter two column of a table
我有一些這樣的人的進入和退出時間表:
Name | EnterTime | ExitTime
=============================
Tom | 13:52:00 | 20:55:00
Robert | 15:55:00 | 21:12:00
Sarah | 19:08:00 | 19:48:00
Jack | 16:54:00 | 17:32:00
我想向用戶顯示在選定的時間點存在的用戶。
換句話說,我想要一個dateTime切片器,用戶將選擇一個時間,然后對該表進行過濾以僅顯示具有以下內容的行:
EnterTime < selectedTime < ExitTime
只需幾個步驟即可完成。
首先,我們需要一個日期列表以進入我們的切片器。 如果您使用單獨的日期表,那么這是一個很好的來源。 否則,您可以使用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 time之間時,它會顯示“ 1”。 過濾掉那個粗俗的度量,我們得到我們想要的行為。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.