2014-03-29 76 views
0

我非常感谢Report Builder的一些帮助。如下所示,我有一个显示项目数量的报告。在我的SQL查询中,我用CASE语句用y或n来标记某些项目。Microsoft Report Builder - 列总数的行总数百分比

我想要做的是添加一个计算的单元格,它将用y标记的项目的所有值相加,然后除以总数和* 100,以找到总数量标记为y的行的百分比。

答案寻找的是 -

Apple | Y | 100 
Pear | Y | 200 
Orange| N | 500 
Total |  800 

Percent of Ys = 37.5% (100+200/800*100) 

我是新来的报表生成器,所以请让我知道,如果这没有任何意义。

非常感谢。

回答

0

您可以为您的查询添加两列,使用与您的CASE语句类似的逻辑作为Y/N列。仅当“Y”的条件为真时,第一列才填充值,否则为零。仅当“N”的条件为真时,第二列才填充值,否则为零。这会给你设置一个类似的结果:

  All  Y  N 

Apple | Y | 100 | 100 | 0 
Pear | Y | 200 | 200 | 0 
Orange| N | 500 | 0 | 500 
Total |  800 | 300 | 500 

那么你的计算是这样的:

Percent of Ys = (Sum(Y)/Sum(All)) * 100 

Percent of Ys = (300/800) * 100 = 37.5% 
+0

感谢您的答复。但是,我找不到一种方法将此添加到我的SQL查询。它不会让我引用在case语句中创建的列吗?你能告诉我一种在SQL中执行此操作的方法吗? Mnay谢谢。 – user3103335

+0

你不能引用你已经创建的列,你需要重复新列中的CASE逻辑 – Nathan

+0

啊好吧。非常感谢,我想我已经破解了它:) – user3103335