Report Studio基本概念五、数据格式选项:日期、数字和百分比

浏览: 2545

事实上,所有的报表都和数值型的信息有关。为这些数值设定正确的格式非常重要。在此示例中,我们将创建一张使用datesnumberspercentages格式数据的报表。

在商业报表中,日期的转化和格式化是非常重要的。我们将使用两种方式从“Shipment Date Key”中显示MONTH-YEAR。我们将在一个数值型的列上应用一些格式并且把一个比率设置显示为百分比。

 

准备工作

 

使用名空间Sales (query)中的Product | Product line, Product | Product type  Time (Ship date) | Day key (Ship date)作为列表的列创建一个简单的列表,同时添加Sales Fact查询项目中的QuantityUnit PriceUnit Cost到列表中。为Product lineProduct type创建分组。

 

如何实施

 

1. 我们从添加一个把Shipment Day Key转化为日期的计算开始。从toolbox中,添加一个Query Calculation到报表中。

2. 定义此Calculation为:

cast([Sales (query)].[Time (ship date)].[Day key (ship date)], date).

3. 选择新添加的计算列,从属性窗中打开Data Format。通过点击Data Format旁的browse按钮打开Data Format对话框。

4. 选择format typeDate,设置Date StyleMediumDisplay DaysNo

Clipboard Image.png

5. 选中报表中的Quantity列,从属性窗中选择Data Format,再次打开对话框。

6. 这次选择数据类型为Number,并且按照要求设置不同的属性。本例中我们设置number of decimal place2negative sign symbol()

7. 最后,我们添加一个比率计算到报表中。实现方式:添加一个新的query calculation并且定义为:[Unit price]/[Unit cost]

8. 选中步骤7创建的列,设置其数据格式为Percent,选择%作为percent symbol,设置decimal places2,设置Divide by Zero CharactersN/A

9. 运行并测试报表。

工作原理

在此示例中,我们尝试了多种技巧。我们使用CAST函数把一个数值型的值转化为日期型。同时,还使用Data Format属性的date类型来隐藏数据中的特定部分(在此例中,隐藏了days)以及如何修改分隔符。最后,我们测试了numberpercentage格式选项。

CAST函数

CAST函数是用来将数据从一种格式转化为另外一种。我们在函数的第二个参数中指定转化的目标格式。这里,我们将数据转化为日期类型,把YYYYMMDD格式的date key转化为一个日期。

之后,我们为了显示的目的把此列的数据格式设置为date,并且设置display days属性为No。这样,日期就显示为MONTH-YEAR的格式,而不显示DAY

数值型数据格式(Numerical format

这个格式比较直接。按照我们的设置,Quantity列显示为2位小数,负数显示在括号内。

%比率(%Martin

Unit priceunit cost之间的比率由此项目计算得到。如果没有应用格式,数值会简单的显示为二者相除后的值。通过把数据格式设置为PercentCognos自动把数值乘以100,并且显示为百分数。

更多

请注意,通常的在数据仓库中会储存一张带有“Date”类型字段的calendar表,或者,这个转化工作在Framework Model中已经完成了。所以,我们不需要每次都把key转化为date。此例仅仅向你展示这个技巧,并把CAST函数介绍给你。

同时,我们假定企业主需要查看发货月份,并且,他们希望以MONTH YEAR的格式来查看。所以我们隐藏了days

另外一个可以实现隐藏days的方法如下:

我们把Shipment Day Key的表达式修改为:

[Sales (query)].[Time (ship date)].[Day key (ship date)]/10000

现在把此列的Data Format设置为Number,并使用如下选项:

  No of decimal places = 2

  Decimal separator = 连字符 (-)

  Use thousand separator = No

运行报表并检查输出。我们会看到day key的最后2位已经被去掉了,并且年和月部分以连字符相连。这么做并没有“真的”把day key转化为date类型,但是,看起来是“日期”类型。

Clipboard Image.png


在此处这么做的好处是数值运算比CAST运算要快。我们可以使用类似的技巧达到“看起来”一样的需求效果。

推荐 0
本文由 zhengyi1943 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册