Criando pacotes SSIS programaticamente usando o ManagedDTS

The control flow of the package created using ManagedDTS


Nos artigos publicados anteriormente nesta série, explicamos como usar o Biml para criar e gerenciar SQL
    Pacotes do SSIS (Server Integration Services). Neste artigo, falaremos sobre a primeira alternativa dessa linguagem de marcação, que é o modelo de objeto gerenciado do Integration Services (ManagedDTS e assemblies relacionados) fornecido pela Microsoft.

Neste artigo, ilustraremos primeiro como criar, salvar e executar pacotes SSIS usando o ManagedDTS em C # e, em seguida,
    faremos uma pequena comparação com o Biml.

Modelo de objeto do Integration Services

Para explicar o modelo de objeto dos serviços de integração, primeiro precisamos dar uma olhada na arquitetura do SSIS. Como mostrado em
    a figura abaixo (Referência: Visão Geral da Programação do Integration Services)

Arquitetura SSIS

Figura 1 – Arquitetura SSIS

Podemos observar que os principais componentes do SSIS são:

  1. Serviço de Serviços de Integração: É um serviço do Windows que monitora a execução de pacotes, mas também gerencia o armazenamento de pacotes no SQL Server
  2. Mecanismo de tempo de execução do Integration Services: Controla o gerenciamento e a execução de pacotes, implementando a infraestrutura que permite a ordem de execução, o log, as variáveis ​​e a manipulação de eventos
  3. O mecanismo de fluxo de dados: Ele gerencia as tarefas de fluxo de dados em um pacote, pois é especializada para mover dados entre diferentes origens e destinos e pode conter componentes adicionais

Conforme mostrado na arquitetura, o tempo de execução e o mecanismo de fluxo de dados têm um modelo de objeto que permite que eles sejam totalmente gerenciados a partir de aplicativos personalizados, designer do SSIS ou assistente de Importação e Exportação do SQL Server. Além disso, ambos são escritos em código nativo e podem ser acessados ​​usando utilitários de linha de comando (DTExec) ou aplicativos personalizados.

O modelo de objeto permite que os desenvolvedores desenvolvam e gerencia pacotes SSIS usando linguagens compatíveis com .NET.

Desenvolvimento de pacotes SSIS usando o modelo de objeto gerenciado

Assembléias de desenvolvimento do SSIS

Os seguintes assemblies são aqueles que você pode precisar para desenvolver, gerenciar e executar pacotes SSIS do .NET
    formulários:

Nome

Nome Qualificado

Descrição

ManagedDTS

Microsoft.SqlServer.ManagedDTS.dll

Mecanismo de tempo de execução gerenciado

PipelineHost

Microsoft.SqlServer.PipelineHost.dll

Mecanismo de fluxo de dados gerenciados

DTSRuntimeWrap

Microsoft.SqlServer.DTSRuntimeWrap.dll

Wrapper para o mecanismo de tempo de execução nativo

DTSPipelineWrap

Microsoft.SqlServer.DTSPipelineWrap.dll

Wrapper para mecanismo de fluxo de dados nativo

Antes do SQL Server 2019, esses assemblies eram localizados em : Arquivos de Programas Microsoft SQL Server SDK AssembliesCaminho No SQL Server 2019, eles estão localizados no global
    cache de montagem com os assemblies da estrutura .NET.

Criando um novo pacote usando o modelo de objeto

Para criar um pacote SSIS a partir do seu código .Net, você deve adicionar o assembly ManagedDTS como uma referência no seu projeto. Então você deve importar o Microsoft.SqlServer.Dts.Runtime montagem da seguinte forma:

O código a seguir cria um pacote vazio e o salva como arquivo .dtsx:

Observe que você pode salvar o pacote no SQL Server (banco de dados Msdb) usando SaveToSqlServer () e SaveToSqlServerAs () métodos, ou você pode salvá-lo em um repositório de pacotes SSIS usando SaveToDtsServer () método. Para obter mais informações, consulte: Salvando um pacote programaticamente.

Carregando pacote de um arquivo existente

Para carregar um pacote existente, você pode usar o método Application.LoadPackage () da seguinte maneira:

Adicionando gerenciadores de conexões

Para adicionar um gerenciador de conexões, você deve usar a classe Application.ConnectionManager e especificar o
    tipo de conexão e as informações necessárias com base nesse tipo. Como exemplo, o código a seguir adiciona um banco de dados OLE
    gerenciador de conexões:

Adicionando tarefas

Usando ManagedDTS, as tarefas são adicionadas à propriedade Executables na classe Package. Existem diferentes abordagens
    para adicionar uma tarefa ao fluxo de controle do pacote:

  1. Adicionando a tarefa explicitamente, fornecendo as informações de montagem manualmente

    Nesta abordagem, você deve inserir o nome do assembly, o nome qualificado, a versão, a cultura e o token da chave pública no método Add (). Por exemplo:

  2. Usando o AssemblyQualifiedName

    Nessa abordagem, você deve adicionar o assembly relacionado à tarefa como referência e importá-lo em seu código; em seguida, você
        deve recuperar o nome qualificado de montagem da classe relacionada à tarefa (localizada em : Arquivos de Programas Microsoft SQL Server DTS Tasks ”) Como exemplo, se você precisar adicionar uma tarefa Executar SQL, deverá
        primeiro adicione Microsoft.SqlServer.SQLTask.dll como referência. Então você deve usar o seguinte código:

  3. Usando o moniker STOCK

    Você pode consultar a documentação a seguir para obter uma lista completa dos identificadores de estoque de tarefas. Então você deve usá-lo da seguinte maneira:

Adicionando uma tarefa de fluxo de dados

Como mencionamos acima, a tarefa de fluxo de dados é uma tarefa especial do SSIS onde podemos adicionar componentes. Por esse motivo, nós
    falará sobre isso em uma seção separada. Como mencionamos na primeira seção, você deve adicionar PipelineHost e
    Assemblies DTSPipelineWrap além do ManagedDTS para trabalhar com o mecanismo de fluxo de dados. O código a seguir é criar
    um pacote, adicione um gerenciador de conexões OLE DB, adicione uma tarefa de fluxo de dados que contenha uma fonte OLE DB e OLE DB
    destino e configure-os para importar dados de [Person].[Person] mesa em
[Person].[Person_temp]:

Adicionando componentes Tarefas de Fluxo de Dados

Você pode adicionar componentes da tarefa de fluxo de dados usando o Nome da Criação ou o nome qualificado da montagem. A segunda abordagem
    requer a importação do conjunto relacionado ao componente (localizado em : Arquivos de Programas Microsoft SQL Server DTS PipelineComponents ”) O exemplo a seguir ilustra como adicionar componentes de origem e destino do OLE DB e criar um mapeamento entre eles:

Após a execução do aplicativo, o pacote é criado com sucesso. As seguintes capturas de tela mostram o pacote
    Tarefa Controle de fluxo e fluxo de dados:

O fluxo de controle do pacote criado usando o ManagedDTS

Figura 2 – Fluxo de controle de pacote criado

A tarefa de fluxo de dados do pacote criado usando o ManagedDTS

Figura 3 – Tarefa de fluxo de dados criada

Executando pacote programaticamente

Após criar um pacote, podemos executá-lo usando o método Execute () da seguinte maneira:

Recursos online

Nas seções anteriores, explicamos brevemente como criar e executar pacotes usando o ManagedDTS, mas há muito mais instruções que você precisa saber, como mapear tarefas, configurar propriedades de tarefas, manipulação de erros …
    por esse motivo, a Microsoft forneceu documentação útil onde a maioria dessas operações é explicada; Documentação do desenvolvedor do Integration Services.

Comparando com Biml

Simplicidade

Após criar o pacote usando o ManagedDTS, nós o converteremos em um script Biml, conforme explicado em Convertendo pacotes SSIS em scripts Biml. Você pode verificar como o Biml substitui um script C # complexo e facilita o processo de leitura e edição
    pois é mais simples e não requer conhecimento de programação.

Contexto

Por outro lado, é mais preferível usar o ManagedDTS ao criar e executar os pacotes dentro de
    um aplicativo e está relacionado a outras tarefas, pois o Biml é gerenciado em uma solução SSIS e não é
    integrado em um aplicativo.

Tratamento de erros no desenvolvimento

A manipulação de erros é um desastre ao usar o ManagedDTS, pois não mostra uma mensagem de erro clara, como mostra a imagem abaixo. Enquanto estiver no Biml, a ferramenta “Verificar erros no Biml” retorna todos os erros encontrados durante a validação do script.

Exceção clara ao criar pacote usando o ManagedDTS

Figura 4 – Lançou uma exceção ao criar o pacote SSIS programaticamente

Recursos

Faltam artigos e guias relacionados para as duas tecnologias. Mas a capacidade de converter pacotes SSIS em scripts Biml facilita a aprendizagem, pois simplifica o processo de aprendizado caso você esteja familiarizado com o SSIS.

Conclusão

Neste artigo, explicamos uma das alternativas para criar pacotes SSIS usando o Biml, que é o modelo de objeto gerenciado do mecanismo de tempo de execução do serviço de integração. Além disso, fizemos uma pequena comparação entre as duas abordagens para ilustrar a principal diferença.

Índice

Hadi Fadlallah
Últimas mensagens de Hadi Fadlallah (ver todos)

Aprenda SQL: práticas de consulta SQL

SQL Practice - the data model we'll use in the article


Hoje é o dia da prática de SQL nº 1. Nesta série, até agora, abordamos os comandos SQL mais importantes (CREATE DATABASE & CREATE TABLE, INSERT, SELECT) e alguns conceitos (chave primária, chave estrangeira) e teoria (procedimentos armazenados, funções definidas pelo usuário, visualizações). Agora é hora de discutir algumas consultas SQL interessantes.

O Modelo

Vamos dar uma olhada rápida no modelo que usaremos nesta prática.

Prática de SQL - o modelo de dados que usaremos no artigo

Você pode esperar que, em situações da vida real (por exemplo, entrevista), tenha um modelo de dados à sua disposição. Caso contrário, você terá a descrição do banco de dados (tabelas e tipos de dados + descrição adicional do que é armazenado, onde e como as tabelas estão relacionadas).

A pior opção é que você deve verificar todas as tabelas primeiro. Por exemplo, você deve executar uma instrução SELECT em cada tabela e concluir o que é onde e como as tabelas estão relacionadas. Provavelmente isso não acontecerá na entrevista, mas poderá ocorrer na vida real, por exemplo, quando você continuar trabalhando em um projeto existente.

Antes de começarmos

O objetivo desta prática SQL é analisar algumas tarefas típicas nas quais você pode se deparar na entrevista. Outros lugares onde isso pode ajudá-lo são tarefas da faculdade ou a conclusão de tarefas relacionadas a cursos on-line.

O foco deve estar no entendimento do que é necessário e qual é o objetivo de aprendizado por trás dessa pergunta. Antes de continuar, sinta-se à vontade para atualizar seu conhecimento sobre INNER JOIN e LEFT JOIN, como associar várias tabelas, funções agregadas SQL e a abordagem de como escrever consultas complexas. Se você estiver pronto, vamos dar uma olhada nas 2 primeiras consultas (teremos mais algumas nos próximos artigos). Para cada consulta, descreveremos o resultado necessário, examinaremos a consulta, analisaremos o que é importante para essa consulta e examinaremos o resultado.

Prática SQL nº 1 – Agregação e junção esquerda

Crie um relatório que retorne uma lista de todos os nomes de países (em inglês), juntamente com o número de cidades relacionadas que temos no banco de dados. Você precisa mostrar todos os países e atribuir um nome razoável à coluna agregada. Ordene o resultado pelo nome do país em ordem crescente.

Vamos analisar as partes mais importantes desta consulta:

  • Usamos LEFT JOIN (LEFT JOIN cidade ON country.id = city.country_id) porque precisamos incluir todos os países, mesmo aqueles sem cidade relacionada

  • Devemos usar COUNT (city.id) AS number_of_cities e não apenas COUNT (*) AS number_of_cities Porque CONTAGEM(*) contaria se houver uma linha no resultado (LEFT JOIN cria uma linha, não importa se há dados relacionados em outra tabela ou não). Se contarmos o city.id, obteremos o número de cidades relacionadas

  • A última coisa importante é que usamos GRUPO POR country.id, country.country_name_eng em vez de usar apenas GRUPO POR country.country_name_eng. Em teoria (e na maioria dos casos), o agrupamento por nome deve ser suficiente. Isso funcionará bem se o nome estiver definido como ÚNICO. Ainda, incluir uma chave primária do dicionário, em casos semelhantes a este, é mais do que o desejado

Você pode ver o resultado retornado na figura abaixo.

combinando LEFT JOIN com função agregada

Prática 2 do SQL – Combinando subconsulta e função agregada

Escreva uma consulta que retorne o ID e o nome do cliente e o número de chamadas relacionadas a esse cliente. Retorne apenas clientes que tenham mais do que o número médio de chamadas de todos os clientes.

As coisas importantes que gostaria de enfatizar aqui são:

  • Observe que usamos funções agregadas duas vezes, uma na consulta “principal” e uma na subconsulta. Isso é esperado porque precisamos calcular esses dois valores agregados separadamente – uma vez para todos os clientes (subconsulta) e para cada cliente separadamente (consulta “principal”)

  • A função agregada na consulta “principal” é COUNT (call.id). Ele é usado na parte SELECT da consulta, mas também precisamos dela na parte HAVING da consulta (Observação: a cláusula HAVING está desempenhando o papel da cláusula WHERE, mas para valores agregados)

  • O grupo é criado pelo ID e pelo nome do cliente. Esses valores são os que precisamos ter no resultado

  • Na subconsulta, dividimos o número total de linhas (CONTAGEM(*)) pelo número de clientes distintos aos quais essas ligações estavam relacionadas (COUNT (DISTINCT customer_id)) Isso nos deu o número médio de chamadas por cliente

  • A última coisa importante aqui é que usamos o operador CAST (CAST (… COMO DECIMAL (5,2))) Isso é necessário porque o resultado final provavelmente seria um número decimal. Como os dois COUNTs são inteiros, o SQL Server também retornará um resultado inteiro. Para impedir que isso aconteça, precisamos CASTar o divisor e o divisor como números decimais

Vamos dar uma olhada no que a consulta realmente retornou.

Prática SQL - o resultado retornado pela subconsulta usando a função agregada

Conclusão

Na prática atual de SQL, analisamos apenas dois exemplos. Ainda assim, essas duas contêm algumas partes que você encontrará frequentemente em tarefas – seja no seu trabalho, seja em um teste (entrevista de emprego, tarefas na faculdade, cursos on-line etc.). Na próxima parte, continuaremos com algumas consultas mais interessantes que devem ajudá-lo a resolver problemas com os quais você pode se deparar.

Índice

Emil Drkusic
Últimas mensagens de Emil Drkusic (ver todos)

Removendo duplicatas em uma planilha do Excel usando scripts Python

Remove duplicates by keeping maximum and minimum value


No artigo, scripts Python para formatar dados no Microsoft Excel, usamos scripts Python para criar um excel e fazer várias formatações de dados. Python é uma linguagem de programação interessante de alto nível. Você pode passar por vários casos de uso do Python no SQLShack.

Neste artigo, examinaremos a remoção de dados duplicados do Excel usando o Python.

Uma rápida recapitulação da remoção de linhas duplicadas no Microsoft Excel

Suponha que tenhamos os seguintes dados em uma planilha do Excel. Queremos nos livrar dos valores duplicados nesta planilha.

linhas duplicadas no Microsoft Excel

No Microsoft Excel, usamos o Remover duplicatas botão no menu Dados. Esta opção verifica valores duplicados e retém o PRIMEIRO valor exclusivo e remove outros valores.

Vamos clicar em Remover duplicatas e selecionar todas as colunas.

Remover duplicatas

Clique em ok e ele remove os valores duplicados 3 valores duplicados e retém 5 valores exclusivos.

Confirmação de remoção duplicada

Temos os seguintes dados após a remoção de duplicatas.

Dados do Excel após remover duplicatas

Suponha que você esteja trabalhando no Excel usando a linguagem Python. Se esse excel contiver valores duplicados, talvez não desejemos usar as funcionalidades do Excel. Nosso script deve ser capaz de lidar com esses dados duplicados e remover de acordo com nossos requisitos, como remover todas as duplicatas, remover todas, exceto a última duplicada, remover todas, exceto a primeira duplicada.

Vamos ver a maneira Python de lidar com dados duplicados no Excel.

Scripts Python para remover duplicatas em um excel

Antes de começarmos com o Python, verifique os pré-requisitos especificados no artigo, scripts Python para formatar dados no Microsoft Excel.

Inicie o SQL Notebook no Azure Data Studio e verifique a existência de pacotes de pandas e NumPy. Você pode clicar em Gerenciar extensões no Azure Data Studio para isso.

Cadernos SQL do Azure Data Studio

Depois de clicar em Gerenciar pacotes, ele fornece uma lista dos pacotes instalados. Aqui, podemos ver ambos pandas e NumPy pacote junto com o utilitário pip.

Gerenciar pacotes

Usamos a função pandas read_excel () para importar um arquivo do Excel. Crie um novo bloco de código no SQL Notebook e execute o código. Aqui, a instrução print imprime o quadro de dados que consiste em dados da folha do Excel.

Primeiro, importamos o pandas biblioteca para ler e escrever as planilhas do excel.

Nestes dados, poucas colunas contêm NaN na coluna de comentários. Python exibe NaN para as células que não possuem nenhum valor / texto.

Na saída, também vemos valores de índice para linhas individuais. A primeira linha começa com o ID de índice 0 e aumenta em 1 a cada nova linha.

Ler dados do excel

Usamos a função drop_duplicates () para remover registros duplicados de um quadro de dados nos scripts Python.

Sintaxe de drop_duplicates () em scripts Python

DataFrame.drop_duplicates (subconjunto = Nenhum, mantenha = ‘primeiro’, local = Falso)

  • Subconjunto: Neste argumento, definimos a lista de colunas a considerar para identificar linhas duplicadas. Se considerar todas as colunas no caso, não especificaremos nenhum valor
  • Manter: Aqui, podemos especificar os seguintes valores:
    • Primeiro: remova todas as linhas duplicadas, exceto a primeira

    • Última: remova todas as linhas duplicadas, exceto a última

    • Falso: remova todas as linhas duplicadas

  • No lugar: Por padrão, o Python não altera o quadro de dados de origem. Podemos especificar esse argumento para alterar esse comportamento

Exemplo 1: use drop_duplicates () sem argumentos

Na consulta a seguir, ele chama a função drop.duplicates () para [data] quadro de dados.

Na saída, podemos ver que ele remove linhas com os IDs de índice 1,5 e 7. É o comportamento padrão da função drop_duplicate (). Ele mantém o primeiro valor e remove outras duplicatas.

Use drop_duplicates () sem argumentos

Exemplo 2: use drop_duplicates () junto com os nomes das colunas

Por padrão, o Pandas cria um quadro de dados para todas as colunas disponíveis e verifica se há dados duplicados. Suponhamos que queremos excluir as colunas Comentários para verificar duplicatas. Isso significa que se a linha contiver valores semelhantes no restante das colunas, ela deverá ser uma linha duplicada. Temos poucos registros em nossa planilha do Excel que contêm mais valores duplicados se não considerarmos a coluna de comentários.

Nos seguintes scripts Python, especificamos nomes de colunas no argumento do subconjunto. Os pandas verificam essas colunas e removem os valores duplicados. Exclui a coluna de comentários nesse caso.

Exemplo 2a: manter = argumento “primeiro”

Também especificamos outro argumento keep = first para instruir o Python a manter o primeiro valor e remover outras duplicatas. São os comportamentos padrão para que possamos excluir esse parâmetro aqui também.

Veja a saída e temos apenas três registros disponíveis. Ele removeu todas as linhas duplicadas das colunas especificadas. Temos linhas com os índices de índice 0,2 e 4 na saída usando o primeiro valor no argumento keep.

Use drop_duplicates () junto com os nomes das colunas

Exemplo 2b: Manter = “último” argumento

Nós podemos mudar o argumento keep = last. Ele mantém a última linha das duplicatas e remove as linhas duplicadas anteriores. Vamos mudar o argumento e ver a saída.

Nesse caso, a saída muda e temos linhas com o ID do índice 1,2,7 na saída.

Manter =

Exemplo 2c: Manter = argumento “false”

Anteriormente, mantivemos a primeira ou a última linha e removemos outras linhas duplicadas. Suponha que desejemos remover todos os valores duplicados na planilha do Excel. Podemos especificar o valor False no parâmetro keep para ele.

Se executarmos o Script Python acima, obteremos a seguinte mensagem de erro.

ValueError: keep deve ser “first”, “last” ou False

Manter = argumento

Para o primeiro e o último valor, usamos aspas duplas, mas precisamos especificar o valor False sem aspas. Vamos remover a cotação e executar o código.

Na saída, não obtemos nenhuma linha porque não temos nenhuma linha exclusiva na planilha do Excel.

Saída do argumento Keep =

Para testar o código acima, vamos adicionar uma nova linha no excel e executar o código acima. Devemos obter a linha na saída. O script funciona e obtemos linhas únicas na saída.

Inserir uma nova linha

Exemplo 3: Remova duplicatas mantendo o valor máximo e mínimo

Agora, suponha que tenhamos uma nova coluna Age na planilha do excel. Alguém entrou na idade errada para os funcionários. Queremos remover os valores duplicados, mas manter a linha que tem o valor máximo de idade para um funcionário. Por exemplo, Rohan tem duas entradas nesta planilha. Ambas as linhas parecem semelhantes; no entanto, uma linha mostra 22 anos, enquanto outra tem o valor 23. Queremos remover a linha com uma idade mínima. Nesse caso, a linha com 22 anos de idade para Rohan deve ser removida.

Remova duplicatas mantendo o valor máximo e mínimo

Para esse requisito, usamos uma função de script Python adicional sort_values ​​(). No código a seguir, classificamos os valores da idade em ordem crescente usando a função data.sort_values ​​(). Na ordem crescente, os dados são classificados da idade mínima para a máxima, para que possamos manter o último valor e remover outras linhas de dados.

Na saída, podemos ver que possui linhas com idade máxima para cada funcionário. Por exemplo, Rohan mostra 23 anos que é a idade máxima disponível nos dois registros.

Remova duplicatas mantendo o valor máximo

Da mesma forma, podemos alterar a classificação dos dados em ordem decrescente e remover as duplicatas com valores mínimos de idade.

Remova duplicatas mantendo o valor mínimo

Exemplo 4: função drop_duplicate () usando argumento inplace

Por padrão, o Pandas retorna um novo quadro de dados e não altera o quadro de dados de origem. Podemos especificar o argumento inplace = True, e ele também altera o quadro de dados de origem.

Execute a seguinte consulta e chame o quadro de dados no final; retorna o conteúdo do quadro de dados de origem.

argumento local

Vamos alterar o valor padrão do argumento inplace e visualizar a alteração na saída.

inplace = argumento verdadeiro

Destaque valores duplicados com códigos de cores personalizados

Em muitos casos, queremos apenas verificar os dados duplicados em vez de removê-los. Em vez disso, precisamos destacar os valores duplicados e enviá-los à equipe apropriada para correção. Pode ser possível no caso de estarmos recebendo dados de terceiros.

Podemos usar formatação condicional e forneça um estilo visual (código de cores) para duplicar linhas. No código a seguir, definimos uma função de script Python para destacar valores duplicados na cor de fundo laranja. Abordaremos mais sobre a formatação condicional nos próximos artigos.

Ele nos fornece a seguinte saída e podemos interpretar facilmente quais linhas contêm valores duplicados. É útil, especialmente quando temos um grande número de linhas. Não podemos passar por cada linha nesse caso, e o código de cores nos ajuda a identificar os valores duplicados.

Realçar valores duplicados

Como alternativa, podemos usar outras funções, como GROUPBY e conte as linhas duplicadas.

Se qualquer contagem de linhas for maior que 1, será uma linha duplicada. Na saída a seguir, podemos observar que Dolly apareceu 4 vezes na planilha do Excel, o que significa que é uma linha duplicada. Rajendra não contém nenhuma linha duplicada, portanto, sua contagem é 1 na saída.

Contagem de linhas duplicadas

Conclusão

Neste artigo, exploramos o processo para remover linhas duplicadas em uma planilha do Excel usando scripts Python. Gostei da maneira de lidar com arquivos do Excel usando Python. Abordaremos scripts mais úteis nos próximos artigos. Fique ligado!

Rajendra Gupta
Últimas mensagens de Rajendra Gupta (ver todos)

Técnicas de Poker para Iniciantes – SQLServerCentral

Técnicas de Poker para Iniciantes - SQLServerCentral


Obter um bônus em quando você faz é realmente uma coisa muito simples de fazer. Há uma infinidade de sites de jogos de azar disponíveis, que outros sites são projetados especificamente para monitorar e analisar, como bônus de pôquer on-line. A maioria dos bônus é baseada no valor do depósito inicial pago. Ou seja, se você vai abrir a conta dele pela primeira vez e decidir ser atribuído a mil dólares por vez, em vez de ser apreciado em mil dólares. Observe o trabalho em todos os sites deste tipo.

Técnicas de Poker para Iniciantes - SQLServerCentral 15) Defina metas muito razoáveis ​​e atingíveis. Produzir, ganhar dinheiro ou atingir grandes quantidades diariamente. O poker pode consumir bastante tempo, portanto, aposte apenas o que você pode se dar ao luxo de derramar e estabelecer limites de tempo para suas sessões. Use o jogo como hobby e entenda, é mais provável que você ganhe usando essa mentalidade. Quando você estiver em uma onda de frio, mantenha o tempo da sessão ou a banca que você alocou para esse dia. Não exagere em nenhum tipo de horário ou sessão. Seu jogo será afetado. O poker online é sobre jogar quando você estiver em qualquer situação. Isso é aplicável tanto ao financeiro quanto ao tempo. É muito longe à noite e você tem compromissos ou trabalho precoces, depois desconecte-se e brinque em outra hora.

3) Tente Grande Configure uma conta Bônus – Você deve procurar pelo seu grande sinal de bônus. Esses bônus podem variar de absolutamente nenhum a até US $ 3.000, o que depende da quantia que você está inicialmente vulnerável a depositar na conta. Produtos um benefício muito grande que é algo que você realmente deve considerar. Não é essencial para você depositar um monte de dinheiro quando uma pessoa pode estar jogando judi online poker. Você pode se destacar até mesmo com uma pequena quantia de dinheiro.

Agora, o herpes genital precisa se preocupar é: conluio. Especialmente em mesas a dinheiro de US $ 1,00 a US $ 3,00 ou mais. Imagine que você se senta para um jogo genial para ser pego em um treino. Como isso é possível? Você jogou bem, aumentou quando deveria ter aumentado, desistiu quando deveria ter desistido, talvez até jogou dentro de um re-raise fora de posição apenas para ser pego por todos. Todos os truques que você conhecia foram anulados e perdidos.

O bom sucesso do poker holdem concedeu a milhões de mulheres de todo o mundo a possibilidade de jogar com uma renda real o jogo que eles estimavam. De buy-ins de US $ 10 a potes de dinheiro, um local de contato que no mundo fantástico do texas online hold’em. A grande maioria dos jogadores de poker é inexperiente e não qualificada, sendo conhecida como “peixes”. Mas são considerados os habilidosos que ganham uma renda jogando situs judi. Estes são os temidos tubarões de poker.

Jogue fortemente. O poker precisa de um indivíduo corajoso. Assim, fornece-se o make specific para jogar tudo do jeito e agressivamente, apenas para ganhar um título Sit and Go específico. Além disso, jogar de forma agressiva pode irritar os adversários, que podem resultar no momento de vitória após o jogo 338a sbobet casino (Widzew.com) sbobet epiphone casino (Widzew.com).

De fato, jogar um torneio Sit and Go parece tão fácil, mas na verdade é difícil. Assim, é preciso se especializar para se armar algumas técnicas eficazes, como as dicas gratuitas on-line da estratégia Sit and Go, mencionadas anteriormente. Dessa forma, os ganhos são realmente possíveis de qualquer tipo de aborrecimentos da parte de alguém. Afinal, as dicas gratuitas on-line da estratégia Sit and Go são realmente muito desenfreadas na web. Só é preciso escolher transmitir. seu conhecimento e essencialmente os grupos mais eficazes de estratégias e métodos.

Função agregada SQL Server MAX ()

Max() function example 7


O SQL Server nos fornece várias funções agregadas que podem ser usadas para executar diferentes tipos de cálculos
    em um conjunto de valores e retorne um único valor que resumiu o conjunto de dados de entrada. Esses agregados do SQL Server
    As funções incluem AVG (), COUNT (), SUM (), MIN () e MAX ().

Neste artigo, examinaremos o uso da função agregada MAX () e forneceremos vários exemplos do MAX ()
    uso da função.

Uso

A função agregada SQL MAX () é usada para retornar o valor máximo da expressão numérica fornecida ou do
    valor mais alto na sequência de intercalação da expressão de caractere fornecida.

Sintaxe

A sintaxe T-SQL para a função agregada MAX () é como:

Onde a opção ALL, que é a opção padrão, indica que a função agregada MAX () será aplicada a
    todos os valores de expressão e a opção DISTINCT indicam que cada valor exclusivo será considerado no
    função agregada, que não é aplicável à função MAX ().

o Expressão aqui pode ser passado para a função agregada MAX () pode ser qualquer caractere numérico,
    coluna uniqueidentifier ou DateTime da tabela, considerando que o tipo de dados BIT não pode ser usado com o MAX ()
    função agregada.

A função agregada MAX () também pode levar um valor constante ou qualquer expressão aritmética ou de string, levando em consideração que a função agregada MAX () ignorará qualquer valor NULL na expressão de entrada.

O valor retornado da função agregada SQL MAX () será o mesmo que o valor Expressão
tipo de dados e o valor retornado será NULL quando a expressão de entrada não tiver linhas para ler.

Exemplos de função agregada SQL MAX ()

Para fins de demonstração da função agregada SQL MAX (), vamos criar uma nova tabela de teste que contém colunas com
    tipos de dados diferentes, como tipos de dados INT, DECIMAL, NVARCHAR, DATETIME e BIT, usando o comando CREATE TABLE T-SQL
    declaração abaixo:

Depois que a tabela for criada, preencheremos essa tabela com os dados de teste do Microsoft AdventureWorks2017
    testando tabelas de banco de dados, usando o script T-SQL abaixo:

O ambiente de teste agora está pronto com uma tabela de 316 registros.

Para obter o valor máximo da coluna ID, que mostra o último funcionário adicionado, e usá-lo para mais
    análise ou operações, usaremos a função agregada SQL MAX () dentro de uma instrução SELECT, como no T-SQL
    declaração abaixo:

E o valor retornado em nossa demonstração aqui será 316, que é o último ID de funcionário adicionado, como mostrado abaixo:

Exemplo 1 da função Max ()

Outro cenário em que precisamos obter o nome do funcionário localizado no final do pedido alfabético.
    Isso pode ser alcançado aplicando a função agregada MAX () na coluna de caracteres EmpName, em que MAX ()
    A função classificará os valores da coluna EmpName com base nesse agrupamento de colunas e retornará o último valor, como no
    Instrução T-SQL abaixo:

No nosso caso aqui, a instrução SELECT com a função agregada SQL MAX () retornará o último funcionário, após
    classificando os nomes dos funcionários. Você pode imaginá-lo classificando os nomes em ordem decrescente e obtendo o primeiro nome do funcionário,
    como mostrado abaixo:

Exemplo 2 da função Max ()

A função agregada SQL MAX () também pode ser usada com o tipo de dados DateTime, onde classificará o DateTime
    valores e retorne o último valor dos resultados classificados. Em nosso cenário, precisamos obter o funcionário mais jovem com
    a data de nascimento mais próxima. Para isso, passaremos a coluna EmpDateOfBirth para a função agregada MAX (), como
    na instrução T-SQL SELECT abaixo:

A instrução SELECT anterior com a função agregada SQL MAX () classificará a data de nascimento dos funcionários e retornará
    o último valor da data de nascimento. Você pode imaginar a função agregada MAX () como classificar os valores da data de nascimento dos funcionários
    descendo e obtendo a primeira data de nascimento, conforme mostrado abaixo:

Exemplo 3 da função Max ()

A reformulação da escala salarial dos funcionários pode ser verificada com diferentes tipos de cálculos e agregada
    operações incluindo a função agregada SQL MAX (). Isso pode ser feito passando a coluna EmpSalary para o MAX ()
    , que classificará todos os valores salariais dos funcionários e retornará o maior valor da coluna, como na instrução T-SQL Select abaixo:

A execução da instrução SELECT anterior com a função agregada MAX () será semelhante ao resultado retornado
    de classificar os valores dos salários dos funcionários em ordem decrescente e retornar o salário Top 1, com o maior valor, conforme mostrado
    abaixo:

Exemplo de função Max () 4

Se tentarmos aplicar a função agregada SQL MAX () à coluna EmpIsActive, com um tipo de dados BIT, como no
    Instrução T-SQL SELECT abaixo:

A execução da instrução SELECT falhará, com uma mensagem de erro que mostra que o bit do tipo de dados não pode ser usado
    com o operador MAX, em que não é possível ver o valor máximo de uma coluna de bits, que já possui
    apenas dois valores, 1 e 0. A mensagem de erro será como abaixo:

Erro de exemplo da função Max () 5

A função agregada SQL MAX () também pode ser usada na cláusula WHERE de uma consulta SELECT simples. Isso pode ser
    obtido comparando um valor específico da coluna com o resultado retornado de uma subconsulta que retornou o valor máximo
    valor dessa coluna, conforme mostrado na consulta T-SQL SELECT abaixo:

A consulta SELECT anterior retornará todas as informações sobre o funcionário cujo salário é o maior salário dentro de
    salário de todos os funcionários, onde calculará o valor máximo dos salários dos funcionários e comparará cada
    salário do funcionário com esse valor, conforme mostrado abaixo:

Exemplo de função Max () 6

Também podemos usar a função agregada SQL MAX () para retornar o valor máximo de uma coluna específica com outra coluna
    valores, onde todas as colunas não agregadas devem ser listadas na cláusula GROUP BY. Por exemplo, a consulta SELECT
    abaixo, listará todos os valores de data de nascimento e salário de todos os funcionários e, ao lado de cada valor, retornará o valor máximo,
    para comparar cada valor com o valor máximo, conforme mostrado abaixo:

E o resultado, que pode ser facilmente comparado, será o seguinte:

Exemplo de função Max () 7

Também podemos filtrar o resultado da consulta anterior definido para retornar apenas os funcionários com uma variação salarial muito grande
    dos valores salariais máximos, fornecendo uma condição adicional usando a função agregada SQL MAX () dentro
    a cláusula HAVING, como mostrado abaixo:

E o resultado da execução da consulta anterior será como:

Exemplo de função Max () 8

Vamos adicionar uma nova coluna à tabela de demonstração sem preencher nenhum valor nessa coluna, usando o ALTER TABLE T-SQL
    declaração abaixo:

Após adicionar a nova coluna, se tentarmos executar a consulta abaixo para obter o valor máximo permitido de toda a empresa
    funcionários que usam a função agregada SQL MAX ():

O resultado retornado será NULL, pois a tabela não possui valor nessa coluna, conforme mostrado abaixo:

Exemplo de função Max () 9

Conclusão

É claro, a partir desses exemplos acima, como podemos usar a função agregada SQL MAX () para atingir um objetivo específico em
    cenários diferentes, com diferentes tipos de dados e em qualquer consulta T-SQL.

Ahmad Yaseen
Últimas mensagens de Ahmad Yaseen (ver todos)

Reorganização de um escritório menor – parte 3 – SQLBlog

Reorganização de um escritório menor - parte 3 - SQLBlog


Descrevi as primeiras fases da revisão do meu escritório em casa na parte 1 e na parte 2. A última fase está ocorrendo bem a tempo, pois estamos agachados no auto-isolamento para ajudar a achatar a curva do Covid-19.

Uma casa normalmente silenciosa durante o horário escolar agora está agitada com minhas meninas, de 5 e 7 anos, constantemente procurando novas fontes de entretenimento, conflito e caos.

Isso significa PORTAS.

Nosso primeiro andar é um conceito relativamente aberto; não muitas portas ou paredes. A abertura para o meu escritório é arqueada com mais de 90 “de altura e 80” de largura, o que excluía correr para Lowe’s ou Home Depot e pegar algumas portas padrão para pendurar (clique para ampliar):

Reorganização de um escritório menor - parte 3 - SQLBlog 2

Isso significa PERSONALIZADAS portas

Olhando do meu escritório para a sala de jantar, você pode ver duas grandes janelas lá, de frente para o leste. Isso significa que, pela manhã, o sol está muito claro e essas persianas quase sempre estão fechadas (clique para ampliar):

Reorganização de um escritório menor - parte 3 - SQLBlog 3

Isso significa portas personalizadas que refratar a luz.

Conversamos com quatro fornecedores locais e acabamos voltando com o primeiro que visitamos, o Shed Brand Studio. Essas pessoas são conhecidas mais por seus trabalhos com vitrais, mas ficamos impressionados com o artesanato nas portas que vimos em seu showroom, bem como com a vontade de sentar e nos permitir atender aos requisitos. Pode ser diferente onde você está, mas o prazo de entrega de um projeto como esse não foi inferior a 6 semanas para nenhum desses fornecedores, e não tenho certeza de qual efeito o Covid-19 terá sobre isso.

Escolhemos a madeira de Sapele, tanto para combinar com o piso quanto, principalmente, para bloquear o som. Essa madeira é muito densa e cada porta pesa – se você pode acreditar – cerca de 225 libras. Escolhemos vidro ondulado de vidro duplo que refrataria luz suficiente para reduzir o brilho, mas não tanto que criaria uma masmorra. Conversamos sobre as laterais e / ou um painel de popa (painéis fixos ao lado / acima das portas), mas isso levaria a um projeto ainda mais complicado e, IMHO, uma aparência menos natural.

No momento, suspendemos o restante do projeto (acabamento de moldagem / acabamento e uma porta frontal correspondente) apenas para eliminar mais uma fonte de interação e para continuar o auto-isolamento. As portas estão abertas e estão servindo ao propósito a que se destinam por enquanto, cortando uma boa quantidade de som e luz da manhã suficiente para deixar as cortinas da sala de jantar abertas. Até agora, muito feliz, mesmo que as bordas ainda não pareçam bem, e a porta da frente adjacente ainda seja branca e com vidro ligeiramente diferente.

Reorganização de um escritório menor - parte 3 - SQLBlog 4Reorganização de um escritório menor - parte 3 - SQLBlog 5Reorganização de um escritório menor - parte 3 - SQLBlog 6

Agora só preciso pintar essas mesas mais claras com uma cor que não seja madeira (pensando em cinza claro) e adicionar uma luz “no ar” do lado de fora das portas (estou brincando aqui).

Como instalar o servidor de banco de dados MySQL 8.0.19 no Windows 10

Query editor window


Neste artigo, vou explicar o processo de instalação passo a passo do servidor de banco de dados MySQL 8.0.19. O MySQL é um servidor de gerenciamento de banco de dados relacional de plataforma aberta e de código aberto desenvolvido pela empresa sueca “MySQL AB” e posteriormente adquirido pela Oracle Corporation. O MySQL é oferecido como uma edição de servidor comunitário de código-fonte aberto e edição de servidor corporativo. Neste artigo, vou instalar a edição do servidor MySQL Community.

Baixe e instale o servidor de banco de dados MySQL

Você pode fazer o download do servidor da comunidade MySQL a partir deste local. Após o download do instalador, clique duas vezes no arquivo de instalação para iniciar o processo de instalação. No Escolhendo um tipo de instalação página, você pode ver quatro opções de instalação.

  1. Padrão do desenvolvedor: Se você deseja criar uma máquina de desenvolvimento, pode usar esta opção. Ele instala os componentes necessários para o desenvolvimento de aplicativos, por exemplo, MySQL Server, MySQL Shell, conectores MySQL, MySQL
  2. Apenas servidor: Se você deseja criar um servidor de banco de dados independente com componentes específicos, pode usar esta opção
  3. Cheio: Se você deseja instalar o MySQL Server com todos os seus componentes, pode usar esta opção
  4. Personalizadas: Se seus requisitos estiverem limitados a poucos componentes, você poderá usar esta opção

Nós vamos instalar o MySQL Server com todos os componentes; portanto, escolha “Cheio“E clique em Próximo.

Escolha o tipo de configuração para o servidor de banco de dados MySQL

Antes do início da instalação, o instalador verifica todos os pré-requisitos necessários para instalar todos os componentes do servidor de banco de dados MySQL. Se algum pré-requisito de software estiver ausente, você poderá ver os detalhes dos requisitos com falha no “Verificar requisitos” tela. Ele mostra o nome do produto, componente / software necessário e seu status. Como você pode ver, para instalar o servidor de banco de dados MySQL para o visual studio, precisamos instalar o visual studio 2015 ou superior. Da mesma forma, para instalar o conector Python, precisamos instalar o python na estação de trabalho. Clique em Próximo.

Verifique o requisito para instalar o servidor de banco de dados MySQL

Um instalador nos dá um aviso. Podemos continuar nossa instalação sem instalar o visual studio e python. Clique em sim.

Os requisitos do produto não são atendidos.

Na tela Instalação, você pode ver a lista dos produtos / softwares MySQL que serão instalados na minha estação de trabalho. Revise a lista e clique em Executar.

Lista de produtos

O instalador baixa todos os produtos / software. Depois disso, instala todos os produtos.

Baixando o servidor de banco de dados MySQL e seus componentes

Aguarde alguns minutos. Após a conclusão do processo de instalação, estamos prontos para configurar o servidor de banco de dados MySQL e outros componentes. Clique em Próximo.

Transferência concluída

Na tela de configuração do produto, você pode ver a lista dos produtos que precisam ser configurados. Primeiro, vamos configurar o servidor MySQL. Clique em Próximo.

Configurar servidor de banco de dados MySQL

Na tela de alta disponibilidade, podemos optar por instalar o Cluster InnoDB ou Servidor MySQL autônomo. Cluster InnoDB é a solução de alta disponibilidade do MySQL. Ele usa replicação de grupo. Vou explicar mais sobre isso na minha futura série de artigos. Vamos realizar uma instalação autônoma do MySQL Server, portanto, escolha “Servidor MySQL autônomo / Replicação clássica do MySQL”.

Escolha a opção de alta disponibilidade

Em Tipo e rede tela, podemos configurar o seguinte:

O tipo de configuração do MySQL.

O tipo de configuração do MySQL é um conjunto predefinido de parâmetro de configuração que determina quantos recursos devem ser alocados aos Serviços MySQL. Você tem três opções de configuração:

  1. Computador de desenvolvimento: Essa configuração usa uma quantidade mínima de recursos para o Serviço MySQL
  2. Computador Servidor: Essa configuração usa uma quantidade mínima de recursos. Essa opção é adequada quando estamos instalando servidores de banco de dados e servidores da web na mesma máquina. A configuração aloca uma quantidade média de recursos para o MySQL Service
  3. Computador dedicado: Esta opção é usada quando criamos um servidor MySQL dedicado. A configuração aloca uma grande quantidade de recursos para o MySQL Service

Nós configuraríamos o servidor com recursos mínimos, portanto, selecione “Computador de desenvolvimento” na caixa suspensa Tipo de configuração.

Escolha o tipo de servidor de banco de dados

Conectividade de rede

Nesta seção, podemos controlar como os clientes podem se conectar aos bancos de dados MySQL. Podemos usar o protocolo TCP / IP ou pipe nomeado ou memória compartilhada. Se você deseja configurar pipe nomeado / memória compartilhada, é necessário fornecer o nome do pipe e o nome da memória. Você também pode especificar a porta padrão para se conectar ao servidor de banco de dados. Você também pode optar por permitir o número da porta especificado na caixa de texto Porta no firewall. Veja a seguinte imagem:

Configurar rede

Na versão MySQL 8.0, podemos usar senhas fortes baseadas em SHA256. No Método de autenticação tela, escolha a opção para usar o método de autenticação herdado ou a senha forte para autenticação. Nota: Se você estiver usando Criptografia de senha forte para autenticação, verifique se todos os conectores devem ser atualizados para a versão mais recente. Nós vamos usar Criptografia de senha forte para autenticação.

Ativar criptografia de senha forte

Em Contas e funções Na tela, você pode especificar a senha da conta raiz do MySQL. A conta raiz do MySQL é uma conta sysadmin padrão e deve ser desativada.

Especifique a senha root e crie uma conta de usuário MySQL

Você também pode criar outros usuários para fazer isso, clique em Adicionar usuário. Na caixa de diálogo Conta de usuário do MySQL, forneça um nome de usuário, nome de host, Função do usuário, tipo de autenticação e senha. Depois que o usuário for criado, clique em Próximo. Veja a seguinte imagem:

Adicionar novo usuário

No Serviço do Windows tela, você pode configurar o servidor MySQL para ser executado como um serviço do Windows. Você pode fornecer o nome desejado e configurá-lo para iniciar automaticamente o serviço quando o sistema reiniciar. Além disso, você pode fornecer as credenciais sob as quais o serviço MySQL será executado. Você pode escolher a conta padrão do sistema ou fornecer um usuário específico. Veja a seguinte imagem:

Configurar o servidor de banco de dados MySQL como um serviço do Windows

No Aplicar configuração tela, você pode ver a lista de etapas de confirmação. Após a verificação de todas as configurações, clique em Executar.

Aplicar configuração

O processo de instalação do MySQL é iniciado. Você pode visualizar o processo de instalação na guia “Log”. Quando a instalação for concluída com êxito, clique em “Terminar”Para fechar o instalador.

Servidor de banco de dados MySQL está configurado

Instale o banco de dados de amostra

Se você optou por instalar todos os componentes do servidor MySQL (tipo de instalação completa), o instalador do MySQL se moverá para a tela Amostra e Exemplo. Nesta tela, forneça o nome de usuário e a senha do usuário que possui privilégios de root / sysadmin e clique em Verificar. Se a conexão for estabelecida com sucesso, clique em Avançar. Veja a seguinte imagem:

Conecte o servidor para instalar o banco de dados de amostra

No Tela Aplicar configuração, Clique em Executar para iniciar a instalação do banco de dados de amostra. Veja o seguinte:

Instalando o Banco de Dados de Amostra

Depois que o banco de dados de amostra estiver instalado, clique no Terminar botão.

O banco de dados de amostra foi instalado

O instalador continua no Configuração do produto tela. Nesta tela, você pode ver que a instalação do MySQL Server 8.0.19 e Amostra e Exemplo 8.0.19 foi concluído com sucesso. Veja a seguinte imagem:

Exemplos e banco de dados de amostra foram instalados

Depois que a instalação estiver concluída, você poderá copiar os logs de instalação na área de transferência para revisá-la mais tarde. Além disso, se você quiser começar a explorar o MySQL imediatamente, poderá selecionar “Inicie o ambiente de trabalho MySQL após a instalação“E”Inicie o MySQL Shell após a instalação“E clique em Terminar. Veja a seguinte imagem:

Conclua o instalador da Comunidade

Conecte-se ao servidor MySQL

Quando a instalação estiver concluída, vamos nos conectar ao servidor e executar a primeira consulta do MySQL. Abra o ambiente de trabalho MySQL. Assim como o estúdio de gerenciamento do SQL Server, o MySQL workbench é a ferramenta de desenvolvimento usada para consultar o banco de dados e criar objetos de banco de dados.

Na tela de boas-vindas do ambiente de trabalho MySQL, você pode ver a lista de conexões MySQL. Não configuramos várias conexões; portanto, você pode ver “Instância local MySQL80.Clique nele para abrir a nova janela do editor de consultas.

Tela de boas-vindas do MySQL Workbench

Ao clicar na conexão, você deve inserir as credenciais para conectar o servidor de banco de dados. Digite a senha e clique em ESTÁ BEM.

Entre no MySQL Workbench

Primeiro, vamos criar um banco de dados simples no MySQL Server. Escreva a seguinte consulta na janela do editor de consultas e clique em executar. Veja a seguinte imagem:

Janela do editor de consultas

Depois que a consulta for executada com sucesso, você poderá ver o novo banco de dados no painel “ESQUEMAS”. Veja a seguinte imagem:

O banco de dados foi criado

Sumário

Neste artigo, aprendemos o processo de instalação passo a passo do servidor de banco de dados MySQL 8.0.19 no Windows 10. Se você tiver alguma dúvida, não hesite em perguntar na seção de comentários abaixo.

Visualize o impacto do Coronavirus usando um painel do Power BI

preventions and symptoms


Este artigo demonstra os recursos visuais do Power BI para visualizar o impacto do coronavírus em todo o mundo usando vários recursos visuais, como
    como um mapa preenchido, Word Cloud, Slicer, Perguntas e Respostas.

Introdução

Organização Mundial da Saúde declarou o Coronavírus (COVID-19) uma pandemia. É uma doença espalhada na maioria dos países. Está fazendo com que os países selem suas fronteiras, cancelem eventos de coleta em massa, cancelamentos de shows, reuniões, eventos esportivos, pessoas para ficar em casa, estocando mantimentos. Está impactando economicamente quase todas as categorias, como turismo, viagens, aviação, petróleo. De acordo com o artigo recente sobre o Guardian, Corona poderia cortar a economia mundial em US $ 1 bilhão.

Você deve seguir as diretrizes gerais oferecidas pela OMS para garantir a segurança do Coronavírus. Neste artigo, focaremos na criação de um Power
    Painel de BI que mostra o impacto do Coronavirus em todo o mundo.

Nota: Estamos criando este painel apenas para fins educacionais e de demonstração. Você deve validar os dados de fontes verificadas e Fique seguro!

Para este artigo, estou usando os dados da página pandêmica de coronavírus 2019-2020 da Wikipedia. Primeiro, vamos importar os dados para o painel do Power BI. Nossos dados estão em uma página da web para
    podemos usar uma fonte de dados da web. Inicie o Power BI Desktop e clique em Obter dados -> Web

Obter dados para o relatório do Power BI

Na fonte da Web, especifique o URL de referência e clique em OK.

Fonte de Dados da Web

Na próxima página, permita acesso anônimo ao conteúdo da web. Clique em Conectar, como mostrado abaixo.

Especifique o acesso anônimo

Estabelece uma conexão com o URL da Web.

Conexão com URL da Web

Você obtém uma tabela e uma visualização da página. Vamos para a visualização na Web e selecione a tabela que mostra os dados que queremos importar para o nosso relatório. Nesta captura de tela a seguir, você pode observar que a tabela 1 contém os dados necessários para o nosso painel.

Selecione a tabela de fonte de dados

Podemos carregar esses dados diretamente ou modificá-los de acordo com nossos requisitos usando Transformar dados. Vamos clicar
    nos dados de transformação e abre o Power Query Editor.

Transformar dados

Não exigimos as duas primeiras colunas no relatório. Selecione essas colunas e clique em Remover colunas.

Remova colunas.

Depois que removemos as colunas indesejadas, podemos criar a primeira linha como cabeçalho da coluna. Clique em Use a primeira linha como cabeçalho como mostrado abaixo.

Use a primeira linha como cabeçalho

Altera o cabeçalho da coluna conforme a imagem a seguir.

Cabeçalhos de linha

Precisamos remover as linhas superiores também nos dados. Clique em Remover Linhas-> Remover Linhas Superiores e
    especifique 1 no número de linhas, como mostrado abaixo.

Remover linhas superiores

Remove a linha superior, como mostrado abaixo.

Remove a linha superior

No Localização Nesse campo, também temos alguns países com o nome entre colchetes (). Vamos eliminar o texto entre colchetes pequenos também. Clique com o botão direito do mouse na coluna Localização e selecione Dividir coluna->
        Por Delimiter
.

Dividir coluna

Na coluna dividir por menu delimitador, clique em personalizado e especifique colchete pequeno[(] como um delimitador. Podemos usar o delimitador mais à esquerda neste caso, pois ele dividirá o texto na primeira ocorrência de um pequeno colchete.

Dividir coluna por delimitador

Clique em OK e você obtém uma nova coluna para dividir dados.

Verificar divisão de dados

Clique com o botão direito do mouse na nova coluna e remova esta coluna. Nossos dados são exibidos abaixo.

Remover coluna

Clique em Fechar e aplicar. Ele salva os dados e nos leva de volta ao painel do designer.

Fechar e aplicar

Você pode ver os campos de dados na imagem a seguir.

campos de dados

Adicionar uma visualização de mapa preenchida no relatório do Power BI

Clique em um ícone de visualização de mapa preenchido, ajuste a posição do visual do mapa e arraste os campos para as colunas de dados do mapa de campo, conforme mostrado abaixo. Temos o seguinte visual no relatório.

Visualização de mapa preenchido

Renomeie a coluna da coluna do mapa, como mostrado abaixo.

Renomeie a coluna

Se passarmos o ponteiro do mouse sobre qualquer país, ele mostrará os detalhes em uma dica de ferramenta.

Passe o mouse sobre qualquer país

Atualmente, o relatório do Power BI Desktop mostra cores diferentes para cada país. Podemos definir um código de cores para melhor visualização. Vá na área de formatação e clique em Cores dos dados-> Formatação condicional.

Formatação condicional.

Aqui, selecione o campo, como casos, e selecione a faixa de cores para os valores mínimo e máximo. Você pode escolher o código de cores conforme suas necessidades.

Selecionar cores de dados

Agora, você pode distinguir visualmente o país com base no código de cores. Por exemplo, mostra a cor mais escura da China mais impactada.

Ver as novas cores de dados no mapa

Adicionar uma visualização em nuvem do Word

Na próxima etapa, adicionamos uma nuvem de palavras neste visual. Você pode consultar o artigo Como criar um gerador de nuvem do Word no Power BI Desktop. O Word Cloud mostra os países impactados com base no total de casos. Aqui, vemos o maior tamanho de fonte para a China, de acordo com o total de casos relatados.

Palavra nuvem

Podemos clicar em um país específico e o gráfico do mapa é ampliado sobre esse país específico. Por exemplo, vamos clicar na Itália e isso muda o visual, como mostrado abaixo.

Clique no nome de um país na Word Cloud

Da mesma forma, clique na Espanha e o mapa aproxima a Espanha. Você pode clicar em uma área em branco na Word Cloud para retornar ao estado original.

Ver dados para Espanha

Adicionar um slicer no relatório do Power BI Desktop

Podemos querer examinar dados de um país específico. Pode não ser possível pesquisar no mapa por um
    país específico. Podemos adicionar um fatiador visual para esse fim. Clique em um slicer e arraste a coluna de localização na coluna de dados do slicer. Você obtém os seguintes recursos visuais.

Adicionar um slicer no relatório do Power BI Desktop

Vamos formatar para melhor visualização e obter informações.

  • Altere a orientação de vertical para horizontal na propriedade do gráfico de formato. Organiza os nomes dos países em um formato de bloco Horizontal

    Alterar orientação de vertical para horizontal

  • Adicione um Selecionar tudo telha de seleção. Por padrão, o slicer não mostra selecionar todas as seleções
            telha. É uma boa prática para que possamos analisar os dados de todos os países juntos

    Adicionar um bloco Selecionar toda a seleção

  • Habilitar fronteira para slicer e escolha uma cor de borda. Ajuda a distinguir o slicer de outros
            visuais no relatório

    Ativar borda

  • Mude o cabeçalho para um nome apropriado. Na captura de tela a seguir, renomeamos para Selecionar país

    Mude o cabeçalho para um nome apropriado

Agora que tivermos feito a formatação, clique em um bloco no slicer. Por exemplo, quando clicamos na Alemanha, ele altera a Nuvem de palavras e mapeia visualmente para esse país.

Selecione um país no slicer

Agora, clique em Selecionar todos os blocos e ele retornará ao estado original, mostrando os dados de todos os países na nuvem do Word e no visual do Google Maps.

Selecionar tudo

Adicionar um cartão visual no Power BI Desktop

Podemos adicionar um cartão no relatório para mostrar detalhes como o número total de casos, o total de recuperações. Clique em um
    cartão, adicione o campo (caso) e ele mostra o total de casos no bloco.

cartão visual

Da mesma forma, com base no requisito, você pode adicionar mais cartões para adicionar mais detalhes ao seu relatório.

Adicionar perguntas e respostas interativas no relatório do Power BI

O Power BI permite adicionar o recurso de perguntas e respostas no relatório e você pode fazer perguntas no conjunto de dados interativamente. Você pode consultar o artigo Faça uma pergunta nos exemplos de interação de dados do Power BI Desktop e do Power BI Desktop para obter mais detalhes. Clique no ícone de perguntas e respostas nas visualizações e ajuste o tamanho do painel de perguntas e respostas.

Adicionar perguntas e respostas

Suponha que desejemos conhecer o total de casos de um país específico. Quando começamos a digitar, ele fornece sugestões para escolher entre uma variedade de opções.

Especifique uma pergunta

Por exemplo, estamos interessados ​​em conhecer o total de casos na Índia. Podemos selecioná-lo por sugestão ou digitá-lo, e ele fornece uma resposta.

Faça uma pergunta dos dados

Da mesma forma, na imagem a seguir, mostra o total de casos na Espanha.

Exemplo de perguntas e respostas

Adicionar tabela de sintomas e prevenções de coronavírus no relatório

Como todos sabemos, é melhor prevenir do que remediar. Também se aplica à doença do coronavírus. Você pode estar interessado em adicionar essas informações no seu relatório para fins informativos aos usuários. Para visualizá-lo melhor,
    Eu removi a visualização de perguntas e respostas e cartões do relatório.

Nesta seção, estou tirando uma imagem de um URL especificado.

Clique em uma imagem no menu e navegue até o local da imagem.

Adicionar sintomas de coronavírus, gráfico de prevenção

Ele importa a imagem no relatório do Power BI e podemos ver as prevenções e sintomas do Coronavírus na visualização.

prevenções e sintomas

Conclusão

Neste artigo, criamos um painel do Power BI Desktop para visualizar o impacto do Coronavirus em todo o mundo. É uma preocupação grave em todos os países no momento. Você deve tomar as precauções necessárias e consultar o seu médico caso veja algum sintoma.

Rajendra Gupta
Últimas mensagens de Rajendra Gupta (ver todos)

Semana gratuita de Fundamentos da Consulta de consultas: Parte 4, Melhorando a precisão da estimativa de cardinalidade


/ *

Fundamentos do ajuste de consulta: aprimorando a precisão da estimativa de cardinalidade

v1.0 – 2019-06-30

https://www.BrentOzar.com/go/queryfund

Esta demonstração requer:

* Qualquer versão suportada do SQL Server

* Qualquer banco de dados Stack Overflow: https://www.BrentOzar.com/go/querystack

Este primeiro RAISERROR é apenas para garantir que você não acerte F5 acidentalmente.

execute o script inteiro. Você não precisa executar isso:

* /

RAISERROR(N‘Opa! Não, nãobasta pressionar F5. Execute essas demos uma de cada vez., 20, 1) COM REGISTRO;

IR

/ * Estou usando o banco de dados Stack médio de 50 GB: * /

USAR StackOverflow2013;

IR

/ * E este procedimento armazenado descarta todos os índices não clusterizados: * /

DropIndexes;

IR

/ * Ative os planos de execução reais: * /

SELECT Localização, CONTAGEM(*)

A PARTIR DE dbo.Comercial

GRUPO POR Localização

ORDEM POR CONTAGEM(*) DESC

IR

/ *

Coisas para pensar:

* Como foram as estimativas de linha para cada operador?

* Quando eles começaram a dar errado e por quê?

* Que impacto isso teve nos operadores upstream?

Quais são algumas das maneiras pelas quais podemos melhorar a precisão da estimativa?

* Atualizar estatísticas

* Crie um índice

* OPÇÃO RECOMPLETA

* Diferentes níveis de compatibilidade

* Adicione um TOP

* /

/ *

A cardinalidade não se refere apenas à contagem de linhas:

também é sobre o conteúdo da linha.

* /

CRIO OU ALTERAR PROC dbo.usp_UsersInTopLocation_CTE COMO

INÍCIO

COM TopLocation COMO (SELECT TOPO 1 Localização

A PARTIR DE dbo.Comercial

ONDE Localização <>

GRUPO POR Localização

ORDEM POR CONTAGEM(*) DESC)

SELECT você.*

A PARTIR DE TopLocation

INTERIOR JUNTE-SE dbo.Comercial você EM TopLocation.Localização = você.Localização

ORDEM POR Nome em Exibição;

FIM

IR

EXEC usp_UsersInTopLocation_CTE

IR

/ * Uma subconsulta é diferente? * /

CRIO OU ALTERAR PROC dbo.usp_UsersInTopLocation_Subquery COMO

INÍCIO

SELECT *

A PARTIR DE dbo.Comercial você

ONDE Localização = (SELECT TOPO 1 Localização

A PARTIR DE dbo.Comercial

ONDE Localização <>

GRUPO POR Localização

ORDEM POR CONTAGEM(*) DESC)

ORDEM POR Nome em Exibição;

FIM

IR

EXEC usp_UsersInTopLocation_Subquery

IR

/ *

E se colocarmos o conteúdo do CTE em uma variável primeiro?

* /

CRIO OU ALTERAR PROC dbo.usp_UsersInTopLocation COMO

INÍCIO

DECLARAR @TopLocation NVARCHAR(100);

SELECT TOPO 1 @TopLocation = Localização

A PARTIR DE dbo.Comercial

ONDE Localização <>

GRUPO POR Localização

ORDEM POR CONTAGEM(*) DESC;

SELECT *

A PARTIR DE dbo.Comercial

ONDE Localização = @TopLocation

ORDEM POR Nome em Exibição;

FIM

IR

EXEC usp_UsersInTopLocation

IR

/ *

Coisas para pensar:

* Construir um plano e executar um plano são duas fases separadas

* O lote inteiro (proc) é compilado de uma só vez

* Às vezes, precisamos que a compilação aconteça mais tarde

* /

/ * Recompilar no nível da instrução * /

CRIO OU ALTERAR PROC dbo.usp_UsersInTopLocation COMO

INÍCIO

DECLARAR @TopLocation NVARCHAR(100);

SELECT TOPO 1 @TopLocation = Localização

A PARTIR DE dbo.Comercial

ONDE Localização <>

GRUPO POR Localização

ORDEM POR CONTAGEM(*) DESC;

SELECT *

A PARTIR DE dbo.Comercial

ONDE Localização = @TopLocation

ORDEM POR Nome em Exibição

OPÇÃO (RECOMPILE);

FIM

IR

EXEC usp_UsersInTopLocation

IR

/ * Recompilar no nível do processo * /

CRIO OU ALTERAR PROC dbo.usp_UsersInTopLocation COM RECOMPILE COMO

INÍCIO

DECLARAR @TopLocation NVARCHAR(100);

SELECT TOPO 1 @TopLocation = Localização

A PARTIR DE dbo.Comercial

ONDE Localização <>

GRUPO POR Localização

ORDEM POR CONTAGEM(*) DESC;

SELECT *

A PARTIR DE dbo.Comercial

ONDE Localização = @TopLocation

ORDEM POR Nome em Exibição;

FIM

IR

EXEC usp_UsersInTopLocation

IR

/ *

Para recapitular, a cardinalidade é sobre:

* Quantas linhas um operador lançará

* O conteúdo dessas linhas também

Comece no operador superior direito em cada plano. Quando as estimativas estão> 10x fora,

precisamos descobrir como podemos obter essa estimativa mais precisa, porque

o resto dos operadores a montante provavelmente está ferrado.

Agora é sua vez. Melhore as estimativas desta consulta:

* /

CRIO OU ALTERAR PROC [[dbo].[[usp_rpt_ControversialPosts] COMO

INÍCIO

/ * Fonte: http://data.stackexchange.com/stackoverflow/query/466/most-controversial-posts-on-the-site * /

conjunto Não conta em

declarar @VoteStats mesa (PostId int, acima int, baixa int);

inserir @VoteStats

selecionar

PostId,

acima = soma(caso quando VoteTypeId = 2 então 1 outro 0 0 fim),

baixa = soma(caso quando VoteTypeId = 3 então 1 outro 0 0 fim)

a partir de Votos

Onde VoteTypeId dentro (2,3)

grupo por PostId;

selecionar topo 500 p.Eu iria Como [[Postar Ligação] , v.acima, v.baixa

a partir de @VoteStats v

Junte-se Postagens p em PostId = p.Eu iria

Onde v.baixa > (v.acima * 0,5) e p.CommunityOwnedDate é nulo e p.FechadoData é nulo

ordem por v.acima desc;

FIM

IR

/ *

Licença: Creative Commons Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0)

Mais informações: https://creativecommons.org/licenses/by-sa/3.0/

Você é livre para:

* Compartilhar – copie e redistribua o material em qualquer meio ou formato

* Adapte – remixe, transforme e desenvolva o material para qualquer finalidade, inclusive

comercialmente

Sob os seguintes termos:

* Atribuição – você deve dar o crédito apropriado, fornecer um link para a licença,

e indicar se foram feitas alterações.

* ShareAlike – Se você remixar, transformar ou desenvolver o material, deverá

distribua suas contribuições sob a mesma licença que o original.

* /

Configurando o Power BI Data Gateway

Managing the Data Gateway


Neste artigo, vou explicar o que é um Power BI Data Gateway e como configurá-lo. Também abordarei a arquitetura subjacente que o gateway usa e como gerenciar dados no local usando o Data Gateway.

Observe que este artigo não é um curso introdutório para o Power BI e pressupõe que você tenha um bom conhecimento de trabalho com o Power BI Desktop e com o serviço do Power BI. (https://app.powerbi.com)

O Power BI Data Gateway, como o nome sugere, é um tipo de gateway que atua como uma plataforma de conexão entre o
    Serviço de nuvem do Power BI e conjuntos de dados no local que não estão na nuvem. Por exemplo, se você configurou suas fontes de dados no sistema local ou no datacenter de um cliente protegido por um firewall, será necessário instalar o Power BI Data Gateway para que o Serviço Power BI possa se conectar a esses dados fontes e buscar os dados.

O Power BI Data Gateway não é limitado apenas para uso pelo Power BI, mas também pode ser usado por outros serviços de nuvem do Azure, como o Azure Analysis Services, o Power Analysis, o Azure Logic Apps e o Power Automate. Todos esses serviços em nuvem
    pode usar o mesmo gateway de dados sem nenhuma outra especificação necessária.

Arquitetura de Data Gateway

Como já mencionei, o Power BI Data Gateway é um tipo de ponte entre as fontes de dados locais e o serviço do Power BI disponível na nuvem. O gateway é um aplicativo do Windows que deve ser instalado na mesma rede que as outras fontes de dados. Se você ver a figura abaixo, existem várias etapas que ocorrem durante a consulta através do gateway de dados. Como você pode ver, também há uma distinção clara na arquitetura entre os serviços em nuvem e as fontes de dados no local.

Vamos agora tentar entender, passo a passo, como o processamento de dados é feito usando o gateway de dados.

  1. Qualquer um dos serviços em nuvem, como o Serviço Power BI, Power Automate ou Azure Analysis Services
            etc. têm o modelo de dados definido dentro deles. Esse modelo também mantém as consultas necessárias que são necessárias para
    atualize os dados

  2. Essas consultas, juntamente com as credenciais, são antes de tudo criptografado pelo serviço de nuvem do Power BI

  3. Depois de criptografadas, as informações são repassadas para o Serviço de nuvem de gateway

  4. O serviço Gateway Cloud apenas analisa a consulta e coloca a consulta no diretório Fila do Barramento de Serviço do Azure para processamento adicional

  5. O trabalho do Barramento de Serviço do Azure é enviar por push as consultas criptografadas para o Application Gateway, instalado localmente

  6. Depois que as informações são recebidas pelo gateway do aplicativo, elas descriptografar as credenciais de origem e, em seguida, se conecta a uma ou mais fontes de dados conforme definido pela cadeia de conexão

  7. A consulta é então executada pelo Gateway de Aplicação na fonte de dados e os resultados são enviados de volta

  8. À medida que o Application Gateway recebe os dados da fonte de dados, ele passa as informações de volta para o Serviço de nuvem do Power BI

  9. O serviço de nuvem finalmente processa os resultados e atualiza os visuais / conjuntos de dados

Arquitetura de Data Gateway

Figura 1 – Arquitetura do Data Gateway (Fonte da imagem:
    https://docs.microsoft.com/pt-br/data-integration/gateway/media/service-gateway-onprem-indepth/on-prem-data-gateway-how-it-works.png)

Baixe e instale o Power BI Data Gateway

O Power BI Data Gateway pode ser instalado em um PC ou servidor Windows. No entanto, não é aconselhável instalá-lo em um dispositivo que possa estar desativado, pois, nesse caso, o serviço de gateway será interrompido e a atualização de dados será interrompida. Para instalar o gateway, siga as etapas abaixo.

  1. Faça logon no serviço Power BI e entre com suas credenciais

  2. Na seção de downloads, clique em Data Gateway

    Baixar Data Gateway

    Figura 2 – Baixar Data Gateway

  3. Na próxima página que abrir, clique em BAIXAR GATEWAY

    Botão Download do Data Gateway

    Figura 3 – Botão Download Data Gateway

  4. Depois de baixado, abra o arquivo como administrador

  5. Quando o aplicativo iniciar, clique em Próximo na primeira página

    Instalador do Power BI Data Gateway

    Figura 4 – Instalador do Data Gateway

  6. Na próxima página exibida, selecione o Gateway de dados local (recomendado) e clique Próximo

    Modo de Instalação

    Figura 5 – Modo de instalação

  7. O aplicativo pode demorar alguns minutos para instalar

    Hora de instalar

    Figura 6 – Hora de instalar

  8. Depois que o aplicativo estiver instalado, ele abrirá a página para entrar no serviço

Configurar o Power BI Data Gateway

Depois que o Gateway de Dados do Power BI estiver instalado, a próxima etapa é configurá-lo para conectar-se ao serviço do Power BI.
    Siga as etapas abaixo para conectar o gateway ao serviço do Power BI.

  1. Quando a página de login abrir, clique em Iniciar sessão

    Logon do Data Gateway

    Figura 7 – Entrada no Data Gateway

  2. Forneça seu endereço de e-mail que você usa para efetuar login no Serviço do Power BI e clicar em
    Próximo. Observe que este usuário deve ter direitos administrativos no poder
            Área de trabalho do serviço de BI

    Credenciais de login

    Figura 8 – Credenciais de entrada

  3. Digite a senha da conta e clique em Assinar em

    Credenciais de login

    Figura 9 – Credenciais de entrada

  4. Na página seguinte, a mensagem aparecerá como “Gateway não encontrado”. Isso significa
            que o serviço não conseguiu encontrar nenhum gateway configurado em nosso Serviço do Power BI que se conecta ao PC no
            que acabamos de instalar o gateway

  5. Vá em frente e clique Configurar

    Configurando o Gateway de Dados do Power BI

    Figura 10 – Configurando o gateway

  6. Selecione Registre um novo gateway neste computador e clique Próximo

    Registrando o Gateway

    Figura 11 – Registrando o gateway

  7. Providencie um nome para o gateway e um número de 8 dígitos chave de recuperação e clique em
    Configurar

    Registrando o Gateway

    Figura 12 – Registrando o gateway

  8. Uma vez configurado, o gateway exibirá uma mensagem dizendo que é online e agora pronto para uso. Você pode clicar em Fechar

    Gateway Registrado

    Figura 13 – Gateway registrado

  9. O gateway foi instalado com sucesso no PC e agora está pronto para uso pelo Power BI e Power Apps, conforme mencionado na página

Agora que o Gateway está instalado e pronto para uso local, a próxima etapa é configurar o mesmo no Power BI
    Serviço. Por favor, siga os passos abaixo.

  1. Faça logon no serviço do Power BI

  2. Clique em Ícone de configurações e depois selecione Gerenciar gateways

    Gerenciando o Data Gateway

  3. Você verá que o nome que especificamos durante a instalação do gateway está sendo listado automaticamente no cluster

    Cluster de gateway de dados

    Figura 15 – Cluster de gateway de dados

  4. Depois que o cluster estiver disponível, a próxima etapa é adicionar uma fonte de dados a ele

  5. Clique em Adicione fontes de dados para usar este gateway

    Adicionar fontes de dados para usar o gateway

    Figura 16 – Adicionar fontes de dados para usar o gateway

  6. No Configurações da fonte de dados página exibida, forneça o nome dos dados
                Fonte
    e selecione o tipo da fonte de dados, que no nosso caso é SQL
                Servidor

    Selecionando a fonte de dados e o tipo de fonte

    Figura 17 – Selecionando a fonte de dados e o tipo de fonte

  7. Depois que o Tipo de fonte de dados for selecionado, forneça os detalhes necessários para conectar-se à fonte
            banco de dados no sistema local e clique em Adicionar

    Fornecer detalhes da fonte de dados

    Figura 18 – Fornecer detalhes da fonte de dados

  8. Se a conexão for estabelecida, você receberá uma mensagem dizendo: “Conexão bem-sucedida

    Conexão bem sucedida

    Figura 19 – Conexão bem-sucedida

Isso é tudo. Agora você configurou com êxito o Power BI Data Gateway e isso pode ser usado em qualquer relatório do Power BI como
    de acordo com os requisitos.

Conclusão

Neste artigo, vimos como instalar o Power BI Data Gateway e configurá-lo no Serviço do Power BI.
    O Data Gateway é essencial se houver fontes de dados disponíveis no local e não na nuvem. Esse gateway de dados atua como a ponte entre o Serviço de Nuvem do Power BI e as fontes de dados locais através de uma rede segura.

Aveek Das
Últimas mensagens de Aveek Das (ver todos)