簡體   English   中英

如何使用Power BI Slicer過濾表的兩列

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM