更改SSAS多维数据集计算成员中的粒度/计算级别

时间:2019-08-21 16:45:09

标签: ssas multidimensional-cube

我在使用现有SSAS多维多维数据集中的现有计算成员时遇到麻烦。成员将值乘以汇率,以当地货币提供总计。由于当前配置方式的原因,该成员正乘以不正确的可用最大汇率,并返回了大于预期的金额。我希望在合计之前将不同的可用费率与适当的值相加。

请注意,我对SSAS多维数据集非常缺乏经验,而我团队中所有其他经验丰富的成员都休假了几个星期,因此,非常感谢您的帮助,请耐心等待。

我尝试过:

  1. 在成员的表达式中添加方括号以尝试在聚合之前强制进行计算

  2. 更改“比率乘数”度量的用法为SUM或不进行汇总

  3. 更改维度用法以通过映射视图使用多对多关系

当前计算出的成员看起来像这样...

([[Measures]。[Team Quota LC] * [Measures]。[Rate Multiplier-Team Quota])

我可以使用以下代码在SQL中重现当前结果和所需结果。

SELECT
    AccountingQuarter AS Quarter
,   SUM(TQ.QuotaLC) AS BaseQuota
,   SUM(TQ.QuotaLC) * MAX(TQM.RateMultiplier) -- Current 
,   SUM(TQ.QuotaLC * TQM.RateMultiplier) -- Desired
FROM
    SSAS.TeamQuota TQ
    INNER JOIN SSAS.TeamQuotaMapping TQM
        ON TQM.TeamQuotaID = TQ.TeamQuotaID
    INNER JOIN SSAS.AccountingMonths Am
        ON Am.AccountingMonthKey = TQ.AccountingMonthKey
GROUP BY
    AccountingQuarter

产生这些结果

Quarter BaseQuota       CurrentOutput   DesiredOutput
Q1      64,836,153.25   84,500,958.53   28,164,535.84 
Q2      74,040,823.84   96,497,405.71   33,801,294.79 
Q3      78,423,023.06   102,208,725.95  37,165,697.36 
Q4      83,912,787.72   109,363,536.23  40,984,793.23 

CurrentOutput行将BaseQuota乘以1.3033,这是所有RateMultipliers的最大值。

希望您能从SQL中看到,我要求在每个季度(或其他日期期间)的SUM级别之前应用适当的RateMultiplier,在这种情况下,由子公司应用。如果按子公司细分,则可以按子公司有效地应用不同的RateMultiplier,然后像下面的Q1一样应用SUM ...

SubsidiaryID    Quarter  BaseQuota       DesiredResult   RateMultiplier
-999            Q1       1,102,000.00    1,236,223.60    1.1218
-888            Q1       587,746.18      587,746.18      1.0000
1               Q1       4,501,628.57    5,866,972.52    1.3033
3               Q1       15,043,647.50   15,043,647.50   1.0000
7               Q1       39,821,131.00   2,747,658.04    0.0690
11              Q1       3,780,000.00    2,682,288.00    0.7096

请帮助我提供有关如何更改多维数据集或计算所得的成员以产生所需结果的建议或建议。

预先感谢您精彩的StackOverflow-ers

0 个答案:

没有答案