2012-11-17 208 views
2

我有而它與下面的表達式過濾的SSRS報告:日期範圍問題,缺少日期

="{[Claim Cheque].[Cheque Date].&[" + format(Parameters!StartDate.Value, "yyyy-MM-dd") + "T00:00:00]:[Claim Cheque].[Cheque Date].&[" + format(Parameters!EndDate.Value, "yyyy-MM-dd") + "T00:00:00]}" 

工作正常。我的問題是我沒有檢查每天,這使得查詢返回沒有結果。作爲一個例子,我選擇11月1日至20日的日期範圍。我在14日和15日進行檢查,但不是20日。這樣我會在我的報告中錯過第14和第15的結果。

我知道如何強制參數才能獲取多維數據集中的現有值。但我需要能夠選擇所有日期。有沒有其他方法可以使這個表達式返回想要的結果?

任何幫助表示讚賞。

+0

你是什麼意思「獲得過濾」?數據集過濾器? 「我會錯過第14次和第15次的結果」是什麼意思? –

+0

如果問題不明確,我很抱歉,邁克。我在SSRS報告的數據集中使用上述表達式作爲參數值。並且在數據集查詢中使用參數'... SELECT(STRTOSET(@myParameter))...'。 「Parameters!StartDate」和「Parameters!EndDate」是報告參數。關於報告結果中缺失的值,我的問題是我手動創建了一個MDX集,它的'Parameters!EndDate' = 11月20日不存在。 –

回答

2

它在我看來像你有一個單獨的日期維度僅用於[檢查日期],而不是鏈接回完全填充的主日期維度。看一下訂單日期和發貨日期尺寸在AdventureWorks示例中的完成方式。他們解釋說好聽的位置:Role-playing dimensions

我能夠運行MDX查詢,如針對該數據,那裏有上下限的開始日期和結束日期沒有交易你:

Select 
[Measures].[Order Count] on 0, 
[Sales Channel].&[Reseller] on 1 
From [Adventure Works] 
Where {[Ship Date].[Fiscal].[Date].&[20060701]:[Ship Date].[Fiscal].[Date].&[20060710]} 

Select 
[Measures].[Order Count] on 0, 
([Sales Channel].&[Reseller], 
{[Ship Date].[Fiscal].[Date].&[20060701]:[Ship Date].[Fiscal].[Date].&[20060710]}) on 1 
From [Adventure Works]