2015-09-25 155 views
0

我正在使用DAX查詢爲報告服務報告建立數據集。我想使用參數,以便用戶可以過濾日期和位置,但我不知道如何將這些變量傳遞給我的DAX表達式。將參數傳遞給DAX查詢

這是我DAX查詢檢索數據集:

EVALUATE 
(
ADDCOLUMNS ( 
    'Case', 
    "Casenumber", RELATED('Casedetails'[Casenumber]), 
    "Casetitle", RELATED('Casedetails'[Casetitle]), 
    "Date", RELATED ('Casedates'[Shortdate]), 
    "Caselink", RELATED ('Casedetails'[Caselink]), 
    "Place", RELATED('Geography'[Place]) 
    ) 
) 

我如何建立基於參數@date和@Place過濾器?

回答

2

您需要更改DAX查詢以使用可計算函數。該函數接受過濾第一個參數的第二個參數。請參閱下面的示例代碼:

EVALUATE 
(
    CALCULATETABLE 
    (
     ADDCOLUMNS ( 
      'Case', 
      "Casenumber", RELATED('Casedetails'[Casenumber]), 
      "Casetitle", RELATED('Casedetails'[Casetitle]), 
      "Date", RELATED ('Casedates'[Shortdate]), 
      "Caselink", RELATED ('Casedetails'[Caselink]), 
      "Place", RELATED('Geography'[Place]) 
      ), 
//insert filters here 
     'Casedates'[Shortdate] = @Date, 
     'Geography'[Place] = @Place 
    ) 
) 

然後您需要在查詢設計器中添加參數,就像您通常在SSRS中那樣。您還需要像通常那樣在全局範圍內添加報告級別的參數。我假設你已經知道你需要在查詢設計器中使用DMX選項來在SSRS中執行DAX。

讓我知道如果這個工程,我的DAX有點生疏!

+0

感謝您的回答@Kalim!當嘗試你的解決方案與虛擬變量,我得到以下'查詢(3,1)參數'3'在CALCULATETABLE函數是必需的' – bjornasm

+0

沒關係,現在不知何故現在可以工作。謝謝。 – bjornasm

+1

最後一次過濾後,最有可能是一個額外的逗號......當我有一個額外的逗號時,我得到了同樣的錯誤。很高興有幫助。 – Kalim