Compartilhar via


Conversões de moeda no Analysis Services

Aplica-se a: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

O Analysis Services usa uma combinação de recursos, guiados por scripts MDX (Expressões Multidimensionais), para fornecer suporte à conversão de moeda em modelos de dados que dão suporte a várias moedas.

Terminologia de conversão de moeda

A terminologia a seguir é usada para descrever a funcionalidade de conversão de moeda:

Moeda pivô - É a moeda em relação à qual as taxas de câmbio são inseridas no grupo de medidas de taxa.

Moeda local - É a moeda usada para armazenar transações nas quais as medidas a serem convertidas se baseiam.

A moeda local pode ser identificada por:

  • Um identificador de moeda na tabela de fatos armazenada com a transação, como normalmente é o caso de aplicativos bancários em que a transação em si identifica a moeda usada para essa transação.

  • Um identificador de moeda associado a um atributo em uma tabela de dimensão que é então associado a uma transação na tabela de fatos, como geralmente é o caso em aplicativos financeiros em que um local ou outro identificador, como uma subsidiária, identifica a moeda usada para uma transação associada.

Moeda de relatório - É a moeda para a qual as transações são convertidas da moeda base.

Observação

Para conversões de moeda de muitas para uma, a moeda pivô e a moeda de relatório são as mesmas.

Dimensão de moeda – uma dimensão de banco de dados definida com as seguintes configurações:

  • A propriedade Type da dimensão é definida como Moeda.

  • A propriedade Type de um atributo para a dimensão é definida como CurrencyName.

Os valores desse atributo devem ser usados em todas as colunas que devem conter um identificador de moeda.

Grupo de medidas de taxa – um grupo de medidas em um cubo, definido com as seguintes configurações:

  • Existe uma relação de dimensão regular entre uma dimensão de moeda e o grupo de medidas de taxa.

  • Existe uma relação de dimensão regular entre uma dimensão de tempo e o grupo de medidas de taxa.

  • Opcionalmente, a propriedade Type é definida como ExchangeRate. Embora o Assistente de Business Intelligence use as relações com as dimensões de moeda e tempo para identificar grupos de medidas de taxa prováveis, definir a propriedade Type como ExchangeRate permite que os aplicativos cliente identifiquem com mais facilidade os grupos de medidas de taxa.

  • Uma ou mais medidas, que representam as taxas de câmbio contidas no grupo de medidas de taxa.

Dimensão de moeda de relatório – é a dimensão, definida pelo Assistente de Business Intelligence após a definição de uma conversão de moeda, que contém as moedas para relatórios para essa conversão de moeda. A dimensão da moeda de relatório é baseada em uma consulta nomeada, que está definida na exibição da fonte de dados. Essa consulta serve de base para a dimensão de moeda associada ao grupo de medidas de taxa, proveniente da tabela principal da dimensão da moeda. A dimensão é definida com as seguintes configurações:

  • A propriedade Type da dimensão é definida como Moeda.

  • A propriedade Type do atributo de chave para a dimensão é definida como CurrencyName.

  • A propriedade Type de um atributo dentro da dimensão é definida como CurrencyDestination e a coluna associada ao atributo contém os identificadores de moeda que representam as moedas de relatório para a conversão de moeda.

Definindo conversões de moeda

Você pode usar o Assistente de Business Intelligence para definir a funcionalidade de conversão de moeda ou definir manualmente conversões de moeda usando scripts MDX.

Pré-requisitos

Antes de definir uma conversão de moeda usando o Assistente de Business Intelligence, primeiro você deve definir pelo menos uma dimensão de moeda, pelo menos uma dimensão de tempo e pelo menos um grupo de medidas de taxa. Nesses objetos, o Assistente de Business Intelligence pode recuperar os dados e metadados usados para construir a dimensão de moeda de relatório e o script MDX necessários para fornecer a funcionalidade de conversão de moeda.

Decisions

Você precisa tomar as seguintes decisões antes que o Assistente de Business Intelligence possa construir a dimensão da moeda de relatório e o script MDX necessários para fornecer a funcionalidade de conversão de moeda:

  • Direção da taxa de câmbio

  • Membros convertidos

  • Tipo de conversão

  • Moedas locais

  • Moedas de Relatório

Direções de taxa de câmbio

O grupo de medidas de taxa contém medidas que representam as taxas de câmbio entre moedas locais e a moeda dinâmica (comumente conhecida como moeda corporativa). A combinação de direção de taxa de câmbio e tipo de conversão determina a operação executada em medidas a serem convertidas pelo script MDX gerado usando o Assistente de Business Intelligence. A tabela a seguir descreve as operações executadas dependendo da direção da taxa de câmbio e do tipo de conversão, com base nas opções de direção de taxa de câmbio e nas direções de conversão disponíveis no Assistente de Business Intelligence.

Muitos para um One-to-many Many-to-many
n moeda dinâmica para 1 moeda de exemplo Multiplique a medida a ser convertida pela taxa de câmbio da moeda local para converter a medida na moeda principal. Divida a medida a ser convertida pela medida de taxa de câmbio para a moeda de relatório, a fim de converter a medida na moeda de relatório. Multiplique a medida a ser convertida pela taxa de câmbio para a moeda local a fim de converter a medida na moeda pivô, e divida a medida convertida pela taxa de câmbio para a moeda de relatório para convertê-la na moeda de relatório.
n moeda amostra para 1 moeda pivô Divida a medida a ser convertida pela taxa de câmbio da moeda local para converter a medida na moeda de referência. Multiplique a medida a ser convertida pela medida de taxa de câmbio para a moeda de relatório, a fim de converter a medida na moeda de relatório. Divida a medida a ser convertida pela taxa de câmbio da moeda local para converter a medida na moeda pivô e, em seguida, multiplique a medida convertida pela taxa de câmbio para a moeda de relatório, a fim de converter a medida na moeda de relatório.

Você escolhe a direção da taxa de câmbio na página Definir opções de conversão de moeda do Assistente de Business Intelligence. Para obter mais informações sobre como definir a direção da conversão, consulte Definir Opções de Conversão de Moeda (Assistente de Business Intelligence).

Membros convertidos

Você pode usar o Assistente de Business Intelligence para especificar quais medidas do grupo de medidas de taxa são usadas para converter valores para:

  • Medidas em outros grupos de medidas.

  • Membros de uma hierarquia de atributos para um atributo de conta em uma dimensão de banco de dados.

  • Tipos de conta, usados por membros de uma hierarquia de atributos para um atributo de conta em uma dimensão de banco de dados.

O Assistente de Business Intelligence usa essas informações no script MDX gerado pelo assistente para determinar o escopo do cálculo de conversão de moeda. Para obter mais informações sobre como especificar membros para conversão de moeda, consulte Selecionar Membros (Assistente de Business Intelligence).

Tipos de conversão

O Assistente de Business Intelligence dá suporte a três tipos diferentes de conversão de moeda:

  • Um para muitos

    As transações são armazenadas na tabela de fatos na moeda pivô, e depois convertidas em uma ou mais outras moedas de relatório.

    Por exemplo, a moeda de referência pode ser definida como dólares dos Estados Unidos (USD), e a tabela de fatos armazena transações em USD. Esse tipo de conversão converte essas transações da moeda pivô para as moedas de relatório especificadas. O resultado é que as transações podem ser armazenadas na moeda pivô especificada e exibidas na moeda pivô especificada ou em qualquer uma das moedas de relatório definidas na dimensão de moeda de relatório para conversão de moeda.

  • Muitos-para-um

    As transações são armazenadas na tabela de fatos em moedas locais e convertidas na moeda pivô. A moeda pivô serve como a única moeda de relatório especificada na dimensão de moeda de relatório.

    Por exemplo, a moeda dinâmica pode ser definida como dólares dos Estados Unidos (USD), e a tabela de fatos armazena transações em euros (EUR), dólares australianos (AUD) e pesos mexicanos (MXN). Esse tipo de conversão converte essas transações de suas moedas locais especificadas para a moeda pivô. O resultado é que as transações podem ser armazenadas nas moedas locais especificadas e exibidas na moeda pivô, que é especificada na dimensão de relatório de moeda definida para a conversão de moeda.

  • Muitos para muitos

    As transações são armazenadas na tabela de fatos em moedas locais. A funcionalidade de conversão de moeda converte essas transações na moeda pivô e, em seguida, em uma ou mais moedas de relatório adicionais.

    Por exemplo, a moeda dinâmica pode ser definida como dólares dos Estados Unidos (USD), e a tabela de fatos armazena transações em euros (EUR), dólares australianos (AUD) e pesos mexicanos (MXN). Esse tipo de conversão converte essas transações de suas moedas locais especificadas para a moeda dinâmica e, em seguida, as transações convertidas são convertidas novamente da moeda dinâmica para as moedas de relatório especificadas. O resultado é que as transações podem ser armazenadas nas moedas locais especificadas e visualizadas na moeda de referência especificada ou em qualquer uma das moedas de apresentação especificadas na dimensão de moeda de apresentação definida para a conversão de moeda.

Especificar o tipo de conversão permite que o Assistente de Inteligência Empresarial defina a consulta nomeada e a estrutura da dimensão de moeda do relatório, bem como a estrutura do script MDX definida para a conversão de moeda.

Moedas locais

Se você escolher um tipo de conversão de muitos para muitos ou de muitos para um para a conversão de moedas, precisará especificar como identificar as moedas locais a partir das quais o script MDX gerado pelo Assistente de Business Intelligence realiza os cálculos de conversão de moeda. A moeda local de uma transação em uma tabela de fatos pode ser identificada de duas maneiras:

  • O grupo de medidas contém uma relação de dimensão regular com a dimensão da moeda. Por exemplo, no banco de dados de exemplo Adventure Works DW Multidimensional 2012 do SQL Server Analysis Services, o grupo de medidas Vendas na Internet tem uma relação de dimensão regular com a dimensão Moeda. A tabela de fatos desse grupo de medidas contém uma coluna de chave estrangeira que faz referência aos identificadores de moeda na tabela de dimensões para essa dimensão. Nesse caso, você pode selecionar o atributo na dimensão de moeda referenciada pelo grupo de medidas para identificar a moeda local para transações na tabela de fatos desse grupo de medidas. Essa situação geralmente ocorre em aplicativos bancários, em que a transação em si determina a moeda usada dentro da transação.

  • O grupo de medidas contém uma relação de dimensão referenciada com a dimensão da moeda, por meio de outra dimensão que faz referência diretamente à dimensão da moeda. Por exemplo, no banco de dados de exemplo do SQL Server Analysis Services da Adventure Works DW Multidimensional 2012, o grupo de medidas de Relatório Financeiro tem uma relação de dimensão referenciada à dimensão Moeda através da dimensão Organização. A tabela de fatos desse grupo de medidas contém uma coluna de chave estrangeira que faz referência aos membros na tabela de dimensões da dimensão Organização. A tabela de dimensões da dimensão Organização, por sua vez, contém uma coluna de chave estrangeira que faz referência aos identificadores de moeda na tabela de dimensões para a dimensão Moeda. Essa situação geralmente ocorre em aplicativos de relatórios financeiros, em que o local ou a subsidiária de uma transação determina a moeda da transação. Nesse caso, você pode selecionar o atributo que faz referência à dimensão da moeda na dimensão da entidade de negócios.

Moedas de Relatório

Se você escolher um tipo de conversão muitos para muitos ou um para muitos para sua conversão de moeda, precisará especificar as moedas de relatório para as quais o script MDX gerado pelo Assistente de Business Intelligence executa os cálculos de conversão de moeda. Você pode especificar todos os membros da dimensão de moeda relacionados ao grupo de medidas de taxa ou selecionar membros individuais na dimensão.

O Assistente de Business Intelligence cria uma dimensão de moeda de relatório, com base em uma consulta definida construída a partir da tabela de dimensão da moeda usando as moedas de relatório selecionadas.

Observação

Se você selecionar o tipo de conversão um para muitos, uma dimensão de moeda de relatório também será criada. A dimensão contém apenas um membro que representa a moeda pivô, pois a moeda pivô também é usada como a moeda de relatório para uma conversão de moeda de um para muitos.

Uma dimensão de moeda de relatório separada é definida para cada conversão de moeda definida. Você pode alterar o nome das dimensões de moeda de relatório após a criação, mas se fizer isso, também deverá atualizar o script MDX gerado para essa conversão de moeda para garantir que o nome correto seja usado pelo comando de script ao referenciar a dimensão de moeda de relatório.

Definindo várias conversões de moeda

Usando o Assistente de Business Intelligence, você pode definir quantas conversões de moeda forem necessárias para sua solução de business intelligence. Você pode substituir uma conversão de moeda existente ou acrescentar uma nova conversão de moeda ao script MDX. Várias conversões de moeda fornecem flexibilidade em aplicativos de business intelligence que têm requisitos de relatórios complexos, como aplicativos de relatórios financeiros que dão suporte a vários requisitos de conversão separados para relatórios internacionais.

Conversão de moeda em modelos multidimensionais usando o Assistente de Business Intelligence

O Assistente de Business Intelligence identifica cada conversão de moeda enquadrando os comandos de script para a conversão de moeda nos seguintes comentários:

//<Currency conversion>

...

[MDX statements for the currency conversion]

...

//</Currency conversion>

Se você alterar ou remover esses comentários, o Assistente de Business Intelligence não poderá detectar a conversão de moeda, portanto, você não deve alterar esses comentários.

O assistente também armazena metadados em comentários dentro desses comentários, incluindo a data e a hora de criação, o usuário e o tipo de conversão. Esses comentários também não devem ser alterados porque o Assistente de Business Intelligence usa esses metadados ao exibir conversões de moeda existentes.

Você pode alterar os comandos de script contidos em uma conversão de moeda, conforme necessário. No entanto, se você substituir a conversão de moeda, as alterações serão perdidas.

Consulte também

Cenários de globalização para o Analysis Services