Apresentamos nesse vídeo a função DAX NETWORKDAYS que cálcula a quantidade de dias úteis entre duas datas, e como criar uma função definida pelo usuário no Azure SQL que retorna o mesmo resultado.
1. Contar dias úteis com função DAX (EVALUATE, ROW, NETWORKDAYS):
EVALUATE ROW("DiasUteis", NETWORKDAYS([DataInicial], [DataFinal]))
2. Utilização de datas em formato literal:
DataExemplo = DATE(2023, 12, 31)
3. Unir várias linhas no mesmo resultado DAX (UNION):
TabelaCombinada = Tabela1 UNION Tabela2
4. Consulta Azure SQL para calcular dias úteis (DATEDIFF, DATENAME):
SELECT COUNT(*) FROM Tabela WHERE DATEDIFF(day, DataInicial, DataFinal) - (DATEDIFF(week, DataInicial, DataFinal) * 2) > 0
5. Criar função definida pelo usuário (SCALAR-VALUED FUNCTION):
CREATE FUNCTION MinhaFuncao (@Parametro INT) RETURNS INT AS BEGIN -- Lógica da função aqui END
6. Criar tipo de dados de tabela definido pelo usuário (USER-DEFINED TABLE TYPE):
CREATE TYPE MeuTipoTabela AS TABLE ( Coluna1 INT, Coluna2 VARCHAR(50) )
7. Converter texto separado por vírgula em linhas (STRING_SPLIT):
SELECT value FROM STRING_SPLIT('Texto1,Texto2,Texto3', ',')
8. Declarar variáveis em função (DECLARE, AS, BEGIN):
DECLARE @MinhaVariavel INT SET @MinhaVariavel = 10
9. Condicional para validar valor (IF, BEGIN, END):
IF @MinhaVariavel > 5 BEGIN -- Código a ser executado se a condição for verdadeira END
10. Inserir valores em variável do tipo de dados tabela:
INSERT INTO @MinhaVariavel (Coluna1, Coluna2) VALUES (1, 'Texto')
11. Somar valores com condicional entre datas (SUM, CASE, WHEN, BETWEEN, THEN):
SELECT SUM(CASE WHEN Data BETWEEN '2023-01-01' AND '2023-12-31' THEN Valor ELSE 0 END) FROM Tabela
12. Executar função definida pelo usuário (SELECT):
SELECT dbo.MinhaFuncao(5)
13. Tabela de constantes e o uso da função (VALUES):
TabelaConstante = VALUES(Tabela[Coluna])
Cientista de Dados e Consultor de Soluções Digitais e Analíticas
@fabioms