Share via


Exemplos de cálculo de planejamento e orçamento para cenários e soluções de planejamento de BI

 

Aplica-se a: SharePoint Server 2010 Enterprise

Tópico modificado em: 2011-01-28

Exemplos de cálculo de planejamento e orçamento

Cálculos de cubo

Veja a seguir um exemplo de como podemos efetuar alguns cálculos simples em MdxScript para chegar ao modelo Orçamento de RH.

Cálculo do salário base

Calcule o salário base por hora dos funcionários levando em conta o número de horas trabalhadas e o salário por hora, conforme determinado pelo nível salarial.

// All calculations on HR done at leaf level
SCOPE
(
  [Employee].[All_Employee].members
  , DESCENDANTS([Geography].[Geographies].[All], 1000, LEAVES) 
  , [Measures].[Value]
);

[Metric].[Metrics].[Base] =

CASE [Metric].[Metrics].[PayGrade]
  WHEN 1 THEN [Metric].[Metrics].[Hours]/2000 *([Measures].[HR Pay Rates_Value], [PayGrade].[PayGrade].&[1])
  WHEN 2 THEN [Metric].[Metrics].[Hours]/2000 *([Measures].[HR Pay Rates_Value], [PayGrade].[PayGrade].&[2])
  WHEN 3 THEN [Metric].[Metrics].[Hours]/2000 *([Measures].[HR Pay Rates_Value], [PayGrade].[PayGrade].&[3])
  WHEN 4 THEN [Metric].[Metrics].[Hours]/2000 *([Measures].[HR Pay Rates_Value], [PayGrade].[PayGrade].&[4])
  WHEN 5 THEN [Metric].[Metrics].[Hours]/2000 *([Measures].[HR Pay Rates_Value], [PayGrade].[PayGrade].&[5])
  WHEN 6 THEN [Metric].[Metrics].[Hours]/2000 *([Measures].[HR Pay Rates_Value], [PayGrade].[PayGrade].&[6])
  WHEN 7 THEN [Metric].[Metrics].[Hours]/2000 *([Measures].[HR Pay Rates_Value], [PayGrade].[PayGrade].&[7])
  WHEN 8 THEN [Metric].[Metrics].[Hours]/2000 *([Measures].[HR Pay Rates_Value], [PayGrade].[PayGrade].&[8])
  ELSE NULL
END;

END SCOPE;

Cálculo de benefícios

Cálculo para determinar o valor estimado dos benefícios com base no salário base.

// All calculations on HR done at leaf level
SCOPE
(
  [Employee].[All_Employee].members
  , DESCENDANTS([Geography].[Geographies].[All], 1000, LEAVES) 
  , [Measures].[Value]
);
// Benefit averaged out to 25% of base
[Metric].[Metrics].[Benefit] = [Metric].[Metrics].[Base] * 0.25; 

END SCOPE;

Cálculo da compensação total

Cálculo da compensação total de acordo com a compensação base e o valor dos benefícios.

// All calculations on HR done at leaf level
SCOPE
(
  [Employee].[All_Employee].members
  , DESCENDANTS([Geography].[Geographies].[All], 1000, LEAVES) 
  , [Measures].[Value]
);

// Total = base + benefits
[Metric].[Metrics].[Total] = [Metric].[Metrics].[Base] + [Metric].[Metrics].[Benefit]; 

END SCOPE;

Cálculos de procedimentos armazenados

Muitas soluções de planejamento exigem uma regra de conversão de moeda que converta dados financeiros em várias moedas. Exploraremos aqui um exemplo de regra de conversão de moeda implementada por um procedimento armazenado. Para executar a conversão de moeda, precisamos do seguinte:

  • Tabela de Taxa de Câmbio com as taxas de conversão de uma moeda de origem em uma moeda de destino e por período de tempo.

  • Uma tabela de fatos com todos os valores que exigem conversão.

Como temos um modelo projetado para o armazenamento de taxas de câmbio, podemos usar a tabela de fatos como a tabela de taxas de câmbio.

T-SQL para a conversão de moeda

SELECT 
a.MemberName [Account]
,t.MemberId [Time]
,s.MemberName [Scenario]
,g.MemberName [Geography]
,c.MemberName [CurrencyType]   
,g.[Input Currency]
,g.[Reporting Currency]
  ,Fact.[Value]   
  ,ExchangeRate.Value [Exchange Rate]
  ,Fact.[Value]*ExchangeRate.Value [Calculated]
 FROM [dbo].[F_Financial Consolidation_CoreMG_Writeback] Fact
 INNER JOIN D_Account a
 ON Fact.AccountID = a.MemberId
 INNER JOIN D_Time t
 ON Fact.TimeID = t.memberid
 INNER JOIN D_Scenario s
 ON Fact.GeographyID = s.MemberId
 INNER JOIN D_Geography g
 ON Fact.ScenarioID = g.MemberId
 INNER JOIN d_currencyType c
 ON Fact.currencyTypeID = c.MemberId 
 ---
 --- Currency Join
 ---
 INNER JOIN
 (SELECT 
 sc.MemberName [Source]
 ,dc.MemberName [Destinatation] 
 ,t.MemberId [Time]
 ,[Value]
 FROM [F_Exchange Rates_CoreMG_Writeback] ef
 INNER JOIN D_SourceCurrency sc
 ON sc.MemberId = ef.SourceCurrencyID
 INNER JOIN D_DestinationCurrency dc
 ON dc.MemberId = ef.DestinationCurrencyID
 INNER JOIN D_Time t
 ON t.MemberId = ef.TimeID 
 WHERE sc.MemberId <> dc.MemberId) ExchangeRate
ON ExchangeRate.Source = g.[Input Currency]
AND ExchangeRate.Destinatation = g.[Reporting Currency]

See Also

Concepts

Cenários básicos de planejamento em cenários e soluções de planejamento de BI
Planejando o datamart para cenários e soluções de planejamento de BI
Conceitos de modelagem de planejamento em cenários e soluções de planejamento de BI
Modelagem de cubos para write-back em cenários e soluções de planejamento de BI
Abordagens e considerações de desempenho em cenários e soluções de planejamento de BI
Modelagem de cubos com o Excel PowerPivot em cenários e soluções de planejamento de BI
Criar relatórios e formulários para cenários e soluções de planejamento de BI
Enviar dados de planos para cenários e soluções de planejamento de BI
Ações de fluxo de trabalho, diagrama de fluxo de trabalho e configuração de fluxos de trabalho do SharePoint para cenários e soluções de planejamento de BI
Rastreamento de auditoria para cenários e soluções de planejamento de BI
Administração para cenários e soluções de planejamento de BI
Cálculos para cenários e soluções de planejamento de BI
Funções adicionais de planejamento para cenários e soluções de planejamento de BI
Migração para cenários e soluções de planejamento de BI
Manutenção para cenários e soluções de planejamento de BI
Gerenciamento de grandes corporações aplicado a subsidiárias para cenários e soluções de planejamento de BI
Guia de modelagem e relatórios de planejamento para cenários e soluções de planejamento de BI
Guia para o desenvolvimento de funcionalidades de planejamento para cenários e soluções de planejamento de BI
Exemplos de cálculo de planejamento e orçamento para cenários e soluções de planejamento de BI