SSRS格式显示为百分比

时间:2014-11-12 17:09:18

标签: reporting-services formatting report ssrs-2008-r2

我已经在这里做了很多例子,如果我问一个重复的问题,我会道歉,据我所知,我不是。

我制作了一份SSRS报告,显示了我们销售部门某些方面的总销售额。它们按行,成本,毛利,毛利%,订单数量,总销售额分列。"列是我们销售的方面。网络销售,电话销售等......

在Tablix中我可以格式化一个文本框以将结果显示为数字,但正如您所看到的,我还有Percentage和Count。我不知道如何在原始文本框格式的上下文中格式化这些格式。所以我知道我已经将所有在那里显示的内容作为一个数字,但是如何处理显示百分比的百分比和显示为计数的数量?

例如,所有百分比目前显示为" $ 0.35"以及遵循该形式的各种其他数字。该计数目前也显示为货币。

我使用了我在这里找到的一个例子," = Iif(Me.Value = Floor(Me.Value)," 0%"," 0.00 %"),"但所做的一切都是让那一栏中出现的所有东西," 0.00%"我对SSRS很新,过去两周一直在不停地填写,但我找不到这方面的帮助。提前感谢您提供的一切。

更新:=IIF(Fields!LVS_Web.Value=0.00, "0%", format(Fields!LVS_Web.Value, "P"))

这在某种程度上起作用,但现在一切都是百分之......在这里思考ELSE,但我不知道ELSE是如何进入的,我从未见过ELSE这个词。

更新2:我注意到的是,在声明中,它说的是&#34; = 0.00,&#34; 0%&#34;,&#34;这甚至不适用。我只是把它放在那里,因为我是新手,我只需要一个参数。在数字<1的条件下,我取0%并将其改为N. .99,希望我能抓住所有低于1的值的小数。比如,&#34; $。23&#34;,后来变成23.45%,所以我可以这样做,但是我不知道&# 39; t udnerstand它是否制造了其他所有东西,&#34; N,&#34;而不是数字。这是为什么?它没有做出其他一切,&#34; P?&#34;

我失去了该死的心灵。

还有一个事实是,这是从存储过程中提取的信息,我对这些信息还不太了解,我经常被分配简单的任务作为学习的踏脚凳。我真的不知道查询是什么,但如果我愿意,我就无法编辑它。这可以通过表达式格式化来完成,但我的表达式太宽泛,但我使用大于或小于的结果得到混合结果,并且它可能不是最明智的用法,因为这些数字不是一成不变的。我的日子差不多完成了,我的进步很少,但我吃了一顿丰盛的午餐。如此成功。

所以我为这个问题提供了自己的答案,并且它有效。谢谢我感谢所有试图帮助我并帮助我的人。我很欣赏陌生人为彼此付出的努力。

我开发了一个新问题,我需要显示相对于被拉数据的时间。我现在可以把它放在那里并获得今天的约会,但是如果有人从FEB提取信息,那么它们可能会在当前日期之前稍微改变一下。我很快就会想到这一点,但如果有人能在此期间提供帮助,我将不胜感激。

4 个答案:

答案 0 :(得分:17)

标准原则是将数据与显示分开,因此使用Value属性将数据存储在其本机数据类型中,并使用Format属性以您希望的方式显示它。因此,不要使用Value属性(例如=Format(Fields.SomeField.Value, "0.00%"))格式化表达式,而将Value保留为=Fields!SomeField.Value,并将Format属性设置为P2

将报表导出到Excel时,这一点尤为重要,因为如果您拥有正确的数据数据类型,它将作为正确的数据类型导出到Excel。如果您使用Format函数,它将导出为文本,使排序和公式无法正常工作。

控制格式最简单的方法是使用standard numeric formats。单击要具有特定格式的单元格或单元格区域,然后设置Format属性。它们是格式说明符字母,后跟可选的精度数字(小数位数)。一些有用的是:

C带有2位小数的货币(默认情况下)

N4带小数点后4位的数字

P0没有小数位数的百分比

点击上面的链接查看完整列表。将数字单元格格式化为数字,将百分比格式化为百分比 - 您不需要尝试使每个单元格适合一个格式字符串。

这些标准数字格式也尊重区域设置。您应该将报告的Language属性设置为=User!Language,以使用用户的区域设置而不是报告服务器。

答案 1 :(得分:3)

=iif(Fields!Metric.Value = "Gross Profit %",
 Format(Fields!LVS_Web.Value,"P"),
 iif(Fields!Metric.Value = "Order Count",
 Format(Fields!LVS_Web.Value,"G4"),
  Format(Fields!LVS_Web.Value,"C")))

这就是拯救我并做我想做的事。还有另一个错误,但这是我的老板的错,所以现在我开始嘲笑他。谢谢大家。

答案 2 :(得分:3)

如果数字已经是* 100,例如。 9.5应显示为9.5%,然后使用格式:

0.00\%

9.5 - &gt; 9.5%

0.34 - &gt; 0.34%

这样您就可以使用标准数字格式,只需将%添加到结尾即可。 \转义%,阻止格式化* 100(这将使9.5显示950%。)。

答案 3 :(得分:0)

来源:

https://technet.microsoft.com/en-us/library/bb630415(v=sql.100).aspx

这很容易使用,

(当前范围的行项目总计之和)/(数据集的行项目总计之和)的百分比。 使用指定一个小数位的FormatPercent格式化此值。

="Percentage contributing to all sales: " & FormatPercent(Sum(Field!LineTotal.Value)/Sum(Field!LineTotal.Value,"Sales"),1)