gpt4 book ai didi

sharepoint - 报告服务,从任何 Sharepoint 列表获取数据

转载 作者:行者123 更新时间:2023-12-02 18:49:22 24 4
gpt4 key购买 nike

我正在尝试根据 Sharepoint (2010) 列表构建 SSRS (2008R2) 报告。主要问题是运行报表的列表必须是报表参数。我知道列表结构是什么,但是共享点站点可以包含多个具有此结构的列表实例,并且在运行报表时,用户必须选择列表名称。此外,该报表还有两个日期参数:MinDateTime 和 MaxDateTime,并且仅选择时间在这两者之间的记录。

据我所知,至少有两种方法来构建报告:

  1. 使用 Sharepoint 列表数据源并在 CAML 中编写数据集查询,在数据源中指定站点,让 SSRS 处理其余的详细信息。本例中的问题是我无法将 ListName 指定为报告参数。数据集查询如下所示:

    <pre>
    <RSSharePointList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <ListName>BusinessList1</ListName>
    <ViewFields>
    <FieldRef Name="Title" />
    <FieldRef Name="BusinessUnit" />
    <FieldRef Name="ScanDateTime" />
    </ViewFields>
    <Query>
    <Where>
    <And>
    <Geq>
    <FieldRef Name="ScanDateTime" />
    <Value Type="DateTime">
    <Parameter Name="MinScanDateTime" />
    </Value>
    </Geq>
    <Leq>
    <FieldRef Name="ScanDateTime" />
    <Value Type="DateTime">
    <Parameter Name="MaxScanDateTime" />
    </Value>
    </Leq>
    </And>
    </Where>
    </Query>
    </RSSharePointList>

  2. 使用XML数据源并以soap可读的XML编写数据集查询,直接访问/_vti_bin/lists.asmx Web服务。查询应如下所示(包括列表名称作为参数)。但是,我无法使其与日期参数一起工作。它们应该添加到哪里?

     <pre>  
    <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>BusinessList1</DefaultValue>
    </Parameter>
    <Parameter Name="viewFields">
    <ViewFields>
    <FieldRef Name="Title" />
    <FieldRef Name="BusinessUnit" />
    <FieldRef Name="ScanDateTime" />
    </ViewFields>
    </Parameter>
    </Parameters>
    </Method>
    <ElementPath IgnoreNamespaces="True">*</ElementPath>
    </Query>

任何方向都会很棒。谢谢,

最佳答案

您可以使用选项 1,将查询编写为表达式。构建一个长字符串,参数位于中间。您需要一个单独的查询来向参数提供 BusinessLists 列表。

表达式如下所示:

="<pre>
<RSSharePointList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<ListName>"

& Parameters!BusinessList.value &

"</ListName>
<ViewFields>
<FieldRef Name="Title" />
<FieldRef Name="BusinessUnit" />
<FieldRef Name="ScanDateTime" />
</ViewFields>
<Query>
<Where>
<And>
<Geq>
<FieldRef Name="ScanDateTime" />
<Value Type="DateTime">
<Parameter Name="MinScanDateTime" />
</Value>
</Geq>
<Leq>
<FieldRef Name="ScanDateTime" />
<Value Type="DateTime">
<Parameter Name="MaxScanDateTime" />
</Value>
</Leq>
</And>
</Where>
</Query>
</RSSharePointList>"

[编辑]:我也不确定预标记来自哪里。我已经使用共享点列表连接类型创建了一个测试报告,但它没有添加该报告。看看这个MS link on the basics

它指出您不需要指定要返回的字段,因此一个非常基本的查询表达式如下所示(添加了我的填充参数):

="<RSSharePointList xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema""><ListName>" & Parameters!List.Value & "</ListName></RSSharePointList>"

在上面的原始示例中,我没有提到您需要通过将 XML 中的双引号加倍来转义它们。我已经测试过了,效果很好。

关于sharepoint - 报告服务,从任何 Sharepoint 列表获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10074102/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com