Excel DAX - Trabalhando com Texto e Datas
O DAX pode ser usado em cenários que envolvem trabalhar junto com texto, extração e composição de valores de data e hora ou criação de valores com base em uma condição. Você pode fazer o seguinte com DAX -
- Crie uma coluna-chave em uma tabela por concatenação.
- Componha uma data com base nas partes da data extraídas de uma data de texto.
- Defina um formato de data personalizado.
- Altere os tipos de dados usando uma fórmula.
- Converta números reais em inteiros.
- Converta números reais, inteiros ou datas em strings.
- Converta strings em números reais ou datas.
Criação de uma coluna chave por concatenação
O modelo de dados no PowerPivot permite apenas uma única coluna de chave. Ele não oferece suporte a chaves compostas que você possa encontrar nas fontes de dados externas. Portanto, se houver chaves compostas em uma tabela na fonte de dados, será necessário combiná-las em uma única coluna de chave para a tabela no Modelo de Dados.
Você pode usar a função DAX CONCATENATE para combinar duas colunas em uma única coluna em uma tabela no Modelo de Dados. A função DAX CONCATENATE une duas sequências de texto em uma sequência de texto. Os itens unidos podem ser texto, números ou valores booleanos representados como texto ou uma combinação desses itens. Você também pode usar uma referência de coluna se a coluna contiver valores apropriados.
= CONCATENATE ([Column1], [Column2])
A função DAX CONCATENATE aceita apenas dois argumentos. Se algum dos argumentos não for do tipo de dados de texto, ele será convertido em texto. A função DAX CONCATENATE retorna a string concatenada.
Data com base nas partes da data extraídas de uma data de texto
O Modelo de Dados no Power Pivot oferece suporte a um tipo de dados datetime para valores de data e hora. As funções DAX que funcionam em valores de data e / ou hora requerem o tipo de dados datetime para os argumentos.
Se sua fonte de dados contém datas em um formato diferente, você precisa primeiro extrair as partes da data usando uma fórmula DAX e combinar essas partes para constituir um tipo de dados datetime válido DAX.
Você pode usar as seguintes funções DAX para extrair e compor datas -
DATE - Retorna a data especificada no formato datetime.
DATEVALUE - Converte uma data na forma de texto em uma data no formato datetime.
TIMEVALUE - Converte uma hora em formato de texto em uma hora em formato datetime.
Definindo um formato de data personalizado
Suponha que as datas em sua fonte de dados não sejam representadas por um formato padrão. Você pode definir um formato de data personalizado para garantir que os valores sejam tratados corretamente. A função DAX FORMAT permite converter um valor em texto de acordo com o formato especificado.
FORMAT (<value>, <format_string>)
A função FORMAT retorna uma string contendo um valor formatado conforme definido por format_string.
Você pode usar formatos de data e hora predefinidos ou pode criar formatos de data e hora definidos pelo usuário para o argumento format_string da função FORMAT.
A seguir estão os nomes de formato de data e hora predefinidos. Se você usar strings diferentes dessas strings predefinidas, elas serão interpretadas como um formato de data e hora personalizado.
S. No. | Format_String e Descrição |
---|---|
1 | "General Date" Exibe uma data e / ou hora. Por exemplo, 2/10/2015 10:10:32 AM |
2 | "Long Date" or "Medium Date" Exibe uma data de acordo com o formato de data longa. Por exemplo, quarta-feira, 7 de março de 2016 |
3 | "Short Date" Exibe uma data usando o formato de data abreviada. Por exemplo, 2/03/2016 |
4 | "Long Time" Exibe uma hora usando o formato de hora longa. Normalmente inclui horas, minutos e segundos. Por exemplo, 10:10:32 AM |
5 | "Medium Time" Exibe uma hora no formato de 12 horas. Por exemplo, 21:30 |
6 | "Short Time" Exibe uma hora no formato de 24 horas. Por exemplo, 14h15 |
Como alternativa, você pode usar os caracteres da tabela a seguir para criar formatos de data / hora definidos pelo usuário.
S. No. | Descrição do personagem |
---|---|
1 | : Separador de hora. Separador de hora. Separa horas, minutos e segundos quando os valores de hora são formatados. |
2 | / Separador de data. Separa o dia, mês e ano quando os valores de data são formatados. |
3 | % Usado para indicar que o caractere a seguir deve ser lido como um formato de uma única letra, sem levar em conta as letras finais. Também usado para indicar que um formato de letra única é lido como um formato definido pelo usuário. |
A seguir estão os detalhes dos vários personagens.
%d - Exibe o dia como um número sem um zero à esquerda (por exemplo, 5).
%dd - Exibe o dia como um número com um zero à esquerda (por exemplo, 05).
%ddd - Exibe o dia como uma abreviatura (por exemplo, Sol).
%dddd - Exibe o dia como um nome completo (por exemplo, domingo).
%M - Exibe o mês como um número sem um zero à esquerda (por exemplo, janeiro é representado como 1).
%MM - Exibe o mês como um número com um zero à esquerda (por exemplo, janeiro é representado como 01).
%MMM - Exibe o mês como uma abreviatura (por exemplo, janeiro é representado como janeiro).
%MMMM - Exibe o mês como um nome de mês completo (por exemplo, janeiro).
%gg - Exibe a seqüência de período / era (por exemplo, AD).
%h- Exibe a hora como um número sem zeros à esquerda usando o relógio de 12 horas (por exemplo, 1:15:15 PM). Usar%h se este for o único caractere em seu formato numérico definido pelo usuário.
%hh - Exibe a hora como um número com zeros à esquerda usando o relógio de 12 horas (por exemplo, 01:15:15 PM).
%H- Exibe a hora como um número sem zeros à esquerda usando o relógio de 24 horas (por exemplo, 13:15:15, 1:15:15). Use% H se este for o único caractere em seu formato numérico definido pelo usuário.
%HH - Exibe a hora como um número com zeros à esquerda usando o relógio de 24 horas (por exemplo, 13:15:15, 1:15:15).
%m- Exibe o minuto como um número sem zeros à esquerda (por exemplo, 2: 1: 15). Use% m se este for o único caractere em seu formato numérico definido pelo usuário.
%mm - Exibe o minuto como um número com zeros à esquerda (por exemplo, 2:01:15).
%s- Exibe o segundo como um número sem zeros à esquerda (por exemplo, 2: 15: 5). Use% s se este for o único caractere em seu formato numérico definido pelo usuário.
%ss - Exibe o segundo como um número com zeros à esquerda (por exemplo, 2:15:05).
%f- Exibe frações de segundos. Por exemploff exibe centésimos de segundos, enquanto ffffexibe dez milésimos de segundos. Você pode usar até setefsímbolos em seu formato definido pelo usuário. Usar%f se este for o único caractere em seu formato numérico definido pelo usuário.
%t- Usa o relógio de 12 horas e exibe um A maiúsculo para qualquer hora antes do meio-dia; exibe um P maiúsculo para qualquer hora entre meio-dia e 23:59. Use% t se este for o único caractere em seu formato numérico definido pelo usuário.
%tt- Para localidades que usam um relógio de 12 horas, exibe uma AM maiúscula com qualquer hora antes do meio-dia; exibe PM em maiúsculas com qualquer hora entre meio-dia e 23:59. Para localidades que usam um relógio de 24 horas, não exibe nada.
%y- Exibe o número do ano (0-9) sem zeros à esquerda. Usar%y se este for o único caractere em seu formato numérico definido pelo usuário.
%yy - Exibe o ano em formato numérico de dois dígitos com um zero à esquerda, se aplicável.
%yyy - Exibe o ano em formato numérico de quatro dígitos.
%yyyy - Exibe o ano em formato numérico de quatro dígitos.
%z- Exibe a diferença de fuso horário sem um zero à esquerda (por exemplo, -8). Usar%z se este for o único caractere em seu formato numérico definido pelo usuário.
%zz- Exibe o. deslocamento de fuso horário com um zero à esquerda (por exemplo, -08)
%zzz - Exibe a diferença de fuso horário completo (por exemplo, -08: 00).
Como você pode observar, as strings de formatação diferenciam maiúsculas de minúsculas. Uma formatação diferente pode ser obtida usando um caso diferente.
Alterar tipos de dados de saídas de fórmula DAX
Nas fórmulas DAX, o tipo de dados da saída é determinado pelas colunas de origem e você não pode especificar explicitamente o tipo de dados do resultado. Isso ocorre porque o tipo de dados ideal é determinado pelo Power Pivot. No entanto, você pode usar as conversões de tipo de dados implícitas realizadas pelo Power Pivot para manipular o tipo de dados de saída. Caso contrário, você pode usar certas funções DAX para converter o tipo de dados de saída.
Using the Implicit Data Type Conversions
Para converter uma data ou string numérica em número, multiplique por 1,0. Por exemplo, = (TODAY () + 5) * 1.0. Esta fórmula calcula a data atual mais 5 dias e converte o resultado em um valor inteiro.
Para converter um valor de data, número ou moeda em uma string, concatene o valor com uma string vazia. Por exemplo, = Hoje () & “”
Using the DAX Functions for Data Type Conversions
Você pode usar funções DAX para o seguinte -
- Conversão de números reais em inteiros.
- Conversão de números reais, inteiros ou datas em strings.
- Convertendo Strings em Números ou Datas Reais.
Você aprenderá isso nas seções a seguir.
Conversão de números reais em inteiros
Você pode usar as seguintes funções DAX para converter números reais em inteiros -
ROUND (<number>, <num_digits>) - Arredonda um número para o número especificado de dígitos e retorna um número decimal.
CEILING (<number>, <significance>) - Arredonda um número para cima, para o inteiro mais próximo ou para o múltiplo significativo mais próximo e retorna um número decimal.
FLOOR (<number>, <significance>) - Arredonda um número para baixo, em direção a zero, para o múltiplo significativo mais próximo e retorna um número decimal.
Conversão de números reais, inteiros ou datas em strings
Você pode usar as seguintes funções DAX para converter números reais, inteiros ou datas em strings -
FIXED (<number>, [<decimals>], [<no_comma>])- Arredonda um número e retorna o resultado como texto. O número de dígitos à direita do ponto decimal é 2 ou o número especificado de decimais. O resultado é com vírgulas ou, opcionalmente, sem vírgulas.
FORMAT (<value>, <format_string>) - Converte um valor em texto de acordo com o formato especificado.
Você já aprendeu como usar a função Format para converter datas em strings.
Convertendo Strings em Números ou Datas Reais
Você pode usar as seguintes funções DAX para converter strings em números reais ou datas -
VALUE (<text>) - Converte uma string de texto que representa um número em um número.
DATEVALUE (date_text) - Converte uma data na forma de texto em uma data no formato datetime.
TIMEVALUE (time_text) - Converte uma hora em formato de texto em uma hora em formato datetime.