0
我在將報表參數傳遞給連接到SharePoint列表的報表後面的CAML查詢時遇到了一些問題。 我有一個參數Date(日期時間類型)。將DateTime SSRS參數過濾器傳遞給SharePoint GetListItems CAML查詢問題
我在查詢中使用了=Parameters!Date.Value
,但默認<CalendarDate>
將當前日期作爲默認日期,並返回當前日期的結果,即當天日期。但是,如果我使用2012-11-03T00:42:34Z
這樣的實際硬編碼日期,則報告可以正常工作。
所以我不知道我錯過了什麼,我的查詢如下
<Query>
<SoapAction>http://schemas.microsoft.com/sharepoint/soap/GetListItems</SoapAction>
<Method Namespace="http://schemas.microsoft.com/sharepoint/soap/" Name="GetListItems">
<Parameters>
<Parameter Name="listName">
<DefaultValue>Bookings</DefaultValue>
</Parameter>
<Parameter Name="query" Type="xml">
<DefaultValue>
<Query>
<Where>
<DateRangesOverlap>
<FieldRef Name="EventDate"/>
<FieldRef Name="EndDate"/>
<FieldRef Name="RecurrenceID"/>
<Value Type="DateTime">
<Today/>
</Value>
</DateRangesOverlap>
</Where>
</Query>
</DefaultValue>
</Parameter>
<Parameter Name="queryOptions" Type="xml">
<DefaultValue>
<QueryOptions>
<ExpandRecurrence>TRUE</ExpandRecurrence>
<CalendarDate>=Parameters!Date.Value</CalendarDate>
</QueryOptions>
</DefaultValue>
</Parameter>
<Parameter Name="ViewFields" Type="xml">
<DefaultValue>
<ViewFields>
<FieldRef Name="Title" />
<FieldRef Name="EventDate" />
<FieldRef Name="EndDate" />
<FieldRef Name="Room" />
<FieldRef Name="Hosted_x0020_By" />
<FieldRef Name="External_x0020_Attendees" />
<FieldRef Name="Catering_x0020_Requirements" />
<FieldRef Name="Fixed_x0020_Facilities" />
<FieldRef Name="Other_x0020_Facilities" />
<FieldRef Name="Company" />
<FieldRef Name="Layout" />
</ViewFields>
</DefaultValue>
</Parameter>
</Parameters>
</Method>
<ElementPath IgnoreNamespaces="True">*</ElementPath>
</Query>
我嘗試了不同的格式選項
= CDATE(參數!Date.Value)的ToString( 「yyyy-MM-ddTHH:mm:ssZ」)
但是它仍然不能正常工作,即使我不提供任何價值,它仍然會返回當前日期的結果。
如果我把它比當天返回。我想不知道該參數值在查詢中根本沒有傳遞。 請幫助
如果您在運行報表時在TextBox中放置** = CDate(Parameters!Date.Value).ToString(「yyyy-MM-ddTHH:mm:ssZ」)**,您會看到什麼? –
值正確的文本框,但查詢沒有采取輸入值,我做錯了傳遞參數?該查詢只是採用當天的默認日期並執行。 – Ishan