日历

2008 9.6 Sat
 123456
78910111213
14151617181920
21222324252627
282930    
«» 2008 - 9 «»

日志分类

文章搜索

日志文章

2008年02月18日 10:32:43

数据分析讲堂

数据分析讲堂

第五课 TM1应用实例

第五讲 采购和货币交换(四)

3.基本派生
2)其他计算
Thor最近的聚合成功激励了他,他想继续建立一些有意义的分析型派生。首先,让我们定义一个计算来找出所有支出的钱与声明的价格和采购数量不一致的采购事件。Lulu提出了一个她称之为Data_check的公式,如果每件事都一致则值为0,否则为1,如下所示(注意赋值运算符|=的使用):
“Data_check” =
    If (
    “Local currency spent” ( Lcurr )

    ( “quantity bought” ( Kg) ×
   )=1
    |=0
    Else |= 1
现在很容易统计采购数据可能含有错误的次数,例如,用下面的公式:
Cnt(Data_check.1)
如果你想找出哪些市场具有最大数目的不一致,如下的公式片断可以完成:
Market.(Cnt(Data_check.1).Drank.(1to5)
此公式定位出在所有鱼和时间上具有最大不一致总数的市场.
现在该怎么寻找源的不稳定性?Lulu建议用下面的查询公式计算年内价格波动最大的鱼(实际是鱼名,{N}代表名称或名词):
“Fish”{N},“Country”{N},
( ( “Local Price”{Lcurr},Time.year.this).min).Drank . (1to5)
这将返回5条具有最大年内价格摆动的鱼――国家纪录。你怎么认为?Thor注意到一个致命问题。如果最初没有以某种方式对价格变化进行相对化,就没有办法对跨国的价格变化进行完全有意义的比较。根据OLAP工具的默认设置的不同,此类公式要么不能编译,要么返回货币牌价最低的国家,如图5.5.1所示。

显而易见,检索鱼国家记录的方法是要把所有的当地货币转换成美元然后再比较。但是LuluThor还不能访问汇率立方体,那么他们能做什么呢?Lulu指出她能为每一个鱼国家记录建立一个相对价格,用任一特定时间支付的价格除以那个国家当年的平均价格,如下面的公式,其取值范围是最小数{D}
“Relative price”{D},
  Time.leaf.,
  Foodsource.Fish.leaf.,
  Geography.Market., =
  “Local Price”{Lcurr}

  (“Local Price”{Lcurr},Time.Year)
5.5.2显示了一个当地货币鱼价的集合,年平均价格和关联的相对价格。
借助于相对价格,我们能够继续寻找具有年度最大相对价格变化的鱼,在所有鱼上具有最大年度相对价格变化的国家,以及具有最大相对价格变化的国家—鱼记录。

为了计算具有最大相对价格变化的鱼,Thor说首先有必要把鱼的采购跨国家合并,这需要按照所购鱼的数量对相对价格变化进行加权,所用的公式如下:
“Relative price”{D},
Foodsource.fish.leaf.,
Geog.all,
Time.year. =
      Sum (
      ( “Relative price”{D},Geog.leaf.) ×

      ( (“Quantity purchased”{Kg},Geog.leaf.)

      ( “Quantity purchased”{Kg} ) )
      )
回想加权平均是加权因子与要求平均项的乘积的和,这也是为什么加权平均相对价格要通过求和来计算的原因。还要注意在公式课程中计算内容是如何因地理维而变换的,因此,我们在等式左边以地理维的所有等级开始,这使我们必须明确地陈述我们应该从地理维叶子等级开始汇总相对价格。由于内容设置在右边,我们还需要把地理限制在子句(”Quantity purchased”{Kg},Geog.leaf.)内,但最终,对分母来说,由于我们想计算所有国家的采购数量(这是一个resolution ratio),我们不必添加任何限定词,因为内容已经是所有的国家。
你对前面的公式有何看法?你能想出一个表达同样公式但使用更少操作符的方法吗?Lulu能。她问Thor道,你为什么要生成所有这些比率呢?为什么不只是汇总序列产品的价格和采购数量,然后除以汇总总额,只需除以总采购价格一次呢?公式如下:
“Relative price”{D},
  Foodsource.fish.leaf.,
  Geog.all.,
  Time.year. =
Sum (
( “Relative price”{D}, Geog.leaf.) ×

( “Quantity purchased”{Kg},Geog.leaf.)
)

“Quantity purchased”{Kg}
Thor承认Lulu的版本更有效,但当处理小数据量时,尤其是当手工处理少量计算时,他更喜欢他的计算形式,因为他把权因子:
( (“Quantity purchased”{Kg},Geog.leaf.)

( “Quantity purchased”{Kg} ) )
显示为独立的比率。但Lulu更高效的版本没有计算各个权重因子。
Thor继续计算具有最大价格波动的鱼,公式如下,结果显示在图5.5.3
“Fish”{N}
    Geog.all,
    ( ( “Relative price”{D},Time.year.this ) .max

    ( “Relative price”{D}, Time.year.this.min ) .Drank. ( 1 to 5 )

LuluThor此公式是否必须应用到地理维的所有成员上,或者它也应该应用到更低的层次结构上。你怎么认为?
这取决于你想做什么,Thor回答。如果FCI想知道世界上相对价格变动最大的鱼,那么公式就应该保持这个样子。
然而,如果FCI执行的是分散的采购策略,则它想要得到的是对每个采购地区来说具有最大价格变动的鱼。Lulu问道,那么你应该如何用没有指定地理的方法定义公式呢?考虑一下。

类别: 无分类 |  评论(0) |  浏览(1803) |  收藏
发表评论