Abaixo temos alguns exemplos básicos de funções que podem ser úteis em suas análises.
Apresentar os Membros Filhos da Dimensão.
[DIMENSÃO].[Todos].Children
Variação/Diferença entre Duas Medidas Simples.
[Measures].[MEDIDA] – [Measures].[MEDIDA2]
Formatações: Moeda(R$), Padrão(Inteiro), Percentual(%) e Com Duas Casas Decimais(12,34).
Currency, Standard, Percent, "#,##0.00"
Variação Percentual entre Duas Medidas.
[Measures].[MEDIDA] / [Measures].[MEDIDA2]
Formatação Condicional de Moeda + Cores. As cores padrões são red, yellow e green, se deseja outras troque style=red por customCss=background-color:orange (exemplo para cor laranja).
Iif(([Measures].[MEDIDA] < 0.0), "|R$#,##0.00|style=green", "|R$#,##0.00|style=red")
Formatação Condicional de Percentual + Alerta tipo Semáforo.
Iif(([Measures].[MEDIDA] > 0.0), "|0.00%|image=/resources/images/kpi/green-ball.gif","|0.00%|image=/resources/images/kpi/ball-red.gif")
Medida Acumulada Ano.
Sum(PeriodsToDate([PERIODO.(Completo)].[Ano]), [Measures].[MEDIDA])
Medida Histórica 12 Meses.
([Measures].[MEDIDA], [PERIODO.(Completo)].CurrentMember.Lag(12))
Formatação Condicional de Percentual + Seta Up/Down.
Iif(([Measures].[MEDIDA] > 0.0), "|0.00%|arrow=up", "|0.00%|arrow=down")
Filtrar somente os membros válidos do “TOP 100”. Geralmente utilizado em analises de ABC, podendo variar o valor do “TOP”.
NON EMPTY Filter(TopCount({[DIMENSÃO].Children}, 100.0, [Measures].[MEDIDA]), Not IsEmpty([Measures].[MEDIDA])) ON ROWS
Membro Dia Atual.
MEMBER [Measures].[DiaAtual] AS(Iif((Format(now(), "Mm") = [PERIODO].CurrentMember.Name) AND (Format(now(), "yyyy") = [PERIODO].CurrentMember.Parent.Name),CDbl(Format(Now(), "d")), [PERIODO].CurrentMember.Children.Count))
Membro Dia Anterior.
MEMBER [Measures].[DiaAnterior] AS Iif(([Measures].[DiaAtual] = 1), 1, ([Measures].[DiaAtual] – 1))
Membro Dias do Mês.
MEMBER [Measures].[DiasDoMes] AS Sum(PeriodsToDate([PERIODO].[Mes]), 1.0)
Membro Último Dia do Mês.
MEMBER [Measures].[UltimoDiadoMes] AS (([PERIODO].CurrentMember.LastChild),[Measures].[DiasDoMes])
Membro Dias Restantes.
MEMBER [Measures].[DiasRestantesMes] AS Iif(([Measures].[UltimoDiadoMes] = [Measures].[DiaAtual]),0, ([Measures].[UltimoDiadoMes] – [Measures].[DiaAnterior]))
Média Últimos 3 Meses.
Avg(([PERIODO].CurrentMember.Lag(3.0) : [PERIODO].CurrentMember.Lag(1.0)), [Measures].[MEDIDA])
Função de Arredondamento da Medida em 2 Casas Decimais (podendo variar “2”).
(ROUND([Measures].[MEDIDA], 2)
Tem como função evitar que um valor inválido seja apresentado como resultado de um cálculo.
Iif(([Measures].[MEDIDA] = 0 OR IsEmpty([Measures].[MEDIDA])), Null, "Calculo")
Tem como função evitar que um valor inválido seja apresentado como resultado de um cálculo, considerando ambas medidas do mesmo. (Expressão Composta).
Iif((([Measures].[MEDIDA] = 0 OR IsEmpty([Measures].[MEDIDA])) OR([Measures].[MEDIDA2] = 0 OR IsEmpty([Measures].[MEDIDA2]))), Null, "Calculo")
Tem como função evitar que um valor inválido seja apresentado como resultado de um cálculo, condicionando as medidas separadamente (Condicionante).
Iif(([Measures].[MEDIDA] = 0 OR IsEmpty([Measures].[MEDIDA])), Iif(([Measures].[MEDIDA2] = 0 OR IsEmpty([Measures].[MEDIDA2])), Null, 1),"Calculo")
Formatação de uma Medida, apresentando a máscara de percentual + cores (Três Faixas de Cores). As cores padrões são red, yellow e green, se deseja outras troque style=red por customCss=background-color:orange (exemplo para cor laranja).
Iif(([Measures].[MEDIDA] < 0.90), "|0.00%|style=red",Iif(([Measures].[MEDIDA] >= 1), "|0.00%|style=green", "|0.00%|style=yellow"))
Formatação de uma Medida, apresentando a máscara de percentual + cor (Alerta Vermelho). As cores padrões são red, yellow e green, se deseja outras troque style=red por customCss=background-color:orange (exemplo para cor laranja).
Iif(([Measures].[MEDIDA] < 0), "|0.00%|style=red", "|0.00%|")
Formatação de uma Medida, apresentando a máscara de percentual + cores (Duas Cores + Exceção). As cores padrões são red, yellow e green, se deseja outras troque style=red por customCss=background-color:orange (exemplo para cor laranja).
Iif(([Measures].[MEDIDA] < 0), "|0.00%|style=red", Iif([Measures].[MEDIDA] > 0.40), "|0.00%|style=green", "|0.00%|")
Formatação de uma Medida, apresentando a máscara de percentual + cores (Três Cores + Exceção). As cores padrões são red, yellow e green, se deseja outras troque style=red por customCss=background-color:orange (exemplo para cor laranja).
Iif(([Measures].[MEDIDA] < 0), "|0.00%|style=red", Iif(([Measures].[MEDIDA] > (0.4)), "|0.00%|style=green",Iif(([Measures].[MEDIDA] < (0.18)), "|0.00%|style=yellow", "|0.00%|")))
Medida Condicional por Dimensão/Membro.
([DIMENSÃO].[MEMBER], [Measures].[MEDIDA])
Construção de Membros Agregados simples.
MEMBER [DIMENSÃO].[Todos].[NOME MEMBRO] AS Aggregate({[DIMENSÃO].[MEMBRO], [DIMENSÃO].[MEMBRO2]})
Construção de Membros Agregados em Range. Considerando o Primeiro membro após o final do Range ([DIMENSÃO].[MEMBRO FINAL].Lag(1) ) como membro final.
MEMBER [DIMENSÃO].[Todos].[NOME MEMBRO] AS Aggregate({[DIMENSÃO].[MEMBRO INICIAL] : [DIMENSÃO].[MEMBRO FINAL].Lag(1)})
Construção de Membros Agregados com Exceção de Membros na Agregação.
MEMBER [DIMENSÃO].[NOME MEMBRO] ASAggregate({Except ([DIMENSÃO].Children,{[DIMENSÃO].[MEMBRO EXCEPT], [DIMENSÃO].[MEMBRO EXCEPT]})})
Apresentar Membros da Dimensão desconsiderando as Exceções.
NON EMPTY {Except([DIMENSÃO].Children,{[DIMENSÃO].[MEMBRO EXCEPT], [DIMENSÃO].[MEMBRO EXCEPT]})} ON ROWS
Formatação Condicional Medalhas.
Iif(([Measures].[MEDIDA] >= 9), "|OURO|image=images/kpi/medal_gold.png", Iif(([Measures].[MEDIDA] >= 8.0), "|PRATA|image=images/kpi/medal-silver.png","|BRONZE|image=images/kpi/medal-bronze.png"))
Formatação de uma Medida, apresentando a máscara de percentual + Alerta tipo Semáforo (3 Cores). As cores padrões são red, yellow e green, se deseja outras troque style=red por customCss=background-color:orange (exemplo para cor laranja).
Iif(([Measures].[MEDIDA] < 0.90), "|0.00%|image=/resources/images/kpi/ball-red.gif", Iif(([Measures].[MEDIDA] >= 1), "|0.00%|image=/resources/images/kpi/green-ball.gif", "|0.00%|image=/resources/images/kpi/ball-yellow.gif"))
Formatação de uma Medida Condicional, apresentando a máscara de percentual + Alerta tipo Semáforo (3 Cores). As cores padrões são red, yellow e green, se deseja outras troque style=red por customCss=background-color:orange (exemplo para cor laranja).
Iif(([Measures].[MEDIDA] < 0), Iif(([Measures].[MEDIDA2] < 0), "|0.00%|image=/resources/images/kpi/green-ball.gif", Iif(([Measures].[MEDIDA2] >= 0.1001), "|0.00%|image=/resources/images/kpi/ball-red.gif","|0.00%|image=/resources/images/kpi/ball-yellow.gif")),Iif(([Measures].[MEDIDA2] >= 0), "|0.00%|image=/resources/images/kpi/green-ball.gif", Iif(([Measures].[MEDIDA2] <= (-0.1001)), "|0.00%|image=/resources/images/kpi/ball-red.gif","|0.00%|image=/resources/images/kpi/ball-yellow.gif")))
Medida de Participação vertical de uma dimensão analisada.
Iif((IsEmpty([Measures].[MEDIDA]) OR ([Measures].[MEDIDA] = 0)), Null, (([DIMENSÃO].[Todos].CurrentMember, [Measures].[MEDIDA]) / ([DIMENSÃO].[NOME_MEMBRO], [Measures].[MEDIDA])))