1

我想在 SQL Reporting services 中自定义我的查询。它没有从数据集中添加和删除代码的选项。

我的查询是:

WITH Requests AS
(
SELECT
CASE

WHEN Request LIKE '%greenhopper%'  THEN 'GreenHopper' 
WHEN Request LIKE '%gadget%'  THEN 'Dashboard' 
WHEN Request LIKE '%admin%'  THEN 'Admin'
WHEN Request LIKE '%AssignIssue%' or  Request LIKE '%AttachFile%'  THEN 'Update Issue'
WHEN Request LIKE '%Create%' THEN 'Create Issue'
WHEN Request LIKE '%EditIssue%'  THEN 'Edit Issue'
WHEN Request LIKE '%GET /browse%'  THEN 'Browse Project'
WHEN Request LIKE '%GET /sr/jira.issueviews:searchrequest-xml%'  THEN 'Export'
WHEN Request LIKE '%logout%' or Request LIKE '%Logout!default.jspa%'  THEN 'Logout' 
WHEN Request LIKE '%AddComment.jspa%'  THEN 'Comment'
WHEN Request LIKE 'GET /secure/projectavatar?pid%' THEN 'Project Avatar'


ELSE 'Others'
END RequestType
FROM LogData where (convert(nvarchar(10), TimeLog, 120) between (@StartDate) and  (@EndDate))
and ( CAST(TimeLog AS TIME) between  (@StartTiming) and  (@EndTiming))
)
SELECT
RequestType,
COUNT(*) RequesCount
FROM Requests
GROUP BY RequestType order by RequesCount DESC

我希望有人可以根据自己的标准添加和删除“When Remove LIKE .........”语句。但问题是在报表服务的报表生成器中没有选项可以做这样的事情。

我打算用 Java 制作一个单独的 GUI-Application 来进行配置,但是没有包含查询的文件。我不知道它存储在哪里以及如何存储。

请有人告诉我如何找到此代码或一些解决方案来执行此操作。我附上报表生成器的屏幕截图

报告生成器

4

1 回答 1

1

做到这一点的唯一方法是从您的查询中创建一个表达式。单击查询框右侧的 Fx 按钮。您必须创建一个类似这样的表达式:

="With Requests as....When request like" + Parameters!QueryCriteria.Value + "Else 'Others'..." 

创建一个参数来存储来自用户的值(本例中为 QueryCriteria)。您需要在将查询转换为表达式之前构建报表,以便报表生成器可以正确构建数据集的字段。

于 2012-06-27T18:07:47.937 回答