M Is For (DATA) Monkey
M Is For (DATA) Monkey
de
Nellie Jay
Publicado por: Macro Santo! Livros, PO Box 541731, Merritt Island FL 32953, EUA Distribuído por:
ISBN: 978-1-61547-034-1 Print, 978-1-61547-223-9 PDF, 978-1-61547-345-8 ePub, Mobi 978-1-61547-034-1 LCCN: 2015940635
ii
iii
Índice
Prefácio Como Poder consulta mudou nossas vidas ........................................... ....................................... v Capítulo 0 Introdução:
Nessa conversa, eu disse a ambos que Power consulta foi ótimo, mas foi um substituto ruim para SQL Serviços Management Studio. Lembro-me
que parte da conversa. Eu estava trabalhando com SSMS e Energia Consulta muito na época, e estava lutando com o facto de poder Consulta fez
algumas das mesmas tarefas, mas não todos. Eu estava frustrado, como eu estava lutando com a ferramenta, tentando fazê-lo se comportam da
mesma como SSMS, mas ele simplesmente não estava fazendo isso.
O que aconteceu depois eu coloquei as minhas preocupações capotou minhas queixas sobre a sua cabeça. Estou parafraseando da minha memória, mas a
resposta foi algo como isto:
“Ken, esta ferramenta não é um substituto para SSMS. Nós construímos isso por pessoas Excel ... nossa intenção é que eles nunca precisar usar ou aprender SQL
em tudo “.
Para qualquer um que me conhece bem, eles sabem que eu estou muito raramente deixou sem palavras, mas isso foi apenas o suficiente para fazê-lo. Essa
declaração perturbar o equilíbrio do meu mundo.
Entenda que eu não sou um profissional normal de Excel. Sei SQL suficiente para ser perigoso, estou extremamente realizado com VBA, e ter
conhecimento de trabalho de VB.NET, C #, XML e algumas outras línguas. E enquanto eu amo nologia e desafios tec-, a verdadeira razão que eu sei tantas
línguas como eu faço hoje é que eu me ensinou por necessidade. Normalmente as minhas necessidades foram complicadas, e que envolveu uma viagem
dolorosa de saltar para o fundo do poço com uma abordagem de “nadar ou afundar”.
No pro Excel deve precisar de trabalhar com SSMS a fim de obter os dados necessários. Mas anos de trabalho com dados e lutando assunto após
assunto me deixou assumindo que o Poder consulta era um Excel focada substituto para essa ferramenta. Ele nunca me ocorreu, de alguma forma,
que estava sendo projetado para realmente fazer a vida do Excel pro muito mais fácil que eles nem sequer precisa para chegar ao SQL em tudo.
Esse encontro mudou minha visão do Poder consulta para sempre. Dei um passo para trás e olhou para ele sob uma nova luz. E eu comecei a usá-lo como
foi planejado para ser usado ... por conta própria, dirigindo tudo através da interface do usuário, evitando escrita SQL sempre que possível. E você sabe
alguma coisa ... ele começou a trabalhar melhor, ele me permitiu ir mais lugares, que me permitiu resolver as coisas que eu nunca tinha sido capaz de fazer
antes.
Eu amo esta ferramenta. Não por causa do que eu posso fazer com ele, mas por causa de como é fácil torna para fazer as coisas para um profissional de negócios,
sem a necessidade de codificação. Eu adoro isso, porque as pessoas que ensinam pegá-lo rapidamente e pode adicionar valor real em um incrivelmente curto
espaço de tempo. Este produto é verdadeiramente centrada em torno do pro Excel, o que nos permite construir soluções complexas através de um dos melhores
modelos de interface de usuário que já vi em muito tempo. E enquanto nós Faz ensinar as técnicas de codificação neste livro, a melhor parte é que é opcional,
apenas estendendo as capacidades ainda mais.
Na primeira, Poder consulta pode parecer você gosta do que pareceu-me - apenas uma ferramenta de usuário final guiada que pode fazer algumas
transformações de dados muito legal. Mas, então, você vai perceber o verdadeiro poder e flexibilidade que o motor de Energia Consulta traz para a mesa. Hoje,
eu sinto que o Poder consulta é tão importante quanto Poder Pivot, como a forma como você moldar seus dados irá determinar quão bem o seu poder Modelo de
Dados Pivot funciona.
vi M é para (dados) do macaco
Poder de consulta é o novo underdog de ferramentas de Business Intelligence. É um grande avanço na self-service Business Intelligence e manipulação
de dados para o usuário final ou administrador de dados. Nosso objetivo com este livro é mudar a perspectiva de todos da ferramenta para sempre.
Este é o momento para o oprimido a subir e reivindicar uma vitória - uma vitória para todos nós que o trabalho com os dados em uma base diária. Uma vitória
para aqueles que querem fazer o trabalho de dados para nós e não o contrário.
Autor Agradecimentos
Como acontece com qualquer livro, há um monte de pessoas que são bastante influente em fazer as coisas acontecerem. Sem a influência das
pessoas abaixo, este livro nunca teria vindo a ser concretizadas:
Bill Jelen - Um monte de editores nos teria rido para fora da sala com o título deste livro, mas Bill adorei. Ele tem sido incrivelmente
entusiasmado, acomodando com o cronograma, e nós realmente apreciamos o seu apoio. Rob Collie - Rob é sinônimo de poder Pivot and
Power BI. Ele também é um amigo, e o cara que sugeriu que (Ken & Miguel) trabalhar em conjunto e escrever um livro Poder Query. É
muito provável que, sem estímulo de Rob, isso nunca teria acontecido.
Miguel Llopis - Desde a primeira reunião durante o café, Miguel tem sido o nosso go-to guy na Microsoft, mesmo brincando que o seu emprego a tempo
inteiro está respondendo e-mails de Ken. Ele tem sido super apoio desde o primeiro dia, tem respondido a solicitações de recursos de design, insetos e muito
mais. Viva el Atleti!
Roger Govier - Um livro tecnologia não vale nada, a menos que passou por uma revisão adequada tecnologia. Cada
página deste livro foi avaliada pelo nosso amigo Roger, eo livro é muito melhor para ele. A partir sugestões fraseio, para
expor questões, a entrada de Roger foi inestimável, mesmo inspirando um novo capítulo no processo. Matt Masson, Curt
Hagenlocher, Gil Raviv, Faisal Mohamood, Miguel Martinez, Samuel Zhang e todos os outros da equipe Poder Consulta /
Power BI que responderam às nossas muitas perguntas e responderam a nossos muitos e-mails. Sua ajuda e
esclarecimentos ter sido incrivelmente útil para transformar o produto acabado. Chris Webb e Bill Szysz para empurrar os
limites de potência da consulta, bem como inúmeros outros que têm comentado em nossos blogs e vídeos em um esforço
para mostrar maneiras diferentes e melhores para realizar soluções.
Eu também quero agradecer ao meu co-autor, Miguel. Foi idéia de Miguel e energia que levou à criação de http: //
powerquery.training eo workshop online que ensinam lá. Sem sua dedicação ao projeto, ele não teria vindo a ser concretizadas. E
sem a oficina, nós provavelmente não tem um livro que é este bem organizado, este fluido, como o layout e o material é baseado
nas coisas que ensinamos e aprendemos com essa experiência.
Eu também gostaria de agradecer a todos os praticantes do Excel e BI em todo o mundo que têm demonstrado seu apoio para o nosso livro e nossos esforços
relacionados Poder de consulta. É realmente uma honra fazer parte desta comunidade mundial e eu convidamos você a se juntar a nós simplesmente usando esta
ferramenta.
Prefácio Como Poder consulta mudou nossas vidas vii
Não vamos esquecer uma parte crucial da minha vida: amigos e familiares. Eu não estou colocando nomes aqui como eu estou com medo que eu poderia deixar
alguém de fora - por isso estou jogando pelo seguro aqui! :)
Agradecimentos especiais a Ken para ser extremamente favorável e ser capaz de superar a barreira da língua, às vezes comigo!
“Spanglish” me recebe, por vezes, ainda Ken distingue o que estou tentando dizer e faz uma versão melhor dele.
Vamos esperar que o Canadá e Panamá pode ir para a Copa do Mundo em 2018!
E finalmente…
Nós gostaríamos de agradecer. Tanto para comprar o livro, colocando sua confiança nos nossos métodos de ensino, e para ser- vir parte do movimento de
alimentação Query.
Este livro foi escrito para você, em um esforço para ajudá-lo a dominar os seus dados. Nós realmente esperamos que ele faz, e que você vai encontrá-lo para ser o
livro Excel de maior impacto que você já adquiriu.
viii M é para (dados) do macaco
Capítulo 0 Introdução: A Nova Revolução 1
Podemos ficar marcado com o nome de “macaco de dados,” mas nós somos realmente os profissionais da informação. Mas não importa o que chamamos de nós
mesmos em nossas descrições de trabalho formais, o nosso papel é o de limpar os dados e transformá-lo em informação. Nossos trabalhos podem não ser
glorioso, mas eles são essenciais, e sem o nosso trabalho feito corretamente, os resultados finais das análises são suspeitos.
Enquanto Excel tem um conjunto de ferramentas de incrível para nos ajudar a construir inteligência de negócios fora de dados, conversão de dados brutos em
dados de consumo tem sido um desafio para os anos. Na verdade, é esta questão que muitas vezes passam a maior parte do nosso tempo on-preparando dados
para análise e coloca-lo em um formato agradável tabular para expor mais poderosas ferramentas de análise e relatórios do Excel.
Figura 1 Por trás das cortinas, estamos todos os profissionais da informação tentando alcançar o nosso objetivo desejado com dados.
Apesar do apelido de “macaco de dados”, que os profissionais da informação são muitas vezes mais como mágicos de dados. Nossos dados raramente entra no
nosso mundo em um pronto-a-consumir formato; pode demorar horas de limpeza, filtrando, e remodelar para fazer as coisas prontas para ir.
Uma vez que nossos dados estão preparados e prontos, podemos realizar uma vasta gama de processos analíticos poderosos com facilidade. Ferramentas,
incluindo a formatação condicional, filtros, tabelas dinâmicas, gráficos, máquinas de corte, e mais vamos trabalhar magia e impressionar o nosso público.
Mas se os dados preparado e pronto é a parte mais difícil. Estamos servido dados sujos, realizada em coleções de texto e arquivos de Excel (talvez um banco
de dados, se estamos muito sorte), e de alguma forma tem que limpá-lo e deixá-lo pronto para uso. Nosso objetivo final é simples: obter os dados em uma tabela
do Excel, o mais rapidamente possível, assegurando ao mesmo tempo que é delimitado para as nossas necessidades e preciso. E cada solução tem uma
combinação diferente de dados provenientes de diferentes fontes. . . que leva magia.
2 M é para (dados) do macaco
Figura 2 A magia negra é o que realmente acontece com os dados antes do consumo.
• fórmulas do Excel -Estes são algumas das primeiras técnicas que o mago, muitas vezes, para atingir, Lever envelhecimento seu conhecimento de
fórmulas utilizando funções tais como PROCV (), INDEX (), FÓSFORO (), OFFSET (), esquerda (), LEN () , TRIM (), clean (), e muitos mais.
Enquanto fórmulas tendem a ser usado por a maioria usuários do Excel, a complexidade dessas fórmulas varia de acordo com a experiência do
usuário e conforto.
• Visual Basic for Applications (VBA) -Este linguagem poderosa pode ajudar a criar poderosos e DY transformações NAMIC para seus
dados. VBA técnicas tendem a ser usado por avançado usuários devido à disciplina necessária para realmente dominar-los.
• instruções SQL -SQL é outra linguagem poderosa para manipulação de dados, e pode ser extremamente útil para a seleção, classificação,
agrupamento e transformar dados. A realidade, porém, é que esta língua é também normalmente só usado por avançado usuários, e até mesmo
muitos profissionais do Excel não sabe por onde começar com ele. Esta linguagem é muitas vezes visto como sendo o domínio exclusivo dos
profissionais de banco de dados, embora cada pro Excel deve investir algum tempo para aprender isso.
Todas estas ferramentas têm algo em comum: Por muitos anos, eles eram essencialmente as únicas ferramentas disponíveis para a limpeza e
transformação de dados em algo útil. Apesar de sua utilidade, muitas destas ferramentas também têm duas deficiências graves: Eles precisam de tempo
para construir uma solução e tempo para dominar as técnicas. Embora seja verdade que verdadeiramente mágicos experientes podem usar essas
ferramentas para construir soluções para automatizar e importar dados brutos em um formato limpo, isso leva anos de aprendizagem de línguas
avançados, bem como uma quantidade significativa de escopo tempo, desenvolver, testar e manter as soluções . Dependendo da complexidade das
soluções construídas, que fixa as soluções para uma pequena alteração no formato de importação ou alargando-as a abraçar outra fonte pode ser terrível.
Um perigo oculto de ter um verdadeiro assistente em uma empresa é que a pessoa pode construir uma solução incrível que trabalha até muito
tempo depois que ele ou ela deixou a empresa. Em algum ponto, porém, outros na empresa perceber que eles não entendem a solução e não tem
ninguém para corrigi-lo quando ele finalmente rompe. Por outro lado, muitas pessoas encarregadas de esta limpeza de dados não têm tempo ou
oportunidade de aprender essas técnicas mágicas avançadas. E enquanto nós poderia dizer que talvez eles é melhor nunca ter um colapso
massivo sistema sem ninguém para corrigi-lo, em vez disso, perder horas, dias, semanas, meses e anos de tempo de trabalho e dinheiro
realizando a limpeza de dados repetitivos e importações em um regularmente.
Tome um momento e pensar sobre quantas horas são consumidos em uma base mensal em sua empresa simplesmente executar tarefas repetitivas
de importação de dados e de limpeza no Excel. Multiplique essas horas pela taxa média de salário na sua empresa. . . e pelo número de empresas
em seu setor em todo o mundo e. . . você começa a idéia. O custo de produtividade nesta área é impressionante.
Capítulo 0 Introdução: A Nova Revolução 3
Introduzir um produto que aborda todos estes problemas-um que é fácil de aprender e que outros possam pegar e entender com instrução limitada. É
um produto que permite automatizar a importação e limpeza de dados, para que possa concentrar-se em transformar os dados em informações,
acrescentando verdadeiro valor à sua empresa. Esse produto é chamado Consulta poder.
As transformações futuras
Poder consulta resolve os problemas relacionados com os conjuntos de ferramentas que acabamos de descrever. É muito fácil de aprender e tem
uma das interfaces mais intuitivas que já trabalhei. É fácil de manter, uma vez que mostra cada etapa do processo, que pode rever ou atualizar
mais tarde. E tudo feito em Power consulta pode ser atualizada com um par de cliques.
Passámos anos a construção de soluções utilizando técnicas de magia negra, e vemos Poder consulta como um divisor de águas para muitas
razões. Uma delas é a velocidade com que ele pode ser aprendido.
Quando se trata de importação, limpeza e transformação de dados para obtê-lo pronto para a análise, você pode aprender Poder consulta mais rápido do que você
pode aprender fórmulas do Excel, e ele lida com fontes complexas muito mais facilmente do VBA.
Figura 3 Potência de consulta foi concebido para ser uma transformação dos dados de fácil utilização e manipulação ferramenta.
Sua facilidade de uso faz de Energia Consulta a resposta para o problema de fuga mágico dados que muitas empresas enfrentam. Mesmo se um mágico
moderno constrói algo complexo em Power Query, você pode ter alguém até a velocidade e capaz de manter ou corrigir a consulta com as horas mínimas
de formação-estamos falando, não semanas. Por mais difícil que é para os verdadeiros prós Excel para entender, muitos usuários realmente não fazer quer para
dominar fórmulas Excel. Eles simplesmente querem abrir uma ferramenta, conectá-lo à sua fonte de dados, clique em alguns botões para limpá-lo e
importá-lo e construir o gráfico ou relatório que eles precisam. É exatamente por isso que o Poder consulta pode chegar ainda mais longe do que fórmulas.
Com a interface baseada em menus, em muitos casos, um usuário pode evitar ter que aprender uma única fórmula ou linha de código.
4 M é para (dados) do macaco
facilidade de uso da Figura 4 Poder consulta terá impacto mais usuários do que qualquer um dos métodos clássicos.
Não há nenhuma dúvida em nossas mentes que o Poder consulta vai mudar a maneira prós Excel trabalhar com dados sempre. Queremos
deixar bem claro que não estamos descontando o valor de fórmulas, VBA, ou SQL. Na verdade, nós não poderia viver sem essas ferramentas.
Você pode rapidamente bater para fora fórmulas para fazer muitas coisas fora do contexto trans- formação que Power consulta nunca vai fazer.
VBA tem um alcance muito maior em pura capacidade e poder, permitindo-lhe chegar a outras aplicações, criar programas para puxar e
empurrar os dados, e tantas outras coisas. E uma consulta SQL escrito por um assistente SQL será sempre mais rápido e melhor do que um
criado por poder Query. No contexto de simplesmente conectando, limpeza, e importar dados, no entanto, poder Consulta oferece mais por
menos, o que lhe permite automatizar o trabalho mais rapidamente e em menos tempo. mais uma ferramenta que você tem acesso. Você pode
fornecer suas próprias consultas SQL, se necessário, atualizá-los com VBA quando desejado, carregar o seu poder query- criado consultas
diretamente ao Poder Pivot, e muito mais.
como desejado, e, em seguida eu OAD-lo. Mas o que isso realmente significa para nós como profissionais do Excel?
Extrair
Extração podem ser direcionados contra uma ou mais fontes de dados, incluindo arquivos de texto, arquivos CSV, arquivos do Excel, bases de Dados- e
páginas da web. Além disso, a equipe Poder consulta construiu muitos conectores para fontes de dados que de outra maneira sido duro para chegar
a-Microsoft Exchange, Facebook, Salesforce e outros Software-as-a- Service (SaaS) fontes.
Transformar
Quando falamos de transformação, que incluem cada uma das seguintes áreas:
• limpeza de dados limpeza -Os dados pode envolver filtrar departamentos de um banco de dados ou remoção de linhas em branco ou lixo de uma
importação de arquivo de texto. Outros usos incluem a mudança casos de maiúsculas para minúsculas, dados de divisão em várias colunas, e forçando
as datas para importar no formato correto para um determinado país. limpeza de dados é qualquer coisa que você precisa fazer para seus dados para
limpá-lo para que ele possa ser usado.
• Integração de dados -Se você usar PROCV () ou INDEX () / MATCH (), então provavelmente você está integrando conjuntos de dados ple
multi-. Poder consulta pode juntar dados em forma vertical ou horizontal, permitindo-lhe acrescentar duas tabelas (criando uma longa mesa) ou
mesclar tabelas juntos na horizontal, sem ter que escrever uma única função PROCV (). Você também pode realizar outras operações, tais
como agrupamento.
• enriquecimento de dados tarefas -Estes incluir a adição de novas colunas ou fazer cálculos sobre um conjunto de dados. Consulta de energia faz com
que seja fácil de realizar cálculos matemáticos como a criação de Vendas Brutas por mul- tiplying Vendas Quantidade * Preço de Venda ou adicionar
novos formatos de datas com base em sua coluna data da transação. Na verdade, com poder de consulta você pode até criar tabelas inteiras de forma
dinâmica, com base no valor em uma célula do Excel. Precisa de uma mesa calendário dinâmico que corre cinco anos atrás a partir da data de hoje?
Olhe não mais do Poder Query.
Poder de consulta permite que você execute muitas transformações através de comandos de menu, em vez de ter que escrever fórmulas ou código para fazê-las.
Esta ferramenta foi construído para profissionais do Excel, e sem nenhuma experiência codificação whatso- nunca, você pode usar o poder de consulta para
executar transformações que seriam incrivelmente complexa em SQL ou VBA. Isso é uma grande coisa!
Se você é do tipo de pessoa que gosta de ficar debaixo das cobertas e mexer com fórmulas ou código, no entanto, você pode. Enquanto não há
nenhuma exigência de sempre aprender, Poder consulta registra tudo em uma linguagem chamada M. (Línguas de A a L foram tiradas.) E se você é
um assistente que decide aproveitar essa linguagem, você pode construir ainda mais consultas eficientes e fazer coisas ainda mais surpreendente
do que sem ele.
Carga
Com Poder consulta você pode carregar dados em um dos quatro lugares:
• tabelas do Excel
• BI poder
• Somente conexões
O último ponto pode parecer um pouco misterioso, mas isso simplesmente significa que você pode criar uma consulta que pode ser utilizado por outros
procedimentos. Isso permite que para alguns casos de uso muito interessantes que vamos explorar mais detalhadamente no livro. Embora seja interessante olhar
para onde as cargas de dados, que realmente não é a parte mais importante do processo de carregamento nesta ferramenta ETL. Está como ele carrega ou melhor,
Poder consulta é essencialmente um gravador de macro que mantém o controle de cada bit do extrato e transformar etapas. Você pode definir uma consulta uma
vez e determinar onde você gostaria de carregá-lo. Depois de ter feito isso, você pode simplesmente atualizar sua consulta para executá-lo novamente.
6 M é para (dados) do macaco
Considere isto por um momento: Você precisa de um arquivo TXT particular, e ele te leva 20 minutos para importar e limpá-lo antes que você possa
usá-lo. Poder consulta permite realizar a mesma tarefa em 10 minutos, o que economiza 10 minutos do primeiro tempo você usá-lo. Em seguida, no
próximo mês vem junto, e você precisa de uma nova versão do mesmo arquivo TXT. Sem poder Query, você tem que arregaçar as mangas e
reviver os 20 minutos de exuberância Excel onde mostram Excel que você é um mestre em reviver o passado, realizando essas etapas
emocionantes uma e outra vez a cada mês. Esperar . . . você não encontrar o que emocionante? Nesse caso, basta salvar seu novo arquivo TXT
sobre o antigo, entrar em Excel, e clique em Dados → Atualizar tudo. Você está acabado. A sério.
Isto é onde você ver o poder real de poder Query. É fácil de usar, e também é fácil de reuso. Ele muda o seu trabalho duro em um
investimento e libera o seu tempo durante o próximo ciclo para fazer algo de valor.
O Ciclo de Atualização
A equipa de Energia Consulta lança atualizações mensais. Nós não estamos falando correções de bugs (embora aqueles são certamente incluído); estamos
falando de novos recursos e aprimoramentos de desempenho. Enquanto alguns são pequenos, outros são muito maiores. Em fevereiro de 2014, a equipe
adicionou a capacidade de se conectar ao Microsoft Exchange como uma fonte de dados. No início de 2015, a equipe lançou uma atualização que reduzir o tempo
de carga de consulta em 30%. Em julho de 2015, a equipe lançou uma atualização que resolveu alguns problemas muito graves com refrescante para poder Pivot.
Há riscos envolvidos na instalação das últimas atualizações assim que elas estiverem disponíveis? Claro que há. Erros acontecem, especialmente
em softwares complexos. Mas a realidade é que as obras Power Team Pesquisar muito difícil de abordar sérios bugs no software. Se você está
particularmente preocupado, baixar o instalador e guardá-lo em vez de instalar diretamente da web. Isso permitirá que você para reverter se a
necessidade cada vez surge. Se você atualmente tem o poder de consulta instalado, certifique-se de atualizá-lo. Este livro foi escrito usando a
versão
2.24, lançado em julho de 2015, e você deve ser, pelo menos, essa atualização.
• Poder BI desktop -Espere o que? O que isso tem a ver com o Excel? A pouco e muito, realmente. A história curta é que o poder BI
Desktop é um programa independente para aquisição e modelagem de seus dados. Como acontece, Poder consulta é a ferramenta
usada para a fonte e transformar os dados com Poder BI desktop, então você vai estar aprendendo uma habilidade neste livro que é
portátil para outros aplicativos. O Poder BI Desktop pode ser baixado a partir www.powerbi.com.
Capítulo 0 Introdução: A Nova Revolução 7
Apesar de poder consulta lida com fornecimento de dados para Power BI desktop, este livro é escrito por profissionais do Excel para prós
Excel. Cada solução nas páginas deste livro é ilustrado com Excel.
O Mapa de Aprendizagem
Depois de trabalhar com Power consulta por um longo tempo, nós viemos acima com um método que nós acreditamos que é o caminho mal opti- para ensinar
como usar essa ferramenta incrível. É aquele que temos testado e aperfeiçoado em nossa http on-line: // oficinas powerquery.training, e envolve técnicas
cuidadosamente camadas que constroem uns sobre os outros. O mapa de aprendizagem é mostrado abaixo.
Porque o poder de consulta é tão incrivelmente útil, ele só fazia sentido para integrar a ferramenta em Excel 2016. Devido a preocupações com inchaço da
interface do usuário, no entanto, poder consulta não foi dado o seu próprio guia da faixa no Excel 2016, mas foi em vez esmagado para dentro do obter &
Transform grupo no separador dados. A imagem abaixo mostra onde o poder de consulta é acessível em cada aplicação.
8 M é para (dados) do macaco
Figura 8 Localizando Poder consulta no Excel 2010, Excel 2013, Excel 2016, e Poder BI Desktop.
Figura 9 Criando uma consulta a partir de um arquivo CSV no Excel 2016 vs Excel 2010/2013.
Então, vamos colocar isso à prova. Se queremos que você pegue os dados de um banco de dados SQL Azure, os nossos sentidos leia-se:
O processo para o Excel 2016 e para o Excel 2013 iria olhar como mostrado abaixo.
Figura 10 Criando uma consulta a partir de um banco de dados SQL Azure no Excel 2016 vs Excel 2010/2013.
Arquivos de exemplo
Antes de ler mais, é altamente recomendável que você baixar todos os arquivos utilizados neste livro para que você possa seguir junto com a gente. Você
pode obtê-los todos de uma http://www.powerquery.training/book-files/. É hora de explorar esta ferramenta incrível em profundidade. Vamos começar.
Elementos especiais
Notas irá aparecer em um parágrafo recuado com um ícone de banana. Estes deliciosos parágrafos apontar características especiais,
peculiaridades, ou truques de software que ajudarão a aumentar a sua produtividade com o Power Query.
Avisos aparecem em um parágrafo sombreado com um ícone de casca de banana. Preste atenção especial para as caixas de cautela, pois
eles podem causar-lhe a escorregar. Nós queremos impedi-lo de ir por um caminho que fará com que os problemas experiência consulta no
futuro.
10 M é para (dados) do macaco
Capítulo 1 Importação de Dados Básicos 11
Se você é um Excel pro, é altamente provável que sua vida é toda sobre a importação, manipulação e transformação de dados para que você possa usá-lo.
Infelizmente, muitos de nós não têm acesso a grandes bases de dados com dados curadoria. Em vez disso, são alimentados com uma dieta constante de arquivos
TXT ou CSV e tem que passar pelo processo de importá-los para as nossas soluções do Excel antes de podermos começar a nossa análise. Para nós, informações
críticas de negócios são armazenados nos seguintes formatos:
• planilhas Excel
Felizmente, Poder consulta foi construída por nós, e isso nos permite importar os dados a partir de qualquer uma destas fontes.
• Criar um novo → consulta De Arquivo → De CSV (ou de texto, se você usou o arquivo TXT)
• Navegue até os Exemplos CH01 \ arquivo Ch01-delimitado e clique duas vezes nele
Em diferentes versões do Excel, você usa métodos ligeiramente diferentes para criar uma nova consulta. Para saber como criar uma
nova consulta na sua versão do Excel, consulte a seção “Criação de novas consultas” na introdução.
Excel inicia uma nova janela, o editor Poder Query, que tem esta aparência:
• Os dados aparecem num formato tabular agradável com cabeçalhos das colunas
É o último ponto que é o mais saliente aqui. Se você tentar clicar no step Fonte, você vê uma visão um pouco diferente de seus dados:
Figura 12 Os dados como Power consulta originalmente importado, visualizados clicando no step Fonte.
O impacto disso é bastante importante. Poder consulta importado seus dados, analisou ele, e notou algumas tendências. O que você não vê é que o poder
de consulta determinou que seus dados estão colunar (baseado no fato de que arquivos CSV têm suas colunas separadas por vírgulas), para que ele
(corretamente) dividi-lo em colunas. Que os dados desembarcou na etapa Fonte.
Poder de consulta, em seguida, analisados os dados mais longe e identificou que a primeira linha teve cabeçalhos de texto que eram incompatíveis com os
valores nas colunas. Por isso, acrescentou a etapa Promovido cabeçalhos para promover a primeira linha a ser os cabeçalhos das colunas para a sua mesa.
Em seguida, Poder consulta tentaram identificar e definir os tipos de dados nas colunas. É feita a suposição de que a coluna é Trandate datas,
a conta e colunas Dept são números, e a soma da coluna é Montante valores. É então aplicado esses tipos de dados na etapa Changed Tipo
você vê na caixa de Passos Aplicadas. A grande coisa aqui é que você pode pisar para trás e para a frente através destes passos para ver o
poder de consulta fez para os dados.
Você pode fazer algumas modificações para limpar os dados. . . como a fixação dos termos nos cabeçalhos das colunas para ser mais legível. Para fazer
isso, siga estes passos:
Tome um outro olhar para a caixa de Passos Aplicadas agora. Se você estivesse observando de perto como você fez isso, você teria notado que um novo passo
foi criado quando você renomeou a coluna Data. Mas um outro passo foi não criado quando você renomeou a coluna Valor. Em vez disso, as duas etapas foram
fundidos juntos. Poder consulta tenta manter as coisas eficientes através da fusão de operações semelhantes como você está construindo uma consulta.
A consulta está olhando muito bom, mas o que se você não concorda com as escolhas de tipo de dados de Poder consulta? Por exem- plo, os valores da coluna
de conta e Dept deve ser formatado como texto, não números. Corrigindo isso não é problema:
Os campos Conta e Dept estão agora alinhados à esquerda da coluna, o que indica que eles estão Format- ted como texto, não valores, de acordo
com Excel. Você também pode ver um novo passo na caixa de Passos Aplicadas, chamado Type1 Changed:
Então, por que não o tipo de mudanças fusão volta para o passo tipo alterado original? A resposta é que o poder de consulta não sabe
se você fez algo importante na etapa anterior, por isso reage a maneira segura e cria um novo passo.
Poder consulta funciona essencialmente como um gravador de macro seqüencial: Ele irá executar exatamente essas etapas, exatamente nesta ordem, cada vez
que você atualizar os dados.
Carga
É agora tempo para finalizar a consulta, com a etapa de carga. Antes de se comprometer a sua consulta, você deve dar-lhe um nome mais
descritivo do que o padrão. Excel usará o nome fornecido aqui como o nome da sua tabela de saída ou consulta. Siga esses passos:
Por padrão, os dados são carregados para uma tabela Excel com o nome da consulta. Você pode realmente ver a tabela são criados em um esquema de
cor cinza e, em seguida, fica verde. Cada consulta de tabela passa por este processo sempre que é atualizada-primeiro virando cinza e, em seguida, ficar
verde quando é bom para ir.
Você também vai notar um novo painel de tarefas, painel de pasta de trabalho consultas, pop-up no lado direito da janela Excel. Esta interface útil
fornece informações importantes sobre suas consultas (tais como número de linhas carregadas e erros encontrados), e também permite que você
localize e gerenciar suas consultas no futuro.
14 M é para (dados) do macaco
Se você está trabalhando junto com o livro e sua consulta mostra um número significativo de erros, não entre em pânico. Isto significa
simplesmente que as configurações regionais não estão definidas para um formato EUA. Agora estamos focados em como usar a interface de
alimentação de consulta para importar dados, mas a certeza de que vamos mostrar-lhe como lidar com esta questão específica (entre outros)
no Capítulo 2.
Com os dados carregados na tabela, agora você tem a capacidade de atualizá-la a qualquer momento através de alguns métodos diferentes:
Cada vez que um desses comandos é emitido, Excel dispara Poder Consulta para abrir o arquivo, processo de cada um dos passos que você gravou, e
colocar os dados na tabela. Contanto que você salvar o arquivo de novas operações em cima do que você usou para criar sua solução, e contanto que
a estrutura de dados é o mesmo, você acabou automatizado seu processo de importação até um par de cliques!
Se você descartar painel a pasta de trabalho consultas, você pode mostrá-lo novamente através da aba Dados → Mostrar consultas no Excel 2016 ou
guia → Mostrar painel de energia consulta no Excel 2010/2013.
A fim de preservar a mesa e outras características do Poder Query, este arquivo deve ser salvo em um formato de arquivo válido Excel,
como XLSX, xlsb, ou XLSM.
• tabelas do Excel
• intervalos nomeados
Capítulo 5 abrange a importação de dados de planilhas sem tabelas e dados contidos em outras pastas de trabalho.
Para puxar esses dados para poder Query, siga estes passos:
Neste ponto, o Excel inicia o processo de criação de uma tabela oficial Excel para você, pedindo-lhe para confirmar os limites da tabela e se o conjunto
de dados inclui cabeçalhos. Depois de confirmar os detalhes, você está lançada para a interface de alimentação de consulta.
Se você começar com uma tabela oficial Excel, você teria apenas ser lançados diretamente no editor de alimentação Query, sem ser
solicitado para confirmar o intervalo.
Como mostrado abaixo, essa interface tem algumas diferenças em relação ao puxado em dados de um arquivo delimitado.
Observe as diferenças:
• Os cabeçalhos da tabela foram importadas da mesa, pelo que não há etapa cabeçalhos promovidos.
Quando você clica em Close & Load, Excel tenta criar uma nova tabela, usando o nome da consulta mostrado no editor de
Poder Query. Se os conflitos de nomes com o nome de uma tabela existente, Excel anexa um sublinhado e um número ao
nome da tabela recém-criado para garantir que não há nomes duplicados. Finalize essa consulta com estes passos:
A nova planilha é criada, e que contém uma cópia da tabela original. As únicas diferenças são neste momento o nome da tabela e esse poder
de consulta agora tem uma conexão com os dados.
16 M é para (dados) do macaco
Há muito pouca razão para criar uma cópia de sua tabela sem efectuar quaisquer as transformações no processo.
Mostramos esse processo apenas para ilustrar como conectar e de carga de uma tabela Excel.
O desafio com a aplicação de um estilo de tabela no Excel é que ele bloqueia cabeçalhos de coluna no lugar (quebrando cabeçalhos de tabela dinâmica
movida por fórmulas), aplica-se bandas de cor, e faz outras mudanças estilísticas a planilha que você pode não querer. Isso pode ser um problema se você
gastou uma grande quantidade de tempo a construção de uma análise, e você não quer um estilo de tabela aplicado ao intervalo de dados.
A boa notícia é que você também pode se conectar a intervalos de Excel, não apenas para as tabelas. Para fazer isso, você pode usar a planilha
NamedRange no arquivo de exemplo Ch01-Excel Data.xlsx. Os dados em que é idêntica para os dados no exemplo anterior, mas ainda é em forma bruta,
sem estilo mesa aplicada. Puxando dados em poder de consulta a partir de um intervalo nomeado envolve três etapas distintas:
Depois de criar este nome, você pode selecioná-lo usando a seta suspensa à esquerda. Não importa onde você está em sua
pasta de trabalho, então você vai saltar para esta planilha, e os dados no intervalo nomeado será selecionado.
• Certifique-se de que todo o intervalo nomeado é selecionado e que seu nome está mostrando na caixa Nome
Se o intervalo nomeado é selecionado quando você usa o comando de Mesa, Poder consulta não forçar um estilo de tabela em seus dados e, em
vez refere-se diretamente para os dados no intervalo nomeado. Como você pode ver abaixo, agora a interface de energia consulta é o que parece
quando você importar arquivos delimitados em vez de como ele olha quando você se conectar a uma tabela do Excel:
Capítulo 1 Importação de Dados Básicos 17
Uma das características de tabelas do Excel é que eles têm uma linha de cabeçalho predefinido. Desde que não existe com um intervalo nomeado, Poder
consulta tem que se conectar à fonte de dados brutos e executar sua análise para descobrir como tratar os dados. Muito parecido com arquivos de texto
delimitados, identifica uma linha que parece ser cabeçalhos, promove os cabeçalhos, e tenta aplicar tipos de dados para as colunas.
Observe que o nome padrão da consulta é o nome do intervalo nomeado. Novamente, é uma boa idéia para mudar isso, como Excel irá adicionar um
número ao nome da mesa quando ele é criado porque o nome de uma tabela não pode ser idêntica a qualquer outra tabela ou intervalo nomeado. Siga
esses passos:
Na planilha DynamicRange do Ch01-Excel Data.xlsx arquivo que você vai encontrar uma outra cópia dos dados originais. Siga estes passos para configurar um
intervalo nomeado dinâmica que se expande à medida que novos registros são adicionados:
• Clique OK
O desafio agora é que você pode se referir a este intervalo nomeado em Power Query, mas porque é um nome dinâmico, você não pode selecioná-lo a partir
da caixa de nome no Excel. Então, se você não pode selecioná-lo, como você pode anexar a ele com Power consulta em primeiro lugar? O segredo é criar
uma consulta em branco e, em seguida, dizer Poder consulta que variam você deseja se conectar. Veja como:
Se você não vê a barra de fórmulas no Editor de consulta entre a fita e a área de dados, vá para a guia Exibir e
clique na caixa Formula Bar.
= Excel.CurrentWorkbook ()
• pressione Enter
Como mostrado abaixo, você ver uma tabela que lista todos os objetos do Excel neste livro que você pode conectar-se.
18 M é para (dados) do macaco
Figura 20 A lista de todos os objetos de Energia Consulta vê na pasta de trabalho atual do Excel.
Lá no fundo é o objeto DynamicRange você acabou de criar. Clique na Tabela palavra verde na coluna Conteúdo à esquerda do
DynamicRange. Poder consulta perfura o intervalo, como mostrado abaixo.
Ao olhar para a caixa de Passos Aplicadas, você pode ver que você tomou estes passos:
Além disso, Poder Consulta fez algumas suposições sobre os dados para você, e ele tomou a liberdade de aplicar mais alguns passos, como a
promoção cabeçalhos de coluna e definir os tipos de dados. Tudo que você tem a fazer agora é seguir estes passos:
considerações
Sempre que possível, é preferível construir suas soluções contra tabelas do Excel. Eles são mais fáceis de configurar do que as alternativas, mais fácil de
manter, e bastante transparente sobre onde os dados são armazenados. Em situações específicas, você pode ter razões para evitar tabelas, no entanto, e
você pode fazer isso onde for necessário. Recomendamos que você geralmente deve chegar a estas técnicas somente quando você tem boas razões para
fazê-lo.
Capítulo 2 Padrões Overriding Poder da consulta 19
Figura 22 Um olhar cru em um arquivo CSV mal formado, que tem uma linha de cabeçalho extra.
Então, o que há de errado com este conjunto de dados? Começando na linha 2, que tem uma boa lista consistente de dados que mostram em um formato
adequado, separados por vírgulas, com um uma linha de cabeçalho e quatro colunas de dados, separados por vírgulas. A questão aqui é que há uma linha extra no
topo da página, sem vírgulas nele. Em uma configuração normal, CSV, isso não deve ocorrer, como a maioria dos programas de trabalhar para fora a contagem de
coluna com base na primeira linha. Curiosamente, quando o Excel abre esse arquivo, ele manipula-lo sem problema:
Poder Query, infelizmente, não lidar com isso tão graciosamente, como você pode ver se você seguir estes passos:
Isso obviamente não é bom. Você está olhando para uma única coluna de dados. Pior, parece que a potência de consulta reconheceu a coluna como
delimitado, e ele não conseguiu importar os últimos três colunas!
20 M é para (dados) do macaco
O desafio aqui é que o poder de consulta depende do arquivo CSV sendo um arquivo CSV adequada porque quer dividir os dados com base nas
vírgulas. Em seguida, ele lê a primeira linha para determinar quantos existem colunas. Como não há vírgulas nessa linha, Poder consulta figuras que
ele deve ser uma única coluna. Em seguida, ele começa a ler cada linha e pára na primeira vírgula.
Normalmente, este processo funciona muito bem. Mas, no caso deste arquivo, Poder consulta ignora uma grande parte dos dados que você precisa. A boa
notícia é que você pode corrigir isso, dizendo Poder consulta como o arquivo precisa ser tratada.
Há duas maneiras principais esses problemas se manifestam na interface do usuário: Poder de consulta às vezes insere passos extras que estão
incorretas / irrelevante, e às vezes misconfigures etapas. Você lidar com esses dois problemas de forma diferente, como discutido nas seções
seguintes.
Esteja ciente de que se você excluir passos no meio de uma consulta que são importantes para o resultado final, você pode causar a consulta para
lançar um erro até o final. Além disso, não há nenhuma funcionalidade de desfazer nesta área da interface do usuário!
Neste caso, excluir o passo tipo alterado não parece mudar alguma coisa na vista de consulta neste momento. (Afinal, Poder consulta apenas
forçou o texto a ser tratado como texto.) É, no entanto, ajudar a evitar possíveis erros como você corrigir o verdadeiro problema, descrito a seguir.
Reconfigurando Passos
Agora você precisa mudar a maneira de Energia Consulta lida com o arquivo na importação. Para fazer isso, você precisa clicar no pequeno ícone de
engrenagem no lado direito da etapa Fonte. Quando você faz isso, você está lançado em uma janela de configuração:
Este diálogo permite alterar algumas coisas importantes sobre o arquivo, incluindo o caminho do arquivo e que tipo de arquivo de Energia Consulta
deve assumir este é ao tentar importá-lo. Como o arquivo neste caso carrega a extensão do tipo de arquivo CSV, Poder consulta escolheu o tipo de
documento CSV.
Capítulo 2 Padrões Overriding Poder da consulta 21
Cada um dos arquivos de exemplo para este livro tem uma versão “Concluído”. A fim de levá-los a atualizar, você precisa clicar no ícone
de engrenagem no degrau de origem e alterar a localização da pasta para o local em seu PC.
Neste ponto, você precisa dizer ao Poder Consulta que CSV não é o formato correto para este documento, mesmo que ele está disfarçado sob uma extensão
CSV. Para fazer isso, clique no menu suspenso ao lado de Open File As → selecione Arquivo Texto → OK.
Os resultados são muito mais reconfortante, embora haja definitivamente um pouco mais trabalho a fazer agora:
Parece que você vai precisar para dividir manualmente esses dados se em colunas, mas isso não é um grande negócio. Pelo menos é delimitada por vírgulas, e
que vai tornar as coisas um pouco mais fácil. Agora você precisa ir através dos passos que você provavelmente desejo de Energia Consulta tinha feito para você:
Você pode pensar que você poderia ignorar esse processo, optando por importar de texto em vez de partir CSV. Infelizmente, porque o poder de
consulta é tão útil, ele irá substituir a sua escolha e ainda importar o arquivo como um arquivo CSV de qualquer maneira.
Reordenar Passos
Quando você rever os passos na caixa de Passos Aplicadas, você pode ver que depois de dividir as colunas por delimitador, Poder consulta insere
automaticamente um passo para alterar os tipos de coluna. Infelizmente, os dados são alinhados à esquerda, para que você saiba que o Poder consulta
configurado tudo como texto.
É preciso corrigir isso, mas se você voltar para a etapa de tipo alterado e começar a converter os tipos de dados para datas e valores, você vai causar
erros em toda a linha 1. (Eles são todos os valores de texto e não foram promovidos para cabeçalhos ainda.) Então, ele realmente faz sentido para
alterar os tipos de coluna depois de ter promovido cabeçalhos, não antes. Tente mover esse passo tipo alterado para baixo clicando o tipo de passo
Changed → Mover para baixo. O passo se move, mas causa um erro ao fazê-lo:
Figura 30 Poder Consulta lhe diz que não consegue encontrar uma coluna específica mais.
A razão deste erro aparece é que o passo Tipo mudou foi definir os tipos de dados sobre Column1.1. Mas desde que você promoveu os cabeçalhos
das colunas, não há mais Column1.1; agora é trandate. Movendo-se passos no Poder consulta pode ser um recurso muito útil, mas você tem que
tomar cuidado para erros como o que acabamos de mostrar.
Como você se tornar mais confortável com Power Query, você pode decidir apenas corrigir um problema como este, editando o passo fórmula diretamente, mas por
agora, a maneira mais fácil de corrigir esse problema específico é simplesmente para eliminar o passo e recriá-lo:
Se você receber um erro na coluna quando você faz isso, você pode corrigi-lo fazendo o seguinte: Selecione os cabeçalhos Promovido
passo → clique com o botão direito na coluna Valor → Substituir Valores. Substituir o sinal $ com nada. Neste ponto, as coisas vão
funcionar quando você selecionar o passo de tipo alterado. A causa raiz do problema é que as configurações regionais usar um sinal -
para números negativos em oposição a colocar números negativos entre parênteses.
Você está quase pronto. Você só tem a coluna de data para ir. Por agora, vá para Home → Close & Carregue para finalizar a consulta.
Capítulo 2 Padrões Overriding Poder da consulta 23
Depois que os dados está em Excel, as datas não são grande problema. Não importa onde o livro vai, as datas tornará cor- rectamente e pode ser
facilmente ligado para exibir no formato das necessidades do leitor, em qualquer lugar do mundo eles são ou qualquer que seja o padrão que deseja
seguir. A dificuldade está em importar os dados que representam datas em primeiro lugar. O problema é que Excel e Power consulta precisa interpretar a
data a partir da fonte de dados externa, a mina deter- que data é, e retornar o número de série de data correta. O que torna o trabalho difícil é o fato de
que nem todos os softwares que usamos em nossas tarefas diárias é escrito usando os mesmos padrões de data que o nosso país usa como padrão. Na
verdade, se há uma incompatibilidade entre a fonte de dados e as configurações regionais no seu PC, você terá problemas.
Os exemplos e ilustrações neste capítulo foram construídos usando um PC com um formato padrão de data dos EUA. Se as
configurações do sistema estão em um formato diferente, os resultados podem ser diferentes do que é mostrado aqui.
O ponto de vista que você começa depende das configurações regionais do Windows em seu PC. Se você tem suas definições configuradas para usar a data dos
EUA padrão MM / DD / AAAA, sua importação aparecerá como mostrado abaixo. Se o seu sistema usa uma configuração DD / MM / AAAA, no entanto, você verá
que a primeira coluna será alinhado à esquerda, ea segunda coluna será alinhado à direita.
Alterar o formato da coluna alinhado à esquerda para Data clicando com o botão direito e escolha Alterar tipo → Data. O resultado deve ser
semelhante à mostrada abaixo (embora a coluna que você selecionou podem variar):
Observe que um par de questões se apresentam imediatamente. Primeiro, os dias e os meses aparecem invertidas e, segundo, você obter
erros na coluna.
Com as configurações regionais do Windows definidos para MM / DD / AAAA, Poder consulta tenta interpretar todas as datas em que esteira do para-. E
quando ela atinge uma data como 17/6/2015, ele lança um erro, porque há apenas 12 meses no ano.
24 M é para (dados) do macaco
O segredo para evitar os problemas que acabamos de discutir está dizendo explicitamente Poder consulta o formato dos dados que estão sendo importados. E,
embora seja fácil de fazer isso quando você sabe como, a terminologia utilizada para rotular este recurso não foi colocada em termos que os profissionais de Excel
reconhecem.
Para forçar Poder consulta para ler as datas usando a configuração correta para cada coluna, siga estes passos:
Como mostrado abaixo, agora as datas tudo tornar consistentemente de acordo com o formato declarado nas tings set- regionais de seu Painel de
Controle do Windows. Isso ocorre porque as datas, não importa seu formato original, foram convertidos para as definições de data em seu sistema.
A Figura 34 uma vista coerente de datas originalmente contida em dois formatos diferentes.
Se você não sabe qual padrão data de seu país utiliza, experimentar e escolher um que retorna os resultados corretos.
Se houver qualquer possibilidade de que seus dados podem ser enviados para alguém usando diferentes configurações regionais, é altamente aconselhável que
você forçar os formatos de entrada data. Isto irá eliminar a possibilidade de erros surpreendentes que ocorrem e é uma prática que seguimos ao longo deste livro.
Capítulo 2 Padrões Overriding Poder da consulta 25
Agora você pode finalizar esta consulta, indo para Home → Close & Load, e você pode editar a consulta MalformedCSV para forçar as datas para carregar
corretamente:
• No painel a pasta de trabalho Consultas, clique com o botão direito na consulta MalformedCSV → Editar
A consulta agora tem a seguinte aparência e está pronto para ser carregado para a planilha.
Figura 35 A consulta está pronto para ser carregado para a folha de cálculo.
Changed Tipo com passos de localidade não vai fundir-se com passos tipo alterado. Se um passo tipo alterado inclui uma conversão
de data, você deve remover esse passo. O motivo da consulta acima funcionou é que o passo tipo alterado não definir o tipo de
dados para a coluna trandate.
26 M é para (dados) do macaco
Capítulo 3 Operações básicas Anexar 27
O usuário então constrói uma solução de business intelligence no arquivo consolidado. Quando o próximo mês vem junto, os dados do
arquivo mensal próxima é copiado para o arquivo consolidado, a solução é atualizado, e tudo é bom.
Mas o processo não é claramente toda a luz do sol e arco-íris, e há algumas questões muito óbvias aqui. Este capítulo não resolve a questão
de um usuário a cometer um erro nas transformações (embora capítulos futuros fazer), mas mostra-lhe como Poder consulta pode consolidar
dois ou mais conjuntos de dados, sem nunca se preocupar com um colar de usuário nos últimos linhas de dados.
Poder consulta abre o arquivo e executa os seguintes passos automaticamente para esta fonte de dados:
• Promove a primeira linha de cabeçalhos, mostrando trandate, Conta Dept, e soma do montante.
• Define os tipos de dados até à data, número inteiro, número inteiro, e Decimal Valor. Para ser seguro, você deve remover a
passo tipo alterado e recriá-lo para forçar as datas para importar baseado no padrão dos EUA que vieram:
Lembre-se, se o seu formato de número é definido para exibir números negativos com um sinal - em vez de usar parênteses, você
pode ter que também tem que remover os $ sinais a partir da soma de coluna Valor antes de alterar essa coluna para um número
decimal, a fim de evitar erros. Para fazer isso, selecione o tipo alterado com o passo Locale → botão direito do mouse a soma do
montante da coluna → Substituir Valores → Substituir $ com nada. Depois de ter realizado essas etapas, selecione a etapa Tipo mudou
novamente para se certificar de que você está no final da consulta antes de continuar. Além disso, você também deve fazer as
seguintes transformações:
• Direito do mouse no cabeçalho da coluna soma do montante → Renomear → Valor Os erros são
Vá para casa e clique em Fechar & Load para carregar a consulta Jan2008 à planilha.
agora você precisa para replicar o processo com tanto a fevereiro 2008.csv e arquivos Mar 2008.csv. A cesso de importação pro- utiliza exatamente os
mesmos passos, e quando estiver pronto, você deve ter três novas tabelas em sua pasta de trabalho Excel em tudo:
• Jan_2008
• Feb_2008
• Mar_2008
O diálogo Acrescentar aparece, e nele você pode escolher as perguntas que você gostaria de acrescentar:
• A consulta que você escolher no topo drop-down aparece primeiro na saída da consulta. Ao clicar OK abre o editor de Poder consulta com uma
nova consulta chamada Append1, que tem uma única etapa Fonte. Neste ponto, você pode ser tentado a rolar a consulta para ver se todos os seus
registros estão realmente lá. Infelizmente, isso não vai realmente funcionar. Poder consulta na verdade não carregar todos os seus dados na janela inicial;
em vez disso, mostra uma prévia de seus dados. O número de linhas que mostra varia de acordo com o número de colunas que você adicionar, mas você
Figura 38 Poder consulta mostra quantas visualização linhas ele pode lidar no momento.
A razão para este comportamento é que o poder de consulta pode ser usado para lidar com grandes conjuntos de dados. Imagine por um segundo que você deseja
conectar-se a um conjunto de dados que tem 5 milhões de linhas, mas você só quer puxar os registros para o departamento de 150. A equipe Poder consulta
descreve a visualização como “olhando para a primeira polegada de água na mangueira de incêndio “, sob a suposição de que a prévia deve dar-lhe informações
suficientes para determinar a estrutura fundamental dos dados. Você, então, fazer suas transformações sobre os dados de visualização e criar um padrão. No
tempo de carregamento, Poder consulta processa esse padrão com os dados, puxando apenas nos registros de que precisa para dar-lhe a sua saída. Este é muito
mais eficiente do que o carregamento de todos os dados para a pasta de trabalho e, em seguida, o processamento de cada linha e coluna. Mas se você não pode
ver todos os dados, como você sabe que funcionou? A resposta é para finalizar a consulta. Veja como:
A nova tabela é criada na planilha, e você vê algumas informações-chave no painel a pasta de trabalho Consultas:
Figura 39 O painel show de pasta de trabalho Consultas que o registro conta jogo.
Ainda assim, você não deve apenas acreditar que tudo tem funcionado. Você pode criar uma tabela dinâmica para se certificar de Excel não está mentindo para
você:
Se você estiver usando Excel 2010 ou 2013, você também precisa tomar estes passos:
• F3 celular clique com o botão direito → Expandir Fechar → Fechar campo inteiro
Você acaba com uma tabela dinâmica que mostra que ambas as tabelas foram de fato consolidadas em um:
Mas espere! Será que isso realmente funciona? Isso não vai criar uma nova consulta? Sim, isso é absolutamente o caso. Fazendo isso vai lançar uma Novo anexar
consulta, que não fará qualquer sentido. A tabela dinâmica já está construído contra a mesa de Transações, então você realmente precisa para voltar e
modificar essa tabela para acrescentar registros de Março também. Mas como você faz isso?
A resposta é para cancelar o diálogo Acrescentar mostrado acima e voltar para o painel a pasta de trabalho Consultas, onde você clica com o botão direito a
consulta Transações → Editar.
No editor de Poder Query, você pode modificar sua consulta existente. E, como acontece, há um botão realmente convidativo no separador
Base que parece promissor: o botão consultas acréscimo no grupo Combinar (o segundo grupo da direita).
Ao contrário do botão Anexar na interface do usuário Excel, o botão na interface do usuário Poder consulta pede apenas uma única tabela, uma vez que
já sabe que consultar para anexá-lo (o que você está no momento). Curiosamente, as opções incluem não só as outras consultas de energia que você
configurou, mas também a consulta que você está actualmente a construir:
Figura 42 Opções para acrescentar incluem a tabela que você está trabalhando.
Selecionando a tabela listada como atual seria anexar uma cópia da consulta a esse ponto, essencialmente duplicando o conjunto de
dados. Enquanto isso não é certamente algo que a maioria dos usuários usaria em uma base freqüente, é bom saber que existe a
capacidade.
Neste ponto, você deve escolher a consulta Mar 2008, e será anexado à consulta Transações que já detém registros de janeiro e
fevereiro:
Agora você vê um problema infeliz com consultas Poder de consulta. Quando você olha para a planilha que contém a tabela dinâmica, você pode ver
que a consulta Transações (e, portanto, a tabela de Excel) não realizar todas as 6.084 linhas-os totais combinados dos três conjuntos de dados
anteriores. No entanto, a tabela dinâmica não mudou:
Figura 43 A tabela ações Transações actualiza, no entanto, a tabela dinâmica não tem.
Este é um pequeno inconveniente, mas você vai precisar atualizar a tabela dinâmica, bem, a fim de ter os valores atualizados fluir. Para fazer isso,
clique com o botão direito na tabela dinâmica → Atualizar. E ele, de fato, atualizar:
Figura 44 A de janeiro a março registros estão mostrando agora em uma única tabela dinâmica.
No caso da imagem abaixo, o usuário esqueceu de mudar o nome da coluna trandate na consulta março 2008. coisa Every- foi tão bom como o
usuário se fundiu os registros de Janeiro de 2008 e Fev 2008 juntos. Mas quando o usuário anexado os registros Mar 2008 para a mesa, as coisas
quebrou:
Figura 45 A coluna trandate cheio de valores nulos em janeiro e a coluna Data cheio de valores nulos em março.
32 M é para (dados) do macaco
Quando você anexar uma tabela para outra, Poder consulta carrega os dados da primeira consulta. Em seguida, ele verifica a linha de cabeçalho da segunda
consulta e todas as consultas subsequentes. Se qualquer um dos cabeçalhos não estão presentes nos resultados obtidos até à data, Poder consulta acrescenta
a nova coluna (s). Em seguida, preenche a ficha apropriada em cada coluna, para cada conjunto de dados, preenchendo todas as lacunas com nulo valores. No
cenário acima, isto significa que a coluna é enchida com Trandate nulo se os valores em janeiro, desde a consulta janeiro 2008 não tem uma coluna trandate.
Por outro lado, porque o usuário esqueceu de mudar o nome da coluna trandate, a consulta março 2008 não tem nenhuma coluna Data. Por esta
razão, a coluna Data é preenchido com nulo valores para cada registro de março, enquanto a coluna trandate detém os valores que foram destinados
a ser na coluna Data. A correção para isso é fazer o seguinte:
• Ir para o painel a pasta de trabalho Consultas → botão direito do mouse a consulta março 2008 → Editar
• Ir para o painel a pasta de trabalho Consultas → botão direito do mouse a consulta Transações → Editar
Assim que você abrir a consulta Transações, você vê que ele já se fixo.
E quando você quiser atualizar a solução, você simplesmente precisa ir para Dados → Atualizar tudo para atualizá-la. Poder consulta começa a
atualização da tabela de Transações, que começa a atualização das três tabelas de dados individuais para alimentá-lo.
Suponha agora que esta solução foi construído em arquivos que não estavam data específica, mas foram em vez do produto 1, o produto 2, e do Produto
3. Diga que você construiu uma solução de carregamento nos arquivos CSV que detêm os dados pertinentes, e que você construiu uma tabela dinâmica
contra eles. E então o próximo mês vem. . . e o departamento de TI envia arquivos de substituição com novas operações para cada produto.
Você salvar o novo arquivo do produto 1 sobre o antigo, e você faz o mesmo para o produto 2 e do Produto 3. Em seguida, clicar em Atualizar tudo, e
está feito.
Você cortou seu tempo de trabalho para uma fração do que foi exigido no processo anterior, e não há nenhum risco de ter os usuários acidentalmente colar
sobre os dados existentes, como o poder de consulta não funciona usando cortar e colar. Ele simplesmente acrescenta um conjunto para o outro e remove os
cabeçalhos duplicados. Você pega o melhor de ambos velocidade e consistência em uma única solução.
Note, no entanto, que o processo de anexação de consultas não é específico para trabalhar com CSV externo ou arquivos TXT. Dizer que você tem
tabelas de transações, tais como os certificados de presente promocionais de sua empresa tenha emitido este ano. O autor do livro montou 12
mesas, uma para cada mês do ano, armazenados em planilhas separadas. Você pode ver que, neste caso, você pode facilmente consolidar essas
tabelas individuais em uma lista mestra para análise.
Capítulo 4 importação de todos os arquivos em uma pasta 33
A maneira clássica que os profissionais de Excel lidar com a importação de todos os arquivos em uma pasta é incrivelmente tedioso e propenso a erros.
Cada arquivo precisa ser importado, transformado, copiado e colado na tabela mestre. Dependendo de quão grande e complexo as transformações são,
quantos arquivos existem, e quanto tempo as soluções já estão a funcionar, este processo pode ser aterrorizante.
Você já viu esse Poder consulta pode eliminar os perigos copiar / colar envolvidos com a importação e anexando arquivos em uma
base um-por-um, mas que sobre estas questões muito graves:
A boa notícia é que o poder de consulta tem uma maneira de lidar com ambas as questões também.
Este capítulo centra-se na importação de arquivos binários, como TXT e CSV. Capítulo 5 abrange dados ing importação de
vários livros.
• Início
• 2008 - Mais
• 2009
• 2010
Cada pasta contém uma variedade de arquivos de texto que você vai combinar.
• Clique em Procurar
Você é apresentado com o diálogo que Poder consulta usa para selecionar pastas.
• Localize os exemplos CH04 \ begin pasta → selecione-→ OK (para fechar o diálogo pasta picker)
agora você vê uma nova janela Poder Query. Desta vez, as coisas parecem bem diferentes do que aquilo que tenho visto até agora. Em vez de transações, você
verá uma lista de arquivos e suas propriedades:
Para filtrar para apenas arquivos CSV, você normalmente clique na seta filtro na coluna de extensão, desmarque a (Selecionar tudo) opção, e
depois verificar CSV. Infelizmente, porque você só tem arquivos CSV na lista agora, fazendo
34 M é para (dados) do macaco
que verifica novamente a opção, que não vai ajudar (All Selecionar). Você está indo a necessidade de ir um pouco mais fundo para proteger-se aqui e
forçar o seu filtro para CSV.
Antes de fazer isso, no entanto, você também precisa se proteger contra acidentalmente filtrar arquivos “CSV” quando você filtro para “CSV” (como filtros
de texto são case sensitive). Para lidar com isso, siga estes passos:
Não se esqueça o período na frente do CSV! Se você esquecê-lo, você não terá nenhuma arquivos, como CSV não é o mesmo como .csv.
• Clique OK
Mesmo que as coisas não parecem diferentes depois de tomar estes passos, você agora forçado o sistema para aceitar somente arquivos CSV
para suas operações, reduzindo a chance de dados contaminados explodir a sua solução.
combinando Arquivos
Agora chegou a hora de combinar arquivos. Desde que você está trabalhando com arquivos binários, como TXT ou CSV, este é incrivelmente fácil uma
vez que você sabe o truque.
Tome um olhar cuidadoso sobre os ícones nas três primeiras colunas da consulta atual:
A coluna Nome mostra um ícone de filtro não filtrado, e a coluna de extensão mostra um filtro que está a ser utilizado actualmente. Mas o que
sobre a coluna de conteúdo? O que é esse ícone? Está incrível, é isso que é. Esse botão pequenino aparece em colunas contendo arquivos
binários, e quando você clicar nele, a mágica acontece:
UMA muito de coisa acontece quando você clicar nesse botão mágico, e olhando para a caixa de Passos Aplicadas permite refazer tudo.
Capítulo 4 importação de todos os arquivos em uma pasta 35
Neste exemplo, nós estávamos nas linhas filtradas passo quando clicado. De lá Consulta poder combinado de todos os arquivos individuais em um CSV
maciça, importado, digitalizados-lo, promoveu a primeira linha de cabeçalhos, e fez um palpite sobre os tipos de dados. Tudo isso aconteceu com o clique
de um botão minúsculo! Que parece bom demais para ser verdade, e, naturalmente, a janela de visualização está dizendo que você tem 999+ linhas, para
que você não pode mesmo verificar que ele trabalhou. Você precisa finalizar essa consulta e gire-a para que possa tranquilizar-se que este está
funcionando. Siga esses passos:
• Mudar o nome da consulta a partir Query1 (ou Comece em 2013) para Transações
Os dados terras 6.084 linhas em uma planilha do Excel, que parece promissor. Agora você pode girar-lo:
Você pode ver abaixo que você está realmente olhando para os dados de todos os três arquivos, e você não tem que pré-im- porta de cada arquivo e, em seguida,
anexá-los manualmente!
Uma das coisas que faz o poder de consulta tão grande é a capacidade de atualizar uma solução à vontade e vê-lo trabalhar. Até agora neste livro
os exemplos têm sido alvo de arquivos específicos e, sem alterar os detalhes dos arquivos, é difícil ver que uma atualização tem qualquer efeito.
Isso muda agora.
Volte para a pasta Exemplo CH04 Files. Lembre-se que havia quatro pastas em lá, e você alvo uma solução contra a pasta começar. Agora
você está indo para simular o processo de adicionar novos arquivos para a solução:
Poder de consulta tem início o processo de atualização e atualiza a tabela de Transações, mostrando que ele foi carregado
25.700 linhas. No entanto, mais uma vez, a tabela dinâmica não atualiza:
36 M é para (dados) do macaco
Figura 50 Claramente você tem mais arquivos, mas porque eles não estão na tabela dinâmica?
É um reparo fácil. De qualquer botão direito do mouse a tabela dinâmica → Atualizar, ou simplesmente usar dados → Atualizar tudo novamente. Aqui está o que
você acabar com:
Figura 51 A tabela dinâmica atualiza corretamente, provando que você puxou nos registros.
Usando um double Atualizar tudo abordagem funciona bem para pequenos conjuntos de dados. Quando começam grande, no entanto, você pode
querer usar VBA para automatizar o processo de refrescar as consultas em primeiro lugar e as Tabelas Pivot- segundo, como que evita chamadas
duplicados para a fonte de dados. Este tópico é coberto no Capítulo 16. mágica absoluta!
Capítulo 4 importação de todos os arquivos em uma pasta 37
Com uma solução construída desta maneira, tudo que você tem que fazer a cada mês é adicionar seus arquivos de dados para a subpasta como você recebê-los e,
em seguida, atualizar a solução.
Recursão
Um dos fatores realmente interessantes desta solução é que você não precisa soltar os arquivos diretamente na raiz da pasta Comece a fim de tê-los
puxado para dentro da solução de energia Query. Poder consulta pratica recursão por padrão, o que significa que ele examina a pasta e todas as suas
subpastas para arquivos. Isso permite que você mantenha seus arquivos de dados subclassificado por ano, se desejar, e a solução ainda vai
funcionar.
Se você voltar atrás e editar a consulta, atualizar a pré-visualização e, em seguida, retornar para a etapa Fonte, você vê que o caminho da pasta
para cada arquivo também é listado na coluna Caminho da pasta. Usando isso, você pode filtrar para incluir apenas a pasta raiz ou excluir
determinados subpastas deve surgir essa necessidade.
Isso significa que você não pode usar o poder de consulta para fazer o trabalho? De modo nenhum. Você só precisa usar alguns truques diferentes, descritas a
seguir.
Configurando o Import
Os passos iniciais na criação de importação são os mesmos, conforme descrito anteriormente neste capítulo, com a única dife- rença é que você agora vai
ter uma grande lista de arquivos (desde que se mudou as pastas extras para a pasta Início). Comece seguindo estas etapas, que são os mesmos que você
tomou anteriormente:
• Escolha da coluna Extension Filtros filtro de seta → texto → Igual → Igual .csv
38 M é para (dados) do macaco
Poder consulta funciona como um gravador de macro seqüencial, processamento de cada etapa antes de prosseguir. Isto significa que, ao
contrário do Excel, ele não necessita de colunas precedentes para ficar por perto. Dado que, e porque você já filtrado arquivos CSV, você
pode remover essa coluna também.
Estes passos teve dois efeitos. A primeira é que você removeu todas as colunas estranhas na forma mais fácil possível (que é mais futuro-prova no
caso da equipa poder de consulta decide adicionar outra coluna para este ponto de vista em uma atualização futura). Em segundo lugar, por causa da
ordem em que você selecionou as colunas, você virou a ordem em que eles são apresentados no editor de Poder de consulta, como mostrado abaixo:
• Definir valor encontrar para um único espaço → set Substituir para “1” (número espaço um espaço, mas vírgula sem as
aspas) → OK Os dados agora deve ser a seguinte:
Figura 54 Os dados que se parece com uma data, mas ainda é texto.
Neste ponto, você pode forçar os dados para ser uma data válida e incrementá-lo para o último dia do mês:
Agora você tem as datas de final de mês preparados para se fundir com seus registros transacionais:
Capítulo 4 importação de todos os arquivos em uma pasta 39
Não há necessidade de forçar este conjunto de datas para importar usando configurações de localidade, como o poder de consulta irá reconhecer
corretamente uma data texto completo.
fórmulas da consulta poder são maiúsculas de minúsculas, portanto certifique-se de que tudo está encaixotado corretamente, ou não vai funcionar.
Se você não quiser digitar um nome de campo longo, você pode simplesmente clicar duas vezes nele na lista de campos quando você está
construindo sua fórmula de coluna personalizado. Isto irá colocar a lista de campos em sua fórmula, cercado por colchetes.
O resultado é uma nova coluna chamada personalizada, que é preenchido com um monte de tabelas:
Pare e pense sobre essa fórmula por um segundo. A função Csv.Document () é a função que você pode usar para transformar o conteúdo de um arquivo binário
em uma mesa. [Conteúdo] refere-se simplesmente para o nome da coluna.
Embora você possa esperar uma, não há nenhuma função Txt.Document (). Se você deseja converter o conteúdo de um arquivo de
texto em uma tabela, você usa a função Csv.Document ().
Para ver o que está dentro de um desses arquivos, clique no espaço em branco ao lado da palavra Tabela. (Se você realmente clique na palavra de mesa, Poder
consulta irá perfurar na tabela, mas se você clicar com o lado direito, você verá uma pré-visualização na parte inferior da tela, como mostrado abaixo.)
40 M é para (dados) do macaco
Com esse conteúdo agora disponível para você, como você chegar a ele? Primeiro, limpar o ruído clicando na coluna Conteúdo →
Remover.
É finalmente tempo. Há um pequeno novo símbolo de duas pontas de seta no canto superior direito da coluna personalizado. Clique nele e você terá o seguinte:
Esta caixa de diálogo permite que você escolha quais colunas a se expandir. Se houvesse colunas que você não quer, você poderia simplesmente
desmarcá-los. Você já viu através da pré-visualização que cada uma dessas quatro colunas contém informações úteis, portanto, neste caso, você pode
mantê-los todos.
A única mudança que você quer fazer aqui é para desmarcar a Use nome original da coluna como a caixa Prefixo check. Se você deixar este conjunto, Poder
consulta irá anteceder cada coluna com personalizada, de modo a obter Custom.Column1, Custom.Column2, e assim por diante.
Quando você clica em OK, suas colunas todos expandir, mas desta vez Poder consulta preserva a coluna Data (ao contrário apresentam os binários
Combine, que removeu):
É lamentável que o Poder consulta não tenta tomar quaisquer liberdades e ajudá-lo com os tipos de dados e tal aqui. Você tem que fazer isso limpeza
manual si mesmo, mas pelo menos isso é uma coisa de uma só vez, como ela só vai atualizar no futuro. Aqui está o que você precisa fazer:
• Botão direito do mouse trandate → Alterar tipo → Usando Locale → Data → Inglês (US)
• Botão direito do mouse Quantidade → Alterar tipo → número decimal A consulta está
Figura 60 Todos os arquivos importados de uma pasta, preservando os dados com base nas propriedades do arquivo.
• E, neste ponto você pode construir uma tabela dinâmica e provar que ele corresponda os resultados que você tem na seção
pré-Vious, com a única diferença é que você incluiu um novo campo que foi derivado do propriedades de algo que é impossível
usar o fácil Combine método binários.
• Onde você não percebeu que a solução seria expandir ao longo de vários arquivos
Se, no entanto, você suspeitar que uma solução pode crescer para ser maior do que um ficheiro, e a configuração de dados será sistente con-, não há
nada para impedi-lo de usar a abordagem neste capítulo como segue:
são instantaneamente parte de sua solução! Às vezes, um pouco de clarividência pode percorrer um longo caminho na construção de soluções que resistir ao
teste do tempo.
42 M é para (dados) do macaco
Capítulo 5 Agregando Excel Planilhas 43
Enquanto a boa notícia é que esses feitos podem ser realizadas, a má notícia é que não há nenhuma maneira fácil de realizar essas tarefas
através da interface de usuário padrão. Cada um deles exige alguma manipulação menor do Poder Consulta fórmula bar-embora nada mais
grave do que o que você viu até agora. É importante entender aqui que os métodos para lidar com dados em sua pasta de trabalho ativa são
bastante diferentes daqueles para puxar dados de um arquivo externo.
= Excel.CurrentWorkbook ()
• Filtrar e expandir as tabelas ou intervalos que você precisa Este
• tabelas do Excel
• intervalos nomeados
Infelizmente, este processo não permite que você para enumerar todas as planilhas no arquivo.
consolidando Tabelas
Vejamos alguns exemplos específicos, começando com o CH05 Exemplo Files \ Consolidar Tabelas-Start.xlsx. Neste arquivo você encontrará três
planilhas que listam certificados de presente emitidos por um spa para o mês atual. O funcionário que criou a pasta de trabalho não adicionou nenhum
datas de emissão dos certificados, embora ela tinha obedientemente criar nomes de tabela no formato Jan_2008, Feb_2008, e assim por diante.
Para analisar essas operações, os dados, obviamente, precisa de ser consolidada e Power consulta é a ferramenta perfeita para fazer isso.
Vamos começar:
Como você aprendeu no Capítulo 4, você pode clicar no espaço em branco ao lado das palavras verdes escuras na coluna Conteúdo para visualizar os
dados. Você também sabe que se você clicar na seta dupla na parte superior dessa coluna, você será capaz de expandir as colunas das tabelas sem
perder detalhes da coluna Nome. Aqui está o que você faz:
Os dados se expande muito bem, mantendo a coluna nome no lugar, permitindo-lhe continuar e converter os nomes de tabela em datas:
• Substituir o caractere _ com “1” (número espaço um espaço, mas vírgula sem as aspas)
Tudo parece ser bom aqui, mas quando você escolhe Close & Load, você acionar um monte de erros:
Então o que aconteceu? Voltar e percorrer a consulta clicando com o botão direito do certificado de presente consulta → Editar → Selecione a etapa Fonte.
Neste ponto, você vai perceber que você tem mais uma tabela listada do que você fez antes. É tabela de Certificados de presente que foi criado como
uma saída dessa consulta!
Capítulo 5 Agregando Excel Planilhas 45
Ao usar = Excel.CurrentWorkbook () para enumerar as tabelas ou intervalos, lembre-se que a consulta de saída também será reconhecido após a
atualização. Para lidar com isso, algumas etapas futuro-impermeabilização pode ser quired re-, dependendo de como você construiu sua consulta.
Estes passos podem incluir filtragem para evitar a duplicação ou erros potencial, mudando os tipos de dados, ou alterar qualquer outra coisa que
você configure com antecedência para se proteger contra as possibilidades de seu quebra consulta.
Agora você deve passar por cada etapa da consulta, prestando atenção ao que acontece. Quando você chegar à etapa Valor Substituído, desloque-se
para a linha 63. Você percebeu alguma coisa perigosa desdobramento aqui?
Quando a etapa Tipos Changed é avaliado seguinte, ele tenta converter todos os dados na coluna Nome de datas, o que, obviamente, não pode fazer
para presente 1, Certificados. Em vez disso, ele coloca um valor de erro na coluna para cada célula que contém o texto:
Esta questão realmente funciona em seu favor, como tudo da tabela de Certificados de presente é uma duplicação dos dados. Com as linhas
jogando erros, você pode simplesmente filtrá-los:
• Confirmar que você gostaria de inserir um novo passo para o meio da sua consulta
mas como mencionado anteriormente, não existe a possibilidade built-in para fazer isso. Em vez disso, você tem que fazer uso da capacidade de falar com
intervalos nomeados, chamando um intervalo nomeado específico. O truque é definir uma área de impressão. Por quê? Porque o nome de área de impressão é, de
fato, um nome de intervalo dinâmico. Assim, para puxar um intervalo de impressão para poder Query, você precisa seguir os passos para se conectar a uma
• Selecione Jan 2008 planilha → ir para o layout da página da guia → Imprimir Títulos
Você está atualmente com ambas as tabelas e as áreas de impressão, mas você pode filtrar esse baixo e expandi-lo para ver o que você tem:
aqui. Você tem toda a planilha, incluindo cada coluna em sua faixa de impressão:
Isto, obviamente, significa que a limpeza mais dados precisa ser feito, a fim de agregar esses intervalos e transformá-los em mesas limpas, mas a
boa notícia é que ele pode ser feito. Para limpar esse conjunto de dados particular, siga estes passos:
• Botão direito do mouse um dos cabeçalhos de coluna selecionados → Retirar outras colunas
Quando se trabalha com áreas de impressão, é uma boa idéia para tentar restringir a área de impressão para apenas as linhas e colunas que você
precisa-por duas razões. A primeira razão é que leva Poder consulta mais tempo para processar mais pontos de dados. A segunda razão é que cada
coluna é referida apenas como Coluna # na janela de expansão, o que torna muito fácil para puxar em colunas estranhas que só precisam ser removidos
mais tarde.
Abastecimento de Dados
Você inicia o processo de sourcing dados de uma pasta de trabalho em branco:
Quando a alimentação de consulta lista os arquivos, você pode ver que você já tem vários arquivos aqui que são arquivos não-Excel:
Figura 70 arquivos não-Excel misturados com os arquivos que você realmente deseja.
Você precisa filtrar esses arquivos fora da lista, como você só quer planilhas do Excel:
• Selecione o conteúdo e nome colunas → botão direito do mouse → Retirar outras colunas
48 M é para (dados) do macaco
Neste ponto, você pode ser tentado a clicar no botão Combine binários, e, infelizmente, Poder consulta vai deixar você fazer isso. Se fizer isso, porém,
você vai encontrar esse Poder consulta combina os arquivos, mas não pode importá-los:
Figura 71 Poder consulta diz que não pode combinar os binários do Excel.
Se você realmente clicou no botão Combine Binários, agora você precisa para ir para a caixa de Passos Aplicadas e remover tanto o
importado Excel e passos Binários Combinadas.
Então, se você não pode combinar e importar os arquivos usando o método fácil, você tem que fazê-lo da maneira mais difícil:
A sua nova coluna personalizada agora contém uma coluna de tabelas, que contêm cada um dos objetos que você pode conectar-to, incluindo todas as tabelas do
Excel, intervalos nomeados, e até mesmo planilhas no arquivo de Excel:
Neste ponto, é fundamental que você reconhece que você tem aqui. A coluna Tipo mostra que você tem Folha, DefinedName e objectos tabela.
Lembre-se, porém, que você pode definir nomes mais células específicas em uma tabela e / ou folha de cálculo e que mesas existir em planilhas. É
muito fácil de duplicar os dados em sua importação se você não filtrar nesta área de forma adequada.
objetos importadores de diferentes tipos, conforme listado na coluna tipo poderia levar à duplicação de dados! Você deseja extrair os
• Selecione o Nome, Name.1 e dados colunas → botão direito do mouse → Retirar outras colunas
• Expandir todas as três colunas contidas na coluna Dados (e limpar a configuração de prefixo) A consulta agora é
o seguinte:
Transformar os dados
Obviamente, os dados neste exemplo ainda precisa de alguma limpeza. Você deve fazer isso agora e finalizar a consulta:
Os dados são carregados em uma tabela, de modo que você pode criar uma tabela dinâmica configurado da seguinte forma, a fim de ver o que você puxado Utilize
estas definições.:
Aqui você pode ver que você puxou com sucesso dados de dois arquivos diferentes e três planilhas dentro de cada, para um total de mais
de 12.000 registros:
considerações
Ao trabalhar através das técnicas descritas neste capítulo, há algumas coisas que você precisa manter em mente.
Usando = Excel.CurrentWorkbook ()
A coisa mais importante a lembrar sobre a construção de soluções utilizando a função Excel.CurrentWorkbook () é que esta função lê todos os objetos
no arquivo atual. Uma vez que esta afeta a cadeia de cálculo, você é batido com um efeito de recursão, o que significa que como as novas tabelas são
construídas, consulta de Energia reconhece-los e lê-los como conteúdo potencial também.
As implicações deste parecer à atualização, quando a consulta tenta carregar em si, duplicando assim os dados na saída. Ao trabalhar com este
método, é importante se lembrar disso e se proteger contra ele. Estratégias para proteger contra problemas aqui vão desde erros de filtragem
em colunas chave para usar nomear dards Standards para as colunas tanto a sua entrada e saída para que você possa filtrar aqueles que você
não precisa.
Seja qual for o método escolhido, certifique-se de testá-lo através de um par refresca antes de liberá-lo para a produção!
A outra preocupação chave ao usar a função Excel.Workbook () para extrair o conteúdo de uma pasta de trabalho é que ele puxa planilhas além
de intervalos e quadros. Isto torna muito fácil de duplicar os dados se você não for cuidadoso, como todas as gamas e tabelas nomeadas existem
em planilhas. Preste muita atenção para filtrar a coluna Tipo para evitar esse problema.
Mesmo se houver apenas um tipo de dados na pasta de trabalho quando você construir a solução, não é uma má idéia para o futuro à prova de sua
solução, forçando um filtro para aceitar apenas o tipo desejado. Isto irá pré problemas de ventilação quando um usuário adiciona uma tabela para um
arquivo de dados que nunca teve um.
Também deve ser reconhecido que é perfeitamente possível usar Excel.Workbook () para ler a partir do livro Work- atual, expondo assim a
capacidade de ler o conteúdo da planilha. (Isto é útil se você não pode definir intervalos de impressão ou outras gamas mais de seus dados.)
Lembre-se, no entanto, que a consulta irá ler a partir da cópia salva mais recentemente da pasta de trabalho, e não a cópia viva. Isto tem o efeito
colateral de ainda enfrentar os problemas de recursão da função Excel.CurrentWorkbook (), mas você não pode vê-los até a próxima vez que você
abrir o arquivo.
Capítulo 6 Unpivoting Dados 51
Naturalmente, depois de localizar suas vendas dessa maneira por dias ou semanas, ele traz para você e pede-lhe para criar uma variedade de diferentes relatórios
a partir dele. A resposta a este dilema é, naturalmente, para construir tabelas dinâmicas contra a fonte de dados. Mas a questão é que esse conjunto de dados já é
articulada.
Este problema surge para os profissionais do Excel o tempo todo. Tabelas dinâmicas foram construídas para transformar rapidamente tabelas de dados em
relatórios que os usuários podem mais facilmente consumir. O desafio é que os usuários pensam neste tipo de formato de saída, não em formato tabular, então
eles tendem a construir os seus dados no formato que uma tabela dinâmica produz, não em um formato que um consome de tabela dinâmica.
Muitos usuários pensam que uma simples transposição do conjunto de dados irá funcionar, mas você sabe que isso só muda a aparência dos dados-não
realmente convertê-lo em um formato que tabelas dinâmicas estão prontos a consumir.
A pior parte sobre esta questão é que, no passado, não havia nenhuma ferramenta para converter facilmente os dados de volta da girou para não dinamizado, o
que significava que era necessária uma enorme quantidade de trabalho para puxar esta off. Mas aqui é um outro lugar onde o poder de consulta vem para o
resgate.
Preparar os dados de
Como você pode ver, os dados estão contidos em uma planilha, mas não tem nenhuma tabela associada a ele. Você já sabe que você pode corrigir isso, então
clique em algum lugar os dados e criar uma nova consulta:
As terras de dados em poder de consulta, e agora você tem a capacidade de fazer quaisquer transformações ou manipulações que você precisa. O objetivo geral
aqui é UNPIVOT os dados, mas há uma coluna que você realmente não precisa. A coluna total pode ser removido porque você pode simplesmente reconstruí-lo
com uma tabela dinâmica. Então, clique com o botão direito na coluna Total
→ Remover. Agora você está deixado com apenas os dados de chave: a coluna Categoria Vendas e uma coluna para cada dia.
Colunas Unpivoting
Para UNPIVOT o conjunto de dados UnPivot.xlsx, siga estes passos:
Você tem apenas um par de mais mudanças a fazer aqui antes de finalizar seu conjunto de dados:
Observe que não há necessidade de usar Alterar tipo Usando Locale neste caso. Como os dados já reside dentro Excel, Power
consulta irá reconhecer esses dados corretamente não importa o que as configurações regionais são.
Repivoting
Em seguida, você pode construir um par de tabelas dinâmicas a partir destes dados. Primeiro, você reconstruir os dados existentes do usuário:
• Lugar Categoria Vendas em Linhas, Data em colunas, e Unidades de Valores Agora você pode construir
• Lugar Categoria Vendas em Linhas, Data de linhas (abaixo Categoria) e Unidades de Valores
Agora você tem dois conjuntos completamente diferentes criado muito facilmente a partir de um conjunto de dados não dinamizado:
Figura 80 Dois tabelas dinâmicas construídas a partir de um conjunto de dados não dinamizado.
Neste ponto, você provavelmente estaria bastante confortável salvar o arquivo, devolvendo-o para o usuário, e deixá-lo continuar a atualizá-lo. Afinal de
contas, as soluções da Consulta de energia pode ser atualizado a qualquer momento. Mas dizer que você fazê-lo e que o usuário faz atualizações e envia-lo
de volta para você. Ao abrir o arquivo, você vê que o usuário tenha feito coisas que só um usuário final poderia pensar como aceitável:
Os resultados são nada menos que incrível, como você pode ver abaixo:
Figura 82 Suas tabelas dinâmicas continuam a trabalhar, apesar de ações do seu usuário final.
Cada edição que o usuário jogou em você foi tratado. Os totais estão lá, os dados estão na ordem correta, e os valores históricos
foram atualizados.
Dito isto, a demo foi configurado dessa forma por uma razão-de explicar o que realmente acontece quando você usa o comando Não Dinâmica
Colunas.
Aqui está o que Poder consulta realmente fez: Ele olhou para todas as colunas no conjunto de dados e determinou que havia uma coluna que
você não selecionar. Ao invés de construir um específico “UNPIVOT estas colunas” código de comando, ele realmente gravada que diz “tudo
UNPIVOT exceto a coluna (s) que não foram selecionados.” Neste caso, que estava “tudo UNPIVOT exceto Categoria Vendas”.
Embora esta mudança parece sutil, ele realmente tem algumas bastante grandes impactos, boas e más. A boa notícia é que é muito difícil fazer um
erro e construir um cenário que explode quando novas colunas de dados diariamente são adicionados. Essencialmente, futuro-provas a sua solução
para as novas datas, como eles vão sempre ser puxado.
A má notícia é que não há nenhuma maneira através da interface do usuário para bloquear em um específico “UNPIVOT esta coluna só” comando. Isto
significa que se você tem um comando Colunas UNPIVOT em sua consulta, e você adicionar uma nova coluna à tabela de dados, ele será não dinamizados
também.
Capítulo 6 Unpivoting Dados 55
• A consulta neste momento seria semelhante a este, com as duas últimas colunas sendo os totais não dinamizados:
• Use o ícone V no lado direito da barra de fórmulas para expandir a barra de fórmulas
Se você quiser bloquear o seu código para se certificar de que há outras colunas eram já não dinamizado, você precisa mudar isso a partir
do Table.UnpivotOtherColumns funcionar para usar a função Table.Unpivot. Como Table.UnpivotOtherColumns, a função Table.Unpivot leva
quatro parâmetros:
A fim de bloquear o UNPIVOT de várias colunas, você apenas fornecer a lista completa das colunas para UNPIVOT entre os
caracteres {}, com cada cabeçalho da coluna cercada entre aspas e separados por vírgulas.
56 M é para (dados) do macaco
Capítulo 7 Importação Nondelimited arquivos de texto 57
• alinhamento inconsistente
A maior parte do trabalho para muitos profissionais do Excel é a importação deste tipo de informação em Excel e limpá-lo. E tudo isso tem que
acontecer antes eles podem obter com a análise que realmente agrega valor ao negócio. Se você já esteve lá, você sabe o processo segue este fluxo
geral:
2. Trabalho em uma janela do Assistente de importação de selo de porte postal, tentando determinar como as colunas são delimitados e quais
ignorar.
Conectando-se ao Arquivo
Você se conectar a um texto nondelimited arquivo da mesma forma que você se conectar a qualquer outro arquivo de texto:
O primeiro benefício que você vai notar sobre o processo padrão de importação Excel é que você começa a trabalhar em uma janela de tamanho normal. Isso é
uma enorme melhoria tudo por conta própria, como você pode realmente ver o que está acontecendo.
Se sua coluna é muito estreita, apenas mouse sobre o lado direito do cabeçalho da coluna, mantenha pressionado o botão esquerdo do mouse e
arraste-o mais amplo.
58 M é para (dados) do macaco
Você também vai notar que, uma vez que o arquivo não é delimitada com qualquer tipo de delimitadores consistentes, Poder consulta não fez quaisquer suposições
sobre seus dados. Em vez disso, ele deixou todo o processo para você. Dado o estado desse arquivo, que provavelmente não é uma coisa ruim.
Antes de cavar mais longe neste tópico, note que existem muitos maneiras de importar arquivos de texto nondelimited, e nenhum
deles é certo ou errado. O exemplo neste capítulo foi projetada para mostrar uma grande quantidade de transformações através da
interface do usuário, bem como a maneira típica de um pro Excel pode abordar essa tarefa. Com mais experiência, você verá que as
rotas mais rápidas para o objetivo final são quase certamente possível.
Figura 85. As linhas principais são removidos, trazendo os cabeçalhos mais perto do topo.
Em seguida, você precisa escolher uma direção para invadir esses dados. Você poderia tentar quebrar na esquerda ou direita, mas atualmente
há uma tonelada de espaços à esquerda extras, e há espaços duplicados no meio. Seria bom para se livrar daqueles.
No Excel é uma prática padrão para executar dados textuais através do TRIM () e limpo () funciona de modo a remover todos levando, à direita, e
duplicar espaços, bem como a remover todos os caracteres não imprimíveis. Poder consulta também tem essa funcionalidade, e aqui está como você
aplicar isso agora:
Neste ponto, você pode perceber que a funcionalidade guarnição do Poder consulta não funciona exatamente o mesmo que o Excel de. Enquanto TRIM do Excel ()
função remove todos os espaços à esquerda e à direita e substitui quaisquer espaços duplicados em
Capítulo 7 Importação Nondelimited arquivos de texto 59
meio dos dados com um único espaço, energia consulta de não fazer a última parte. Em vez disso, apenas corta fora os espaços à esquerda e à
direita.
A função CLEAN (o) em Power consulta se alinha com o Excel de, embora seja mais difícil de ver. caracteres não imprimíveis são processados como um pouco
de ponto de interrogação em uma caixa dentro da interface do usuário do Excel. Em Poder Consulta eles mostram como um espaço. Independentemente disso,
se você passo para trás e para frente entre o texto aparada e as etapas de texto limpo em caixa Passos Aplicadas, você verá que os espaços em torno do & em
Avis & Davis foram limpos afastado pelo passo texto limpo.
• Vá até Home → Coluna de Split → pelo número de caracteres → 12 → repetidamente → OK Isso claramente não funcionou! Como você pode ver abaixo,
a coluna de data pode ser bom, mas os outros com certeza não são as seguintes:
Este não é um grande negócio, como você pode apenas tentar novamente refinando seus esforços originais:
• Alterá-lo para 15 → OK O
Também vale a pena mencionar que não há nada de forçá-lo a escolher o repetidamente ajuste nas opções ao dividir colunas.
Se o documento é inconsistente, você pode optar por dividir uma vez do lado esquerdo / direito. Isso permite que você controle
muito granular, em uma base coluna por coluna.
60 M é para (dados) do macaco
Agora você pode fazer mais duas mudanças. Desde a etapa de tipo alterado apenas declara todas as colunas como texto (que eles não vão ser
quando você está feito), você pode remover a passo tipo alterado porque é irrelevante. Você pode então promover a primeira linha de cabeçalhos de
coluna. Siga esses passos:
Se você rolar para baixo, neste ponto, você verá que há uma série de linhas de lixo nestes dados, a maioria dos cabeçalhos de página de
repetição e quebras de seção que foram incluídos no documento. O primeiro bloco desses problemas ocorre na linha 40 e introduz um bando de
feiúra:
A questão é como lidar com estes. Alguns são datas, alguns são de texto, alguns são nulos. Tente isto:
• Direito do mouse no Tran coluna Data → Alterar tipo → Usando Locale → Data → Inglês (US) → OK O resultado é um
Ao contrário de qualquer outro programa, os erros são verdadeiramente emocionante em Power Query. Eles são emocionantes porque você pode con- trolo-los
e reagir a eles. Se você olhar cuidadosamente para esses dados, você verá que os erros foram causados apenas em linhas que passam a fazer parte das linhas
que pretende filtrar qualquer maneira. Além disso, cada linha que tem um nulo na coluna Data Tran detém valores nas colunas subseqüentes que também não
fazem parte dos dados transacional que você deseja manter. Então você pode se livrar de tanto daqueles:
Capítulo 7 Importação Nondelimited arquivos de texto 61
• Selecione a guia Tran coluna Data → Início → Reduzir linhas → remover erros
Os resultados são bastante animadores, e agora você tem uma coluna trandate com datas válidas de cima para baixo:
Figura 91 A coluna Trandate mostrando datas de validade a partir de cima para baixo.
Agora, você deve reconhecer que há algumas linhas que ainda aparecem, mas não pertence a este conjunto de dados. O desafio é que você
realmente não quer filtrar essas datas como alguns deles pode ser válido um dia (talvez em 3/1/0123). Assim, você pode passar para a próxima
coluna e veja se você pode corrigir esses problemas lá:
Poder consulta tenta definir todas as entradas de valores com casas decimais, o que desencadeia alguns erros. Remover esses e os nulos para fora do
conjunto de dados:
Se você agora verificar o conjunto de dados ao redor linha 40 (e mais), você verá que todas as linhas de lixo são completamente desaparecido.
• Filtrar a coluna
• Certifique-se de que os valores apresentados na coluna são todos ou em branco nulo
Verificando cada uma das colunas no conjunto de dados, você pode ver que a terceira coluna (com um cabeçalho em branco) aparece para conter apenas valores
em branco. Essa coluna pode ser removido.
Da mesma forma, se você percorrer todo o caminho até column9, você vê que esta coluna possui apenas nulo valores. Que UMN col- também podem ser
removidos.
agregando Colunas
Neste ponto, é bastante claro que a sua divisão inicial das colunas foi um pouco agressivo. Parece que você tem quatro colunas que foram
quebrados além incorretamente, como mostrado abaixo.
Felizmente, nem tudo está perdido aqui, e você certamente não precisa de voltar e começar de novo. Você só precisa colocar as colunas juntos
novamente. Veja como:
Você então tem a opção de usar um separador e fornecendo um novo nome para a coluna (novo). Neste caso, você não precisa de um separador de qualquer
tipo. E uma vez que você está indo para dividir esta coluna de forma diferente em um segundo de qualquer forma, o nome realmente não é importante. Clique
OK, e suas colunas são colocados de volta juntos:
Você não está limitado a delimitadores de um único caractere ao dividir por delimitador. Na verdade, se você quer dividir por uma palavra
inteira, você pode digitar essa palavra como seu delimitador.
Os dados são, em seguida, dividida em duas colunas separadas: Merged.1 e Merged.2. Estes devem ser renomeado para algo mais sensato:
Infelizmente, não há nenhuma função que remove facilmente “espaços em branco” interna a partir de uma cadeia de texto. Se você suspeitar que
você tem alguns exemplos de dois espaços, você pode ter que executar esse processo guarnição algumas vezes a fim de limpar completamente os
dados.
Neste ponto, você pode finalizar sua consulta e realmente construir um relatório a partir dele. Naturalmente, você vai fazer isso através da criação de uma tabela
dinâmica. Antes que você possa fazer isso, siga estes passos:
Clique em qualquer lugar na tabela e escolha para inserir uma nova tabela dinâmica. Coloque-o em G2 da planilha atual e configurá-lo como segue:
• Categoria em Colunas
• Montante em valores
Esta tabela dinâmica é certamente útil, mas enfrentá-lo: Tudo realizado neste capítulo até agora é ble inteiramente possibi- com Excel apenas padrão.
Então, por que você precisa de energia consulta? É a janela de tamanho normal? Isso é legal, mas não é crítica.
Você vê por que o poder de consulta é tão crítico quando você lida com a próxima parte da equação. Próximo trimestre vem junto, e você terá um novo arquivo
de dados. No mundo de um profissional Excel, o que significa mais uma tarde tediosa de ing de importações, limpeza e reformatação. Mas armado com Power
Query, tudo isso muda. Graças ao poder de consulta, isso é tudo que você faz:
saída da consulta atualiza a tabela, mas você tem que forçar a tabela dinâmica para atualizar. Então fazer isso por-clique-direito ing a tabela dinâmica →
Atualizar.
Há novos fornecedores, novas operações e novas datas, e eles estão todos trabalhando sem problemas. É nário revolu-, e você vai
saber como você nunca fez o seu trabalho sem essa ajuda do Poder Query.
Se você acabou de salvar o novo arquivo sobre o antigo, você não tem sequer a editar a etapa Fonte para atualizar o caminho do arquivo. Em vez
disso, você simplesmente ir para Dados → Atualizar tudo (duas vezes) para atualizar a solução. Você também deve reconhecer que este não é o fim da
jornada. Neste caso, você ainda teve que editar manualmente o passo de origem para atualizar o caminho para o novo arquivo. Considere o impacto se
tivesse originado o arquivo de dados via De Arquivo → De método de pasta descrita no Capítulo 4. Se você fez, você seria capaz de tomar a lista de
arquivos na pasta e:
Se você decidir usar a rota listados acima, estar ciente de que a propriedade Data de modificação é alterado cada vez que o arquivo é salvo.
Enquanto o poder de consulta não irá alterar esta propriedade através da leitura do arquivo, todas as modificações feitas e guardadas por um usuário
irá forçar a propriedade Data de modificação para atualizar. Se esta é uma preocupação, a Data de acesso e Data de Criação propriedades podem
proporcionar melhores opções para você usar como filtros, dependendo de seus objetivos finais.
Capítulo 8 Importando de bancos de dados 65
Como bancos de dados SQL Server não são facilmente portáteis, estamos hospedando um banco de dados SQL Azure no serviço web da Microsoft Azure para
que você pratique essas técnicas. Este é essencialmente um banco de dados SQL Server que está hospedado na nuvem e está disponível para que você possa
acessar livremente e explorar. Isto significa que não importa onde no mundo você está, você pode conectar e explorar os dados dentro deste banco de dados.
Se você não consegue encontrar o que você precisa, não perca a esperança. Se você instalar o driver ODBC do fornecedor, você deve ser capaz de se conectar
ao seu banco de dados através da De Outras Fontes → ODBC Connector.
Em um esforço para se certificar de que você não causam-se emite ao fazer a conexão banco de dados inicial, é altamente
recomendável que você leia os passos abaixo (até a seção “Gerenciando conexões”) antes de tentar realmente fazer uma
conexão. Para começar, você precisa ir através dos seguintes passos:
• Servidor: azuredb.powerqueryworkshop.com
Quando você está se conectando a bancos de dados, há uma opção para fornecer uma instrução SQL personalizada. (Isso pode ser acessado
clicando no triângulo mostrado na imagem acima.) Evite usar esta opção a menos que você é um ninja SQL e pode escrever código eficiente
mortal. Se não for possível, usar esse recurso vai realmente prejudicar o desempenho de suas consultas.
Neste ponto, você será solicitado a digitar as credenciais necessárias para se conectar ao banco de dados. Você tem algumas opções aqui:
• A opção padrão é usar as credenciais do Windows que você usa para fazer logon no seu computador. Se você está trabalhando em um banco de
dados que está dentro de sua organização e o departamento de TI tem permitido Win- dows autenticação, este trabalho será mais provável para
você.
• Você também é capaz, na mesma guia, para fornecer um conjunto alternativo de credenciais do Windows. Isso é útil se você precisa se conectar ao
banco de dados usando um conjunto diferente de credenciais do usuário.
• Para se conectar ao banco de dados neste caso, no entanto, você precisa virar para a guia Banco de Dados da caixa de diálogo, como temos usado a
segurança de banco de dados, não de segurança do Windows, ao criar nossos IDs de usuário. Nessa guia, você precisa digitar as seguintes
credenciais:
• Senha: D4t4M0nk3y!
Uma vez que você tem as credenciais corretas, clique no botão Conectar:
Figura 98 Conexão com o banco de dados usando as credenciais de segurança do banco de dados.
As credenciais de usuário usadas são armazenadas em um arquivo que reside dentro de suas configurações de usuário locais. Isto significa que o
nome de utilizador e palavra-passe não fazer (e atualmente não pode ser definido para) viajar com a solução quando é enviado por email ou até
mesmo aberto por outro usuário. Este recurso de segurança garante que cada usuário realmente tem as credenciais adequadas para acessar e
atualizar os dados.
Gerenciando conexões
Se você digitar o nome de sua conexão, banco de dados, ID de usuário ou senha e precisar modificar qualquer coisa, você pode fazer isso indo
através dos seguintes passos:
Este diálogo pode tornar-se muito lotado ao longo do tempo, por isso é muito útil que você pode filtrá-la usando o painel de pesquisa. Na imagem
acima, nós filtrado para encontrar o powerquery prazo porque sabemos que era parte da URL para o banco de dados Azure. A partir daqui você tem
duas opções:
• Elimine a ligação -Esta é uma boa opção se você deseja remover a fonte de dados das conexões em cache, forçando-o a nova
autenticação na próxima vez que se conectar a ele. Esta é também uma ótima opção se você bagunçou a conexão inicial e quer
começar de novo.
• Editar a conexão -Esta é uma boa opção se você só precisa atualizar o nome de usuário e senha ou se você quiser alterar os níveis
de conexão de privacidade por algum motivo. Você pode clicar no botão Editar para ver o tipo de conexão:
68 M é para (dados) do macaco
Figura 100 A caixa Configurações de fonte de dados para o banco de dados Azure.
Você também pode acionar a janela para atualizar / substituir o nome de usuário e senha, clicando no botão Editar na seção Credenciais, se
necessário.
Usando o navegador
Uma vez Poder consulta foi conectado ao banco de dados, você vai encontrar-se lançado na interface do navegador, que permite que você
selecione a tabela (s) que você gostaria de conectar-se. Neste caso, você quer puxar alguns dados da tabela de SalesOrders. Há uma série de
tabelas, e você pode usar o recurso de busca para diminuir a lista:
O painel de visualização estende a mão para o banco de dados e dá-lhe um olhar sobre os dados que são armazenados dentro dessa tabela:
Os dados aqui parece bastante útil. Clique em Editar e ver o que informação útil você pode recolher a partir dele.
Capítulo 8 Importando de bancos de dados 69
Explorando os dados
Depois de clicar em Editar no Navegador, a primeira coisa que você notará é que há duas etapas na janela Passos Aplicadas: Fonte e Navegação. Se você
selecionar o passo Source, você vê que ele vai voltar para o esquema bruto do banco de dados, permitindo que você veja o que existem outras tabelas,
exibições e objetos no banco de dados. A etapa de navegação, em seguida, brocas para a tabela selecionada. A segunda coisa que você notará é que há
uma muito de dados aqui. Você pode diluir um pouco mais baixo:
Figura 103 Cada ficha contendo um período mostra uma tabela relacionada.
Enquanto é incrível que você posso manter perfuração para tabelas relacionadas, você realmente só precisa o campo Grupo da tabela SalesTerritory, então
expandir essa coluna para puxar somente esse registro:
• Verifique Grupo
• Clique OK
Figura 104 Os dados está agora pronto para ser carregado e analisados.
Agora você pode ir para a guia Início e clique em Fechar & carga para carregar os dados em uma planilha do Excel. Após uma pequena espera, a mesa fica verde,
e você está pronto para construir uma tabela dinâmica. Em seguida, siga estes passos:
• Defina cada coluna para mostrar em um estilo de contabilidade, sem casas decimais ou símbolos. O resultado é uma
Figura 105 A tabela dinâmica criada a partir de um banco de dados Windows Azure SQL.
A beleza desta solução é que você também pode adicionar segmentações de dados, gráficos dinâmicos e outros itens para a planilha para exibir os dados como
você quiser vê-lo. Mas a melhor parte é que com um simples Dados → Atualizar tudo, você pode atualizar os dados do banco de dados on-line a qualquer momento
para atualizar a solução, conforme necessário.
Capítulo 8 Importando de bancos de dados 71
Por favor, note que todos os números utilizados no seguinte conjunto de dados são completamente fictícios e foram semeadas aleatoriamente no
banco de dados.
O exemplo desta seção é construído contra um resumo dos resultados de bilheteria, alojados em uma instância local SSAS. Após a autenticação para a instância
do SSAS, você está imediatamente apresentado com o Navigator, assim como você é quando você se conectar a qualquer outro banco de dados:
Figura 107 Esta nova janela lhe dá uma visão de árvore para navegar através do servidor SSAS.
72 M é para (dados) do macaco
A partir daqui, você pode selecionar as dimensões, medidas e KPIs que você quer do seu modelo, basta verificar as caixas ao lado
deles. Para este exemplo, suponha que você selecionar a dimensão FILM_NAME da tabela TAB_FILMS, bem como algumas medidas
como telas, Locais, Soma de BORTOT, e Soma de ADM. (Estas medidas dão os valores numéricos relacionados com a informação
geral do desempenho de bilheteria para cada filme.)
construir consultas contra uma fonte SSAS é muito diferente de uma conexão SQL normal. Em uma instância do SQL normal, você se
conectar a toda a tabela e filtrar as colunas que fazer não deseja incluir. Com uma instância do SSAS, você se aproxima o trabalho no sentido
inverso, verificando as colunas Faz deseja incluir, construindo tabela de saída de coluna por coluna que você vá.
Figura 108 A janela de visualização cria sua mesa como você selecionar itens à esquerda.
Quando a visualização da tabela atenda às suas expectativas, você pode ir em frente e clique no botão Editar para ser lançado no editor de Poder
Query.
Esta janela parece um pouco diferente do que você já viu antes. Ao contrário de casos anteriores, onde são dadas comandos relacionados com
operações de tabela, desta vez você descobrir que a fita Cube Ferramentas contextual está ativo, dando-lhe as opções Adicionar itens e colunas
Colapso:
Capítulo 8 Importando de bancos de dados 73
Figura 109 Três etapas aplicadas, uma mesa, e dois novos botões misteriosas.
Este modelo em particular tem a informação para toda a região Central Américas, mas dizer que você quer se concentrar em um filme específico: Titânico.
Neste caso, você precisa filtrar a coluna TAB_FILMS_FILM_NAME para baixo a apenas que um filme.
74 M é para (dados) do macaco
Embora a fita Cube Ferramentas contextual ainda está habilitado, isso não significa que você não pode usar as outras fitas que você usou
antes. A fita Cube Tools simplesmente oferece-lhe novas funcionalidades quando você se conectar a este tipo especial de fonte de dados.
Campos colapso
Você já viu como adicionar novos campos, mas o que o botão Fechar Colunas fazer? Depois de olhar para os resultados para Titânico, dizer que
você decidir que você realmente quer ver uma visão diferente dos dados. É, portanto, voltar e remover o passo linhas filtradas. Como resultado,
todos os filmes são listados, com uma repartição por cada país, bem como:
Em seguida, você pode remover a coluna TAB_FILMS.FILM_NAME em uma tentativa de mostrar os totais de bilheteria pelo país. Ao invés de botão
direito do mouse na coluna e escolhendo Remover, você selecione a coluna TAB_FILMS.FILM_NAME → Fechar Colunas. Aqui está o resultado:
Como você pode ver, o comando Fechar Colunas remove a coluna da fonte de dados. Ele faz mais do que isso, no entanto. Se você apenas
escolhido para remover a coluna, você ainda tem dados desagregados por país (sem título do filme). As colunas Recolher apresentam
re-agrega os dados e então remove-se a partir da consulta.
Infelizmente, o Google Analytics está disponível apenas no Poder BI desktop, não Excel. Fontes, como o Google Analytics e outros bancos de
dados SSAS provavelmente terá todos os dados pré-agregados para você, pronto para o consumo. Nestes casos, o principal uso do Poder consulta não é
a limpeza de dados, mas sim fornecer um método para os usuários finais para descobrir o que eles precisam e integrar esses dados com outras tabelas.
Claro, você ainda pode usar a funcionalidade da interface do usuário Poder consulta para enriquecer ainda mais as tabelas também.
Capítulo 8 Importando de bancos de dados 77
Figura 114 O conector Google Analytics no Poder BI Desktop utiliza um formato SSAS.
Em termos leigos, em vez de carregar todos os 100.000 registros e, em seguida, filtrando até a 1.500 para esse departamento, o servidor em vez leva as
consultas para construir uma consulta mais eficiente que lê:
dobrados, um grande número pode, empurrando a carga de trabalho de processamento para o servidor.
78 M é para (dados) do macaco
tecnologia de dobragem consulta é restrita às bases de dados. Enquanto isso seria bom ter esta ality Função- para TXT, CSV e arquivos do
Excel, esses arquivos não são bancos de dados e, portanto, não têm nenhum mecanismo para dobrar as consultas. Você também deve estar
ciente de que nem todo o apoio bancos de dados de consulta dobrável. Se o arquivo ou banco de dados que está a ligar é incapaz de dobrar as
consultas, em seguida, Excel só vai baixar o conjunto completo de dados e executar os passos solicitados usando seu próprio motor para
processá-los. Tudo ainda vai funcionar, mas é apenas não tão eficiente.
otimização
Poder consulta pode ser lento. É um fato lamentável, e que a Microsoft está bem ciente de e constantemente tentando melhorar. Até Microsoft vence este
problema, é importante que você tem algumas estratégias para tentar maximizar o desempenho onde você pode. A primeira estratégia é Nunca fornecer
uma instrução SQL personalizada ao configurar sua consulta inicial. (A única exceção a esta regra é se você é um ninja SQL e estamos confiantes de que
você pode fornecer uma consulta mais eficiente do que a consulta passos dobráveis pode construir para você.) Ao fornecer uma instrução SQL
personalizada, você imediatamente quebrar as capacidades de consulta dobráveis para quaisquer passos seguintes, potencialmente prejudicando o seu
desempenho a longo prazo.
Lembre-se que o Poder consulta não foi construída como um substituto para o SQL Server Management Studio (SSMS). Foi construído como uma
ferramenta para ajudar os profissionais do Excel, que geralmente sabem muito pouco-se sintaxe qualquer-SQL, para extrair, filtrar, classificar e manipular dados.
O trabalho do poder de consulta é construir o seu código SQL para você. A segunda estratégia é dar preferência a conexão com mesas em vez de pontos de
vista. Poder consulta pode ler as chaves ou índices de uma tabela, mas não de uma vista. Isto leva a potência de consulta fazer escolhas diferentes ao tentar
carregar os dados a partir de uma visão de escolhas que podem não ser tão eficiente quanto os relacionados com a leitura dos índices e chaves de uma tabela.
Poder Consulta também não pode realizar a detecção de relacionamento através de visualizações, o que torna a experiência inicial do projeto mais difícil, em
primeiro lugar.
A terceira estratégia é tentar empurrar o máximo de trabalho no banco de dados possível. Por exemplo, consulta dobrar empurra a carga de trabalho para o
servidor, ao invés de ser realizada utilizando Poder consulta na estação de trabalho local. Como bancos de dados são projetados para processar dados de forma
eficiente, isso vai ajudar com o desempenho. A quarta consideração é tentar fazer o máximo de trabalho possível na sua concepção inicial consulta usando os
comandos da interface de usuário de energia da consulta, em vez de chegar ao código personalizado M. Enquanto isso vai ser tentador para injetar parâmetros
dinamicamente para controlar filtros (especialmente depois de ler o Capítulo 23 em tabelas de parâmetros), você deve estar ciente de que isso vai quebrar a
capacidade consulta dobrável.
Consulta de dobragem não pode ser executada contra qualquer linha que contém um M personalizado ou instrução SQL. Pior ainda, M
ou uma instrução SQL pára qualquer consulta dobrar ocorra.
Capítulo 9 Mesclando tabelas e consultas 79
O desafio com este é que muitos usuários estavam aterrorizados com VLOOKUP () e não entendia as funções MATCH () INDEX () e quer. E
enquanto PowerPivot agora permite agregar duas tabelas sem usar quaisquer funções VLOOKUP (), que carrega seus próprios complexidades.
Ainda assim a questão permanece: Às vezes você só precisa de uma maneira fácil para mesclar registros de duas tabelas juntos.
Quando Poder consulta bater a cena, introduziu ainda um outro método para combinar duas tabelas juntos e um que não envolvem aprender fórmulas do
Excel ou a construção de uma estrutura de banco de dados relacional.
Você ainda precisa puxar a tabela original em poder de consulta, mas a saída é onde você fazer uma mudança. Dentro dos exemplos CH09 \ arquivo
Merge.xlsx, você encontrará duas tabelas criadas: uma tabela de inventário e uma mesa de Vendas. A fim de deixar Poder consulta ler o conteúdo da
Poder consulta abre o seu editor para que você possa fazer quaisquer transformações que você precisa. Neste caso, no entanto, você realmente não precisa fazer
qualquer. Tudo o que você quer fazer é criar algo que você pode se conectar mais tarde.
• Na guia Início, clique no drop-down na parte inferior do botão Fechar & Carga
• Escolha Close & Carga Para ...
• No Carga Para diálogo, que agora pergunta onde salvar seus dados, selecione Somente Criar Conexão
• Clique em Carregar
80 M é para (dados) do macaco
Você vê o seu programa de consulta-se no painel de pasta de trabalho Consultas, mas não poder consulta não criar uma nova tabela para você.
A Figura 116 uma nova consulta criada como uma consulta só de ligação.
Se você cometer um erro e criar uma consulta com uma mesa, você pode corrigi-lo clicando com o botão direito na consulta no painel a pasta de trabalho
consultas e escolher Carga Para .... Poder consulta avisa que você está indo para apagar os dados quando você confirmar a alteração, como você vai ser
remover a tabela recém-criada. Você também pode adicionar uma tabela se você tiver criado uma consulta só de conexão editando a carga para ...
comportamento como acima e mudar o comportamento de carga selecionado a partir Somente Criar Conexão com a Tabela. Com o quadro de inventário já
está disponível em Power Query, você precisará repetir esse processo para a tabela de vendas:
• Clique em qualquer célula dentro da tabela de vendas → criar um novo → consulta Da Tabela
• Início → Close & Carga Para ... → Só Criar Conexão → OK Está tudo pronto e
Executando a mesclagem
Você cria uma tabela incorporada no mesmo lugar onde você cria uma consulta acréscimo da interface do usuário Excel. Aqui está o que você faz:
O diálogo Mesclar aparece. Seus dois menus suspensos permitem que você escolha as duas tabelas que você deseja mesclar juntos.
Estranhamente, depois de tomar essas ações, o botão OK ainda não está habilitado:
Capítulo 9 Mesclando tabelas e consultas 81
Figura 117 Você optou por mesas, mas por que você não pode prosseguir?
O problema em questão é que o poder de consulta não sabe quais os campos que você deseja usar para executar a fusão. A fim de executar uma mala,
você quer idealmente ter uma coluna que contém valores exclusivos em uma tabela, mas tem repetindo registros na outra tabela. Isso é chamado de uma
estrutura de um-para-muitos, e usá-lo é a melhor maneira de garantir que você acabar com resultados que correspondem ao que você esperaria.
Poder consulta suporta um-para-um e muitos-para-muitos junta-se, como você verá em breve. Neste caso, a coluna SKU Número contém
produtos exclusivos na tabela de inventário, e repete muitas vezes na tabela de vendas, para que você possa usá-los:
• Clique OK
Poder consulta abre o editor, onde você vê uma nova coluna agradável de mesas do lado direito da tabela de vendas:
A Figura 118 uma nova coluna de tabelas, contendo os registos tabela de inventário correspondente.
Você sabe o que fazer com uma coluna de tabelas: Expandir-los! A única questão aqui é que as colunas que você precisa. Porque as
colunas SKU número e marca já existir na tabela de vendas, você não precisa aqueles, por isso certifique-se de excluí-los durante a
expansão. Siga esses passos:
Como você pode ver, agora você tem os detalhes do produto incorporada a tabela de vendas:
Você vai achar que você tem 20 registros, um para cada transação na tabela de vendas original, exatamente replicar PROCV () 's cenário de
correspondência exata.
Muitos-para-muitos Mescla
Ao construir uma mesclagem, você precisa ter cuidado para mesclar com base nas colunas corretas. Se você tentar configurar uma fusão como a seguir, você
verá que sua saída é um pouco diferente:
• Clique OK
Como você pode ver, as duas únicas alterações são a coluna usada para mesclar as tabelas eo nome da consulta final (que não afetará a
saída). No entanto, desta vez há 22 registros em mais a saída da tabela-2 do que a contagem inicial das transações.
Para entender por que isso está acontecendo, você precisa editar a consulta ManyToMany e voltar à etapa Fonte. Se você vai para baixo da mesa
para gravar 19 e clique no espaço em branco ao lado da palavra de mesa, você terá uma visão pré-dos dados na tabela que serão mesclados em
sua tabela de vendas.
Na mesclagem anterior, você criou a fusão com base no número SKU, o que significa que os registros só seria compensada se os seus números de
itens combinados. Neste caso, no entanto, você correspondência com base na marca. Porque a marca OK molas mostra duas vezes na tabela de
inventário, quando a tabela de vendas tem a marca OK Springs, ele cria duas partidas. O fato de que eles têm diferentes SKUs é irrelevante para
poder Query, como você pediu para um jogo baseado na marca, não SKU.
Você pode ver neste exemplo que você precisa ter cuidado ao criar jogos. Este recurso pode ser muito útil, mas também pode ser perigoso
se você não está prestando atenção e estão esperando um jogo de um-para-muitos.
O problema
O desafio aqui é que você precisa para carregar e UNPIVOT tabela de Recap (linhas 32:36). Desde a utilização de energia de consulta é a maneira mais
fácil de UNPIVOT dados, você obviamente quer usá-lo, mas há alguns desafios em obter os dados em poder de consulta em primeiro lugar:
• Carregar os dados através de uma tabela faria com que os cabeçalhos de coluna para ser bloqueado, e você perderia a sensação dinâmica.
• Carregar os dados usando um intervalo nomeado permitiria que os cabeçalhos de coluna para alterar na planilha, mas poderia
potencialmente quebrar quaisquer medidas hard-coded na consulta quando as mudanças. A solução neste caso é criar uma tabela de
• Estender A41 até A52 para que ele lê CYM2, CYM3, e assim por diante
• Optar por colar fórmulas e formatos de número e verificar a Transposição caixa Sua tabela deve agora ser
Naturalmente, a fim de fundir isso em outra tabela, você precisa de Energia Consulta também saber que ela existe, por isso, siga estes passos:
• Início → Close & Carga Para ... → Só Criar Conexão Com uma conexão
criada para esta tabela, você está agora pronto para ir.
• Cópia fileira 32
O intervalo de dados está agora configurado e pronto para usar, e você só precisa adicionar uma tabela a ela:
O truque aqui é que você precisa para garantir que o quadro apenas abrange linhas 33:37, como você não quer bloquear linha 32 de fórmulas. Siga
esses passos:
• Ocultar linha 33
Dependendo do estilo que você escolher, você pode até esconder todas as provas que você foi mexer com isso e configurá-lo como uma tabela:
• Botão direito do mouse na coluna Mês → Substituir Valores → “total” (com um espaço à direita e sem aspas) com nada →
OK
Neste ponto, a consulta é olhando bastante decente. É não dinamizado, e está pronto a ser incorporado. E adivinha? Você não tem sequer a deixar o
poder consulta para fazê-lo!
A saída é um conjunto muito agradável não dinamizado de dados, com as datas corretas associadas a cada transação:
Figura 126 A folha de cálculo de entrada de dados é ainda reagir de forma dinâmica.
Com os cabeçalhos da tabela agora essencialmente dinâmico e sua capacidade de rapidamente UNPIVOT os dados em uma tabela, você agora abriu
grandes possibilidades para os dados. Desde a fusão deste com outros conjuntos de dados para alimentá-lo em tabelas dinâmicas ou Power Pivot, as
possibilidades são infinitas e você ainda tem um front-end user-friendly.
Capítulo 10 da Consulta Carregando Destino 87
única opção para onde colocar os dados da consulta de energia. Na verdade, você tem três opções de carregamento de destino diferentes, alguns dos
• tabelas do Excel
A capacidade de carregar diretamente para o Modelo de Dados de Energia Pivot não é suportado no Excel 2010. Dito isto, só porque
ele não é compatível não significa que ele não pode ser feito. Você vai descobrir como fazê-lo neste capítulo.
tabelas do Excel
tabelas do Excel são a experiência de carregamento padrão para buscas Poder de consulta. Quando você simplesmente clique em Fechar & carga na
interface do Poder Query, Excel cria uma nova tabela em uma nova planilha para armazenar a saída da consulta. A tabela recém-criado herda o nome da
consulta, com algumas modificações:
• Se o nome da consulta já é usado para uma tabela existente ou intervalo nomeado, então terá uma _ # AP pended até o fim.
Uma ressalva para estar ciente de aqui é que você nunca deve dar uma consulta o mesmo nome que uma função do Excel existente. Excel tenta
interpretar intervalos nomeados antes das funções, assim que ter uma tabela chamada algo como ROUND ou ESQUERDA fará com que todas as células
que utilizam estas funções para retornar erros # N / A. Se você está simplesmente a leitura de dados de uma tabela e não fazendo manipulações para ele,
usando a opção padrão lhe dá uma conexão com os dados em poder de consulta, mas também duplica os dados em outra planilha, aumentando o tamanho
Consultas de conexão-Only
Como você viu no Capítulo 9, consultas somente de conexão são configurados para evitar dados de desembarque em uma planilha, mas eles ainda permitem que
você se conectar aos dados através de outras consultas de consultas de energia.
Esta opção é um fantástico que é usado com frequência na prática, como as consultas criadas desta forma são carregados sob demanda apenas quando chamado
por uma consulta posterior. Uma vez que eles não carregar quaisquer dados diretamente para a planilha, eles também não aumentar o tamanho do arquivo ou
sobrecarga de memória necessário para armazenar a saída da consulta.
Carregando a uma mesa e criar uma consulta só de conexão são opções mutuamente exclusivas. Você pode escolher apenas um ou o
outro.
Por exemplo, quando você abre CH10 Exemplos \ Carga Destinations.xlsx, você verá que o livro contém duas tabelas de itens de vendas de
uma loja de animais. O analista deseja mesclar essas mesas para uso em uma solução ness inteligência empre-. Como ela faz isso?
Ela poderia carregar cada tabela em uma consulta, carregar as consultas em planilhas, e em seguida, criar uma consulta acréscimo que iria também ser
carregado em uma planilha. Ela seria, essencialmente, criar três cópias dos dados, o que parece um pouco ridículo.
A melhor alternativa é usar consultas somente de conexão para criar ponteiros para as tabelas de dados originais e, em seguida, criar uma
consulta acréscimo contra essas conexões e conseguir a saída em uma tabela. A mesa final agiria como fonte para tabelas dinâmicas do
analista, e não haveria uma etapa extra duplicação no meio. Para configurar esta solução, você deve seguir estes passos:
Este processo dá-lhe duas consultas somente de conexão, sem duplicar quaisquer dados no livro:
Agora você pode criar uma consulta acréscimo para mesclar as duas conexão de apenas consultas junto:
Poder consulta cria uma nova tabela que contém todos os dados e está pronto para ser girado:
Figura 129 Uma consulta de acréscimo criado a partir de duas consultas somente de conexão.
Ao criar uma nova consulta contra uma consulta só de conexão, não é necessário para carregar o put out- para uma tabela Excel. Você
poderia facilmente carregá-lo para outra consulta só de conexão, se necessário.
Para fazer o link esses dados para o modelo de dados Pivot Energia, você selecionar qualquer lugar dentro da tabela de vendas, vá para a guia de alimentação
Pivot, e clique em Criar tabela ligada. O resultado final é um fluxo de dados que segue este processo: Tabela de Excel → consulta → consulta acréscimo só de
Você poderia pensar que seria mais fácil simplesmente ir diretamente de suas tabelas de vendas mensais, ligar ambas as tabelas para
poder Pivot, e criar uma relação de evitar a necessidade de criar a consulta de acréscimo. A questão aqui é que Power Pivot é grande
em criar relacionamentos horizontalmente (replicando PROCV funcionalidade ()), mas é péssimo em empilhar duas mesas em cima uns
dos outros (dados anexando). Os desafios com esta abordagem são duplas:
• Seu dados são duplicados porque ele é carregado para a planilha primeiro e depois para o Modelo de Dados.
• Suas tabelas Poder Pivot são limitadas a um máximo de 1,048,575 linhas de dados (1 menos do que o número de linhas na
planilha).
Então, enquanto isso funciona e é o método suportado, usando métodos de carregamento suportados do Poder de consultas definitivamente tem alguns
inconvenientes para modeladores graves.
• No painel a pasta de trabalho Consultas, clique com o botão direito na consulta Vendas → Carga Para ...
• Clique em Carregar
Fazer essas alterações desencadeia um aviso sobre possível perda de dados. Isso acontece porque a mudança de tabela para criar Apenas
Connection diz Excel que você gostaria de remover a tabela que Power consulta desembarcou na planilha. Porque isso é de se esperar, você
pode simplesmente reconhecer o aviso clicando em Continuar.
90 M é para (dados) do macaco
Se você precisar, você é capaz de carregar os dados a ambos uma tabela em uma planilha, bem como o Modelo de Dados.
Depois Poder consulta leva um pouco de tempo para remover a tabela e definir as coisas com o Modelo de Dados, você pode dirigir-se para poder
Pivot e vá para a guia Pivot Poder → Gerenciar.
Figura 131 Os dados são confortavelmente carregado para o modelo de dados de potência do pivô.
Você também encontrará que as atualizações para as tabelas de alimentação da consulta fluir sem problemas para poder Pivot. Adicionar uma nova coluna à
tabela de vendas em Power consulta para ver como Poder Pivot manipula-lo:
Os dados são atualizados automaticamente para você, e você não precisa mesmo de acionar uma atualização.
A Figura 132 uma actualização de consulta empurrada directamente para o modelo de dados.
Após um desses conjuntos de instruções abre a janela de opções de consulta, onde você pode mudar o seu comportamento de carga padrão:
Capítulo 10 da Consulta Carregando Destino 91
Para anular as configurações padrão, selecione Especificar Carregar configurações personalizado padrão e, em seguida, definir essas configurações como desejar.
O truque aqui é que, desmarcando Load para Planilha, você cria uma consulta só de conexão. Você pode então opcionalmente selecione a opção Carregar ao
Modelo de Dados (em Excel 2013 ou superior.)
Tal como acontece com trabalhar com o Excel 2013 ou superior, você quer que isso seja uma consulta só de conexão, como o ponto inteiro é para evitar o
carregamento para uma planilha em primeiro lugar. Então, você precisa convertê-lo:
• Abra o painel a pasta de trabalho Consultas → botão direito do mouse Vendas → Carga Para ... → Só Criar Conexão → Carga
Agora você precisa vincular a consulta Vendas diretamente ao Modelo de Dados do Poder Pivot. Isso é feito dentro da janela do Poder Pivot:
Agora você verá a tela seguinte, que permite que você especifique a consulta SQL para ler a partir de sua consulta. Estranhamente, no entanto, você não pode
editar a instrução SQL.
92 M é para (dados) do macaco
Isto é seu só chance de definir o nome da tabela de Energia Pivot. . . sempre. Atualize o nome da consulta para algo mais lógico
aqui e cometer um erro em seu perigo, pois é un-editável após este ponto.
Figura 136 Uma consulta carregado directamente para o modelo de dados do Excel.
Você recebe um erro imediatamente. E clicando em Detalhes do erro produz uma mensagem que diz isso (e mais):
A consulta 'Vendas' ou uma de suas entradas foi modificado em Power consulta após essa conexão foi adicionado. Por
favor, desativar e reativar o carregamento para o Modelo de Dados para esta consulta.
A questão é que as consultas Poder consulta são compilados em uma cadeia de ligação complicada. E cada vez que uma consulta de origem é
modificado, a seqüência de conexão é alterado. Porque você ligados à cadeia de conexão ao configurar essa consulta, você precisa atualizar essa
cadeia, e isso é como fazê-lo:
• Ignorar o erro
• Voltar para Excel
• Clique dentro da seqüência de conexão caixa → pressione Ctrl + A para selecionar todo o string de conexão
• Clique OK → Fechar
• Pressione Ctrl + V para colar toda a cadeia de conexão que você copiou anteriormente
Mas o que é isso? Enquanto a conexão agora é atualizada, a nova coluna do mês não está presente? Como se o processo inicial não foram tempo
suficiente, você precisa re-confirmar a consulta de tabela, bem, indo para o Design
→ Propriedades da tabela → Salvar.
Agora você está feito. A aberto simples e salvar, e você finalmente ver a sua nova coluna:
94 M é para (dados) do macaco
• Clique dentro da seqüência de conexão caixa → pressione Ctrl + A para selecionar todo o string de conexão
• Clique OK → Fechar
• Pressione Ctrl + V para colar toda a cadeia de conexão que você copiou anteriormente
• Salvar → Fechar
Este processo pode parecer incrivelmente doloroso, mas se você seguir estes passos, você pode facilmente atualizar uma tabela de Energia Pivot Excel 2010
quando são feitas alterações às suas perguntas da consulta Poder. O processo é tedioso, mas pelo menos é sempre o mesmo.
O problema com o carregamento diretamente ao Poder dinâmica no Excel 2010 é que tanto poder de consulta e Poder Pivot foram
add-ins separados para Excel 2010. Poder Pivot foi integrado no Excel 2013 e Energia Consulta em 2016. Assim, a partir do Excel 2013,
Energia e Consulta poder Pivot foram capazes de começar a falar uns com os outros corretamente, e Excel podem lidar com este
processo, sem intervenção manual.
• Abra os exemplos CH10 \ Destinos Carga - completa que pertence à sua versão
• Abrir Pivot Poder
• Renomeie os Transações planilha de vendas
Capítulo 10 da Consulta Carregando Destino 95
Seu modelo está quebrado, mas certamente não se parece com ele, não é? Na verdade, ele continua a atualizar se você vá até Home → Atualizar no
Poder Pivot ou Dados → Atualizar tudo no Excel. Então, qual é o problema?
o modelo é danificado, mas sua pasta de trabalho continuará a atualizar, possivelmente por meses, antes de descobrir isso. O que irá desencadear a questão
de realmente elevar sua feia cabeça? Qualquer alteração a consulta subjacente. Para ver o que queremos dizer, voltar e adicionar essa coluna mês
novamente, usando as etapas descritas anteriormente neste capítulo. Se você usar o Excel 2010 ou 2013, uma vez que você seguiu os passos normais para
atualizar sua tabela, os dados não poderá carregar com o Modelo de Dados de Energia Pivot:
O que é ainda pior é que a mensagem de erro só forneceu indica que há algo de errado com a conexão, mas não o que ou
como corrigi-lo.
você pode até mesmo verificar um modelo para ver se ele é danificado? Sim você pode:
Se a seqüência de conexão fica acinzentado e você recebe uma mensagem no canto inferior esquerdo que lê “Algumas propriedades não
podem ser alteradas porque esta conexão foi modificada usando o PowerPivot add-in”, você está muito atrasado. O dano já foi feito, e é
irreversível.
96 M é para (dados) do macaco
A notícia mais terrível sobre isso é que há apenas uma correção. Você deve:
1. Eliminar a mesa, incluindo quaisquer medidas e campos calculados que vivem nele, e depois
Se seus dados tenham sido carregados no Modelo de Dados de Energia Pivot do Poder Query, então você deve Nunca fazer qualquer um dos seguintes:
Qualquer uma destas acções irá imediatamente corromper o modelo, definindo a tabela em um estado não-atualizável na próxima vez que a consulta
Poder consulta é modificado. Tenha em mente que é seguro para executar o seguinte:
A regra básica é esta: Se você carregou seus dados de Poder Query, fazer todos as modificações a essa tabela em Power consulta. Se você
seguir esta regra, você nunca vai enfrentar o problema de corromper o seu modelo.
Capítulo 11 Tipos Definição de Dados 97
• Texto: Texto
• Objeto: Binário
• Indefinido: Qualquer
O verdadeiro assassino é no último tipo de dados. Qualquer é um tipo de dados variante que Power consulta vai usar para indicar que ele não tem certeza do tipo
de dados. O desafio aqui é que os dados definidos como Qualquer poderia tomar uma variedade de formas, quando está a ser carregado ou referenciado no futuro.
• Selecione uma célula na tabela de dados de Maio → criar um novo → consulta Da Tabela
• Curiosamente, cada coluna no conjunto de dados tem o mesmo tipo de dados, Qualquer, mas todos eles parecem diferentes. As datas parecem
que estão em formato de data / hora e os números parecem que são o tipo de dados Number. Então, qual é o problema? Siga estes passos para
descobrir:
98 M é para (dados) do macaco
Como você pode ver, o Excel não reconheceu a coluna Data como datas, mas sim colocados os números de série de data. Enquanto isto está facilmente
rectificado (através da formatação da coluna como datas), é indicativa de um problema mais grave.
• No painel a pasta de trabalho Consultas clique com o botão direito do Maio consulta → Carga Para ...
• Verifique a Adicionar a caixa de seleção Data Model (deixando a opção tabela selecionada) → carga → Continuar Depois de submeter
Figura 143 mudanças estranhas que ocorrem quando você adicionar os dados para o modelo de dados.
Esta é provavelmente uma das mais estranhas mudanças que você verá em Power Query. O simples ato de adicionar essa conexão com o Modelo de Dados de
Energia Pivot muda o campo de volta para uma data no Excel mesa ou não? Para ver se ele faz:
Não há mudanças! Na verdade, você pode aplicar qualquer estilo numérico para os dados na coluna A que você gosta, e isso não vai mudar isso. Os dados agora
está sendo tratado como texto, não como uma data em tudo.
E quanto dentro de Energia Pivot? Se você abrir Poder Pivot, você vê que os dados estão lá, e parece que um valor Data / hora válida. Mas quando
você seleciona a coluna, você pode ver claramente que o tipo de dados foi definido para texto. Isso certamente não vai ajudar na criação de um
relacionamento para a sua mesa calendário!
Capítulo 11 Tipos Definição de Dados 99
Figura 144 Datas que não estão realmente lançamento dentro Poder Pivot.
• Defina o item de estoque e vendido por colunas para um tipo de dados de texto
Se você agora verificar o modelo de mesa e Poder Pivot, você verá que tudo está a ser tratado como os tipos de dados que você esperaria.
Lembre-se que Power Pivot formata datas válidas em um formato Data / hora, com 0:00:00 sendo 0 minutos depois da
meia-noite da data prevista.
Desde que você já tem a consulta pode corrigido, agora você pode criar uma nova consulta para os dados de junho, sem tipos de dados e ver o que
acontece quando você anexá-las:
• No painel a pasta de trabalho Consultas botão direito do mouse a consulta junho → Append
Neste ponto, se você verificar o tipo de dados na coluna Data, você vai ver que é Qualquer:
100 M é para (dados) do macaco
Isso provavelmente não é muito surpreendente. Afinal, você começou com uma consulta onde a coluna Data foi definida como Qualquer, então acrescentar
algo mais a um Qualquer provavelmente deve render uma coluna com o mesmo tipo de dados. Você pode finalizar esta consulta e ver o que acontece se
• Ir para o painel a pasta de trabalho Consultas → botão direito do mouse a consulta pode → Append
Os dados certamente parece melhor, mas quando você inspecionar a coluna Data, ele ainda mostra como um Qualquer tipo de dados:
Figura 146 A coluna Data ainda mostra como um tipo de quaisquer dados.
Por agora é bastante claro que não importa em que ordem você acrescentar as consultas: Se os tipos de dados são incompatíveis entre os conjuntos,
eles serão convertidos para Quaisquer tipos de dados.
Agora você pode finalizar esta consulta e ver o que acontece se você corrigir o problema na tabela subjacente:
• Defina o item de estoque e vendido por colunas para um tipo de dados de texto
E agora você pode voltar para uma das duas consultas acréscimo para ver os efeitos. Não importa qual você escolher, você verá que os valores na
coluna Data mostram-se adequadamente definidos como tipos de dados Data.
Figura 147 O tipo de dados da data é agora aplicada à coluna da consulta de acréscimo.
Até recentemente, um exemplo disso foi a criação de um fim de mês de uma data. Mesmo que a coluna com a data foi devidamente formatado como
uma data, a função Month End retornou um valor que parecia uma data, mas era, de fato, um Qualquer. Embora esta questão específica é agora fixo,
não estão vinculados a ser ainda questões como esta à espreita no programa.
Além disso, há também certos comandos que não serão executados em colunas, onde o tipo de dados é definida como qualquer. Um tal comando é
o comando Substituir Valores, o que nem sempre vai encontrar certos valores. Se a coluna é convertido em texto, no entanto, as funções de
comando corretamente novamente.
Como você viu, o risco de ter seus dados definidos como um tipo Qualquer dados podem causar problemas em ambos Excel e Power Pivot, e estes
problemas podem se manifestar de diferentes maneiras. Lembre-se também que fixa as duas consultas pend ap- neste capítulo simplesmente mudando
o tipo de dados subjacente. O outro lado disso é que seria tão fácil de quebrar as coisas ao modificar uma consulta subjacente e fazer com que a
consulta final para tornar Quaisquer tipos de dados. Para a quantidade de esforço em comparação com a paz de espírito, é altamente recomendável que
você crie o hábito de definir tipos de dados para cada coluna como a etapa final de uma consulta de produção, mesmo se os tipos de dados foram
definidos anteriormente. Embora possa parecer entediante, lembre-se que é uma tarefa única para uma consulta que poderia ser executado novamente a
cada dia do ano.
102 M é para (dados) do macaco
Capítulo 12 Importação de dados Web 103
Poder consulta funciona muito bem quando os dados site são armazenados em tabelas, e na ocasião ele ainda permite que você acessar diretamente um arquivo
de texto que está segurando informações. Se os dados não está formatado com marcas de tabela no código HTML, no entanto, as coisas se tornam muito difícil,
mesmo se você tem algum conhecimento de HTML.
A fim de obter essa informação, você têm vindo a explorar o site da CIA World Factbook, e você se deparar com uma página web que lista
as populações dos países do mundo. Você gostaria de puxar esses dados em Excel para que você possa usá-lo com outras tabelas. Siga
esses passos:
• Clique OK
Existem várias opções pelo lado esquerdo da caixa de diálogo, permitindo que você escolha a partir do Windows ou autenticação básica, fornecer
uma chave de API Web, ou mesmo fornecer seu escritório 365 credenciais. O importante para você neste momento é a opção Anonymous.
A questão está a ser feita aqui é se você gostaria de usar essas credenciais para a página específica ou o domínio raiz. Embora existam algumas
vezes razões para escolher a página específica, as chances são que você provavelmente vai querer ficar com o domínio de na maioria dos casos
default-o de raiz. Assim, garantir que a primeira opção é selecionado e clique em Conectar.
Neste ponto, Poder consulta inspeciona o documento, olhando para as tabelas. Depois de ter trabalhado o conteúdo que ele reconhece, ele
envia-lo para o painel Navigator. Neste caso, há duas opções para escolher-Table 0 ou Documento:
104 M é para (dados) do macaco
Neste caso, o poder de consulta reconhece que o documento HTML contém uma tabela denotados por tags tabela no código da página. Ele apresenta que
a tabela para você em um formato fácil de usar. Se você selecionar a opção Documento, você vê que ele não parece quase tão bonita:
A realidade aqui é que ele vai ser muito mais difícil de extrair os seus dados através da interface de documento que através de uma
tabela.
Felizmente, os dados parecia muito bom na visualização da tabela de tabela 0. Já foi organizado em um formato de tabela bonito, com
cabeçalhos em lugar. Foi mesmo já classificados em ordem crescente, assim como era na página web. Seu objetivo real é para filtrar para obter
os 10 principais países, por isso siga estes passos:
A consulta está já concluída, para que possa finalizar-lo selecionando Início → Close & Load.
Capítulo 12 Importação de dados Web 105
Agora, se acontecer de você conhecer a URL para o arquivo de texto, você pode conectar-se diretamente a ele? A resposta é sim, e aqui está como funciona:
• Clique OK
Observe este tempo que você ignorar a etapa de autenticação site. A razão para isto é que você especificou que
queria as configurações de autenticação para aplicar para o site raiz (www.cia. Gov) quando criou a consulta anterior.
você não tivesse feito isso antes, você teria sido solicitado a fornecer o método de autenticação.
Com base nos dados que você voltar, você pode assumir que os cabeçalhos das colunas não são armazenados no arquivo de texto, mas sim foram fornecidas
pelo HTML da página web. Isso não é grande coisa, porém, como você pode corrigir isso para fazer os seus dados consistente com a experiência anterior:
Parece que a data da estimativa também foi fornecido pela página HTML, não o arquivo de texto, mas desde que isso não é um grande negócio para você, você
não está preocupado com isso. A coisa verdadeiramente importante aqui é que você posso conectar diretamente para um arquivo hospedado na web sem passar
por toda a interface de página da web. . . se você sabe onde ele está.
106 M é para (dados) do macaco
O truque para isso é primeiro expandir o < classe html tag no topo. Você, então, mouse sobre cada flecha e ver o que ele destaca na janela do
documento principal. Quando o realce de cobre a sua mesa, você expandir esse elemento clicando na seta que aponta certo. (Neste caso,
<body> precisa ser ampliado.) A seta, em seguida, gira para baixo, expondo mais elementos, e você continuar o processo até encontrar os
seus dados. Em seguida, você expandir <div class =”main-block”> e depois <section id =”main”> e, em seguida, a segunda classe div, e assim
por diante.
Se você acidentalmente viajar em um buraco que não tem seus dados, você voltar para um nível acima e recolher esse bloco de código clicando na
seta. Este gira a seta para trás a partir apontando para baixo para apontar para a direita, e ele recolhe os elementos contidos dentro dessa tag.
Depois de ter navegado através do processo e encontrou seus dados, você pode começar a segunda parte dolorosa: replicar a navegação no
Poder Query. Aqui está o que você faz:
• Digite o URL que você usou para o primeiro exemplo: https://www.cia.gov/library/publications/the-world- factbook / rankorder /
2119rank.html
Você está agora a olhar para este ponto de vista bastante hostil no editor de alimentação Inquérito:
Agora você precisa para replicar com muito cuidado os passos que você tomou na interface web developer, perfurar elemento da tabela
correspondente do Poder Query. Existem alguns paralelos entre os dois programas para ajudar, mas, mesmo assim, é fácil se perder.
O truque para navegar este processo é reconhecer que o campo Nome em Power consulta contém o elemento mostrado nas ferramentas de
desenvolvimento web. Neste caso, você tem HTML, e no Chrome que viu < classe html no topo. Esses dois itens são o mesmo.
agora você vê as tags cabeça e do corpo. Com base no HTML você expandiu, você sabe que você precisa furar a tag Corpo. Você
clique na mesa lá e continuar.
O assassino com este processo é que, no HTML, as tags todos têm nomes, mas em poder de consulta que você não vê-los, por isso é muito fácil de se
perder. Além disso, a caixa de Passos Aplicadas não traçar a rota; ele simplesmente continua combinando passos juntos, dando-lhe nenhuma maneira para
fazer backup de um nível. Quando isso acontece, o seu único recurso é começar tudo de novo desde o início.
E como se isso não bastasse, no final deste processo de navegação, você acaba extraindo colunas para perfurar o detalhe, e ele acaba
empilhados em uma mesa vertical:
Os passos para fazer esta tabela para um agradável limpa estão além do escopo deste capítulo, por isso estamos indo para abandonar esta
abordagem neste momento. (A certeza, as etapas estamos coberto, simplesmente não até o capítulo 15.) As etapas para concluir este processo têm,
no entanto, foram salvas no exemplo concluído, o que pode ser encontrada em CH12 Exemplos \ Importação de dados Web - Complete.xlsx. Esta
consulta particular foi salvo como o- Hardway. Mesmo com essa consulta para rever, você precisa reconhecer que a etapa de navegação foi gerado
como documentado abaixo.
108 M é para (dados) do macaco
• Corpo (linha 3)
• DIV (linha 4)
• A 1ª DIV (linha 4)
• SECÇÃO (linha 2)
• ARTIGO (linha 4)
• DIV (linha 4)
• TBODY (linha 2)
Se você seguir este drill-down com cuidado, você vai ver que você perfurado em exatamente o mesmo lugar como exibido na etapa de
navegação da consulta TheHardWay, e você pode seguir o restante das etapas até o fim. O trabalho de perfuração no documento HTML posso ser
feito, que é melhor do que a alternativa. No entanto, não é para os fracos de coração e pode ser um processo extremamente frustrante.
A experiência de Web é certamente uma fraqueza em outra forma incrível arsenal de ferramentas de poder Query. Há várias coisas que
esperamos poderia ser melhorado nessa área, e há coisas que atente para que você desenvolver soluções com base em dados da web.
Nenhum dos fatores discutidos abaixo deve ser visto como razões para não desenvolver soluções com base em dados do site. Em vez disso, eles têm a
intenção de se certificar de que você entrar nesta área com os dois olhos abertos, vendo não só os benefícios mas também os riscos de depender de dados
web-sourced que você não controla.
Compare isso com clássico → Dados do Excel A partir da experiência Web, que começa um navegador web que permite navegar na web para encontrar os
dados que você está procurando. O poder de consulta não lhe dá esta facilidade, mas em vez deixa-lhe navegar páginas da web usando um navegador
diferente.
Em si mesmo, isto pode não parecer um grande negócio, exceto para a questão que é muito difícil dizer se os dados que você está vendo no navegador
da web está em uma tabela-e fácil de usar ou não, sem olhar para o código . O desafio aqui é que você vai pegar a URL promissor, soltá-lo na interface
do Poder Query, e depois gastar uma enorme quantidade de colunas de hora em expansão, perseguindo cada rota no buraco do coelho de tags HTML,
tentando encontrar os dados que você' re procurando. Mesmo se você entender as ferramentas de depuração web, ele ainda não faz o trabalho fácil.
Porque prós Excel não são desenvolvedores web, isso é realmente uma carga desnecessária que está sendo colocado sobre eles.
Capítulo 12 Importação de dados Web 109
Idealmente, esta experiência deve lançar um navegador web, permitem que você navegue até a página e selecione o intervalo de dados que você gostaria de
importar e, em seguida, fazer o trabalho de pé de quebrar o código HTML para baixo para fazer isso por você. Até que acon- tece, no entanto, a importação de
dados que não são formatados de uma forma tabular continuará a ser difícil.
Integridade de dados
Outra grande preocupação com os dados web é a fonte e integridade dos dados. Seja cauteloso de conexão e importação de dados de sites como o
Wikipedia ou outros sites que você não tem um relacionamento comercial com. Enquanto demos gostam de usar Wikipedia como um grande exemplo, a
realidade é que confiar neste site pode ser perigoso. O conteúdo é comissariada, mas também pode ser alterado pelos usuários. Embora o local faz um
grande esforço para a curadoria de dados, as informações lá está longe de ser perfeito e não pode ser inteiramente factual.
A outra questão é quão prontamente os dados são atualizados. Imagine que investir tempo na construção de uma consulta complicado contra uma página web,
apenas para descobrir que o proprietário / curador não atualizá-lo em tempo hábil. Você precisa ter certeza de que quando você atualizar os dados, a rotina
não é meramente refrescante dados out-of-date, mas sim que é dados atuais refrescantes. É provável que você investir uma quantidade significativa de tempo
e tomar decisões de negócios, assumindo que a última atualização que você fez puxou os dados mais recentes.
Estabilidade solução
Há uma outra preocupação muito real ao construir sua lógica de negócios contra as fontes da web que você não possui ou controla. Como sua
empresa, qualquer outra empresa que fornece esses feeds e páginas quer para melhor atender seus clientes. Infelizmente para nós, isso não
significa que eles estão interessados em colocar para fora uma experiência consistente que nunca muda. Na verdade, o oposto é verdadeiro. Eles
também estão tentando atualizar as coisas, mudar as páginas da web para adicionar novos sinos ou assobios, ou fazer os locais mais atraentes para
o olho humano. Isto tem o efeito colateral muito real de sopro consultas à parte, geralmente sem aviso prévio, e muitas vezes quando você não tem
tempo para corrigi-los.
110 M é para (dados) do macaco
Capítulo 13 Carregando dados do Exchange 111
acessível de dados
Há cinco aspectos principais que você pode se conectar em seu banco de dados do Exchange:
• Enviar
• compromissos do calendário
• Pessoas
• tarefas
• solicitações de reunião
Cada um destes pode ser puxado para poder Query, limpo e se transformou em uma mesa, e depois serviu-se a uma tabela ou o Modelo de Dados de Energia
Pivot.
Infinitas possibilidades
De extrair e combinar detalhes de contato para consultas e e-mails, a verdadeira questão hoje não é E se
você pode usar esse recurso, mas como. Talvez você precise de um painel de interação que você teve com um cliente, ou que você precisa para rastrear quem
respondeu a um e-mail importante que você enviou. Há uma tonelada de informações valiosas sentado em sua caixa de entrada que você agora tem acesso a de
uma maneira que você nunca fez antes.
Construir um Painel-mail
Para este exemplo, você vai assumir o papel de proprietário de um site para ver como anteriormente inútil e-mail pode ser transformado em algo
interessante. Enquanto você não será capaz de replicar as etapas deste capítulo se (são
112 M é para (dados) do macaco
específico para caixa de entrada do proprietário do website), você verá o processo usado para retirar informações-chave para fora de e-mails não lidos
anteriormente para dirigir um painel.
Para começar, você precisa para se conectar ao Microsoft Exchange. Isto é feito através do seguinte processo:
• Clique em Permitir quando você for solicitado para permitir que o Serviço de Descoberta Automática do Exchange
Este serviço é configurado pelo seu departamento de TI e precisa ser confiável, a fim de acessar o servidor Exchange. É tipicamente já
instalado e configurado para permitir que telefones celulares para acessar seus e-mails remotamente.
Após um pequeno atraso enquanto o poder de consulta conecta ao servidor Exchange, você é levado para uma janela Navigator.
Nunca clique no botão Carregar depois de escolher a mesa de correio no Navigator. Você vai estar à espera de um longo tempo em que carrega o seu inteira
caixa de entrada!
A fim de reduzir o número de e-mails para pesquisar, você derrotou os e-mails relevantes para uma pasta por meio de uma regra. Isso significa que você
precisa filtrar a coluna Caminho da pasta, a fim de localizar apenas os e-mails que foram encaminhadas para essa pasta específica. Curiosamente,
quando você tenta definir o filtro, a pasta relevante é não listados:
Capítulo 13 Carregando dados do Exchange 113
Se você alguma vez encontrar-se que os valores que você está certo deve ser na coluna simplesmente não estão lá, olhar para a carga mais opção na parte
inferior direita. Por padrão, esta lista é reduzido para a quantidade limitada de dados mostrando na pré-visualização, mas clicando no Coloque mais botão abre
todas as pastas na caixa de entrada.
Quando a lista é exibida na íntegra, você selecionar a pasta correta, ea lista de e-mails é filtrada para mostrar apenas aqueles de interesse-os e-mails de
comissões auferidas a partir de uma fonte da filial específica:
Enquanto eles não aparecem na imagem, uma enorme variedade de colunas estão incluídas com e-mail, incluindo os campos úteis como Para,
CC, remetente, anexos, e muito mais. Para os fins deste painel, no entanto, apenas os campos Data- TimeSent e corpo são necessários. Por
essa razão, você seleciona as duas colunas e usar a remover outras colunas comando para remover os dados irrelevantes:
A parte interessante da coluna corpo é que ele é cheio de registros, que você pode pensar de como as células individuais de uma tabela. Quando isso
acontece, esses registros contêm algumas informações muito interessantes no corpo do e-mail. Você também pode ver a seta de expansão no canto
superior direito da coluna corpo, o que significa que é possível expandir esses registros em uma coluna. Se o fizer, dá-lhe uma outra opção: a escolha
entre TextBody e HTMLBody. Desde trabalhar com texto é muito mais fácil do que trabalhar com HTML, normalmente você vai optar por expandir
TextBody e só então limpo e aparar os registros resultantes. O resultado é um conjunto de dados consistente, que pode então ser adicionalmente
limpo:
Neste ponto, o corpo de e-mail pode ser pared para baixo o e-mail para obter a única parte do interesse real: o dinheiro. Uma das grandes coisas sobre o
Poder de consulta é a janela de visualização que aparece quando você seleciona qualquer célula na grade de energia Query. Não apenas você pode ver
os dados, você pode selecionar os dados nessa janela e copiá-lo. Ao invés de dividir pelo sinal $ e tem que remover uma coluna depois ou digite uma
enorme quantidade de texto na janela de substituir, porque não basta substituir o texto levando com nada? Para fazer isso, siga estes passos:
• Clique OK
Figura 164 A coluna TextBody agora começa com a parte-a importante dinheiro.
Em seguida, você precisa se livrar da porção após o dinheiro. A realidade, porém, é que você não tem certeza se o resto do e-mail é consistente,
como você perdeu o interesse e parou de ler depois que você viu os sinais de dólar. O que você sabe é que depois de cada valor em dólares há um
espaço. Então você apenas dividir com base no espaço mais à esquerda na coluna e remover a coluna posterior.
Depois de definir os tipos de dados e renomear as colunas, você é deixado com dados que parece muito melhor:
Capítulo 13 Carregando dados do Exchange 115
Figura 165 Data provenientes de e-mail, limpo e pronto para ser usado.
O passo final para esta fonte de dados é carregá-lo para o Excel e criar um gráfico dinâmico a partir dele:
Figura 166 Um gráfico de rastreamento de lucro construída a partir de e-mail anteriormente inútil.
Considere o impacto aqui, onde você esteve coletando esses e-mails para a maior parte de dois anos e nunca lê-los. De repente, eles
agora têm valor comercial. Esses e-mails podem ser usados como parte de um painel de e-mail para analisar a rentabilidade de uma
das fontes de renda que suporta o seu site.
portabilidade
A primeira coisa que você precisa para ter em conta é o tempo que esta solução se destina a sobreviver e se teremos de passá-lo para outro usuário. Por
quê? Porque você está direcionando sua própria conta de e-mail. Construindo uma solução contra a sua conta de email fechaduras-lo para baixo para que
só você pode usá-lo. Ele não pode ser compartilhada, e é difícil para a porta para outros mais tarde, já que os arquivos de origem para a solução (e-mails,
anexos, e assim por diante) estão em sua caixa de entrada. A realidade é que, se você deixar a organização, voluntariamente ou não, a solução
provavelmente irá tornar-se inútil para os outros. E se você ficar e ser promovido, você vai ser preso atualizar a solução que está vinculado a sua conta de
email.
Se você pretende usar a solução para um período mais longo, ou ele serve outros usuários, pode ser melhor para tentar descobrir como extrair os dados
da caixa de entrada em primeiro lugar e construir a solução contra essa fonte. Por e-mail mentos attach-, que é bastante fácil: basta salvá-los em uma
pasta. Para o próprio e-mail, pode não ser prático, e talvez Poder consulta é o método a utilizar para extrair os e-mails e arquivá-los em outro formato.
Independentemente disso, você deve definitivamente dar um pouco sobre um plano de sucessão para a sua solução, uma vez que começa a ser
reutilizada.
atuação
A outra consideração importante que você deve levar em conta é o desempenho, incluindo velocidade.
116 M é para (dados) do macaco
Vamos enfrentá-lo: A maioria de nós não manter as caixas de entrada de e-mail extremamente organizados. Em vez disso, eles são enormes baldes de email
abrangendo volta às vezes meses, mas mais frequentemente anos. Como resultado, a recuperação de dados do Exchange pode ser muito lento.
A solução para isso é usar regras para reencaminhar e-mails importantes em subpastas. Quando as subpastas contêm apenas os dados relevantes,
recuperação, transformar e carregar o produto acabado vai acontecer muito mais rapidamente.
Capítulo 14 Agrupamento e resumindo 117
Poder consulta adiciona um outro conjunto de ferramentas que você pode usar para rapidamente grupo e resumir dados. Curiosamente, ele ainda lhe dá a
capacidade de remover rapidamente colunas extras, diluindo, assim, o conjunto de dados a um nível ageable verdadeiramente pelo homem.
aplicando Agrupamento
Para demonstrar como agrupar obras no Poder consulta, considere o caso de um fabricante T-shirt que tem proporcionado esta tabela de dados:
Conectando-se a Dados
Comece por carregar seus dados em poder de consulta:
Você tem agora a sua mesa em um estado bom, pronto para agrupar e resumir os dados:
Nesta interface, você tem a capacidade de definir os itens que você deseja agrupar por, bem como a forma como você gostaria que eles agrupados. Poder
consulta começa com apenas a coluna Data do Grupo por seção. Se você deixou que a definição de como é, você não teria os dados discriminados por data
e ChannelName, então você precisa para mudar isso:
Em seguida, você precisa determinar como deseja que os dados agrupados. Porque você está olhando para um total de todos os Nels Chan-, bem como um
total dos produtos por canal, você precisa seguir os seguintes passos:
• Clique OK
Capítulo 14 Agrupamento e resumindo os dados são agrupados para 119
Observe que o recurso de agrupamento funciona muito bem para se agrupados os seus dados, e você pode ter vários níveis empilhados muito
facilmente para ambos os níveis de agrupamento e cálculos. Você pode agregar os dados de diferentes maneiras aqui também, incluindo linhas de
contagem, contando linhas distintas, ou realizar operações de soma, média, mediana, Min ou Max.
Como um bônus adicional, o recurso Agrupar remove todas as colunas que não foram especificados no Grupo Original de seção na parte superior da caixa
de diálogo. Isto poupa-lhe o passo de remover as colunas desnecessárias antes ou após a operação estiver concluída. Agora você pode carregar esses
Duplicando Queries
A fim de conseguir seu objetivo, você realmente precisa para modificar e adicionar alguns passos para a consulta original. Ao invés de potencialmente
quebrá-lo, não é uma má idéia para criar uma cópia para trabalhar. Isso dá-lhe um plano de fallback se as coisas não funcionam do jeito que você queria:
Agora você tem uma cópia exata da consulta anterior que podemos carregar para a pasta de trabalho:
• Clique OK
Isso adiciona uma coluna de tabelas para sua consulta. Estas tabelas, no entanto, são bastante especial. Eles contêm os detalhes de quais linhas
da etapa anterior foram resumidos no fim de chegar com os totais de cada linha!
A Figura 173 um auge em que linhas foram usadas para gerar os valores agrupados.
Seu objetivo aqui é trabalhar para fora o item vendas mais vendidos para cada dia. É possível identificar que, olhando para o valor mais alto na coluna
montante mostrado na pré-visualização para cada tabela. Mas como você extraí-lo? A resposta é chegar a uma coluna personalizada e usar uma
fórmula. Para fazer isso, siga estes passos:
Vamos círculo de volta por um momento e olhar para o que aconteceu primeiro e depois olhar para o que você tem com ele. A fórmula usada
examina uma tabela e extrai o valor máximo da coluna de dado. Para os parâmetros, você fornece a coluna [Detalhes] da consulta, como que
contém as tabelas que serão examinados. A coluna dentro dessa tabela, uma quantidade, em seguida, foi fornecida, entre aspas como a função
requer. Ao contrário de fórmulas anteriores que você já viu, no entanto, esta função não retorna apenas o valor. Ele retorna um registro. Isso é
fantástico, porque o registro não só segurar o valor máximo. ele mantém todos dos detalhes que vão com esse ponto de dados.
Além disso, você pode expandir a coluna MaxRecord usando as setas de duas pontas no canto superior direito para obter os componentes
individuais em colunas:
O resultado é que agora você tem uma tabela que resume as vendas por data e Canal e mostra claramente o item mais vendido, bem como a
sua contribuição:
Figura 175 Os dados agrupados por data e Canal com detalhes topseller.
Há apenas uma coisa a fazer: trabalhar a percentagem que o vendedor superior representa do total de vendas diárias. Isso é facilmente
realizado com um cálculo simples:
Não deixe que o hash marcas e citações bagunçar tudo aqui. A maneira mais fácil de construir a fórmula é clicando nos nomes de campos
no lado direito, e Poder consulta irá colocá-los para você. Você vai aprender mais sobre por que elas aparecem quando você ler o capítulo
21.
O resultado é um pouco feio, com alguns números que mostram sem decimais, alguns mostrando um, e outros mostrando uma tonelada. Você pode
arredondar-los muito facilmente:
• Selecione o TS% da coluna Vendas → Transformar → arredondamento → Rodada ... → 2 Certifique-se de retornar à guia Transform para realizar
esta operação. Se não o fizer, Poder consulta criará uma nova coluna para você, e você vai ter que remover a coluna anterior manualmente. Os
resultados são muito bem arredondado para você, mas eles mostram como valores decimais como 1, 0,66, e assim por diante. Eles cer- tainly não
mostram como boas percentagens, mas tudo bem. Você pode carregar a consulta para uma tabela do Excel e aplicar um estilo percentual para a coluna
de lá. Como você pode ver, isso fica ao seu objetivo original:
122 M é para (dados) do macaco
estilos de número aplicados para uma estadia coluna da tabela no lugar depois de uma consulta Poder consulta é atualizado.
Capítulo 15 Transposição e Unpivoting dados complexos 123
Ao trabalhar com dados do mundo real, os profissionais do Excel muitas vezes encontramos dados que precisa ser tratada em uma variedade de maneiras.
Enquanto unpivoting é extremamente comum, de vez em quando você pode precisar de reverter esse processo e os dados pivô antes de fazer transformações
mais complexas. Outra técnica que pode ser extremamente útil é a transposição dados-por exemplo, invertendo dados que é colocado para fora de uma forma
vertical e de modo que é mostrada na horizontal (ou vice-versa). Ambas as funções são, felizmente, construído na interface de usuário de energia de consulta e
pode ajudar na transformação de dados em tabelas úteis.
O que torna este problema mais desafiador do que um UNPIVOT padrão? É o nível adicional de ter o mês com o tipo de
medida.
Quando você UNPIVOT, os dados são desagregados, usando os nomes das colunas como pontos de dados. Mas o que deveria os nomes das colunas estar
aqui? Se você promover a segunda linha de cabeçalhos, você perderá algumas informações-chave sobre o mês. Ele só não vai funcionar.
Mas não é certamente uma maneira de UNPIVOT esses dados; você só vai precisar usar um pouco de imaginação e alguns truques mais avançados.
Carregar os dados
Para este exemplo, você vai UNPIVOT a demonstração financeira encontrada em CH15 Exemplos \ UNPIVOT Sub Categories.xlsx:
Você começa a carregar os dados em poder de consulta. Você pode fazer isso através da criação de um intervalo nomeado, como você realmente não quer
bloquear os cabeçalhos das colunas com uma mesa. Siga esses passos:
124 M é para (dados) do macaco
Consulta de energia é aberta, mostrando-lhe uma visão, mas informativa pouco feio dos dados:
Agora você tem que descobrir o que você vai fazer com isso. Você pode começar por olhar para Column1.
Encher verticalmente
Você não pode se livrar de Column1 porque contém informações que indicam se a conta é uma classificação receita ou uma classificação
despesa. O problema é que a classificação conta não existe na mesma linha como a descrição da conta e valores. Isto significa que você precisa
encontrar uma maneira de obter a classificação para preencher para baixo no nulo áreas.
Quando isso acontece, isso é exatamente como Preencher abaixo comando do Poder consulta funciona:
comando de preenchimento para baixo do poder Consulta preenche o valor acima em qualquer célula que é nulo, mas não substituir quaisquer outros dados. O
comando Fill Up funciona da mesma maneira, mas enche-se em vez de para baixo.
Uma célula em branco não é a mesma como um nulo. Se você precisa preencher em áreas em branco, você deve substituir os dados na coluna,
pedindo para substituir um valor vazio (deixe o campo em branco) com nulo. Poder consulta irá converter o nulo com base em texto para nulo.
Capítulo 15 Transposição e Unpivoting dados complexos 125
Agora você precisa de uma estratégia para lidar com os cabeçalhos das colunas. Eles parecem ter o mesmo problema, com abril de estar em
Coluna3 e faltando Column4 e Column5. Infelizmente, não há comando direito Preencha Poder Query. Então, como você lida com isso?
dados de transposição
Para preencher dados para a direita no poder Query, você deve transpor a mesa, lançando-o em sua orelha:
A vista muda drasticamente, com os cabeçalhos das colunas anteriores agora tornar-se linhas e vice-versa:
Isso abre um par de características úteis. Uma das questões que você tinha anteriormente é que você não poderia preencher direita, mas agora você pode
preencher para baixo em Column1. Além disso, o principal desafio com unpivoting dados subcategorizadas é que você tem que UNPIVOT com base nos nomes
das colunas, o que significa que você não pode usar duas linhas de nomes de coluna para executar a tarefa. Mas e se você tivesse que mesclar temporariamente
Column1 e Column2, resultando em um único cabeçalho? Experimente para ver o que acontece:
A razão de você usar um | personagem é que este personagem é raramente encontrada no conjunto de dados média. Isto significa que você
pode usar este personagem depois, confiante de que você não está indo para escolher acidentalmente um personagem que já existia nos dados.
Você agora tem uma única coluna de rótulos que você pode usar para cabeçalhos:
Unpivoting Dados
O resto do processo é bastante simples e padrão para um cenário UNPIVOT:
• Filtrar a coluna Conta para remover nulo valores
Finalmente, é necessário dividir a coluna Atributo de volta para suas respectivas peças e limpar os cabeçalhos das colunas:
• Botão direito do mouse na coluna Atributo → Dividir Coluna → por delimitador → Personalizado → | → OK
• Selecione o Class, Conta, Mês e Medida colunas → botão direito do mouse → Alterar tipo → Texto
método Recap
Como você viu neste capítulo, o processo para unpivoting subcategorias envolve o seguinte processo de oito passos:
1. Carregar os dados.
2. transpor os dados.
3. Encha o título principal em áreas nulos.
No entanto, a fim de reconstruir a tabela dinâmica, por isso é colocado para fora de forma consistente com os dados originais, você também precisa fazer as
seguintes modificações:
• Vá em Ferramentas de Tabela Dinâmica → Projeto → Subtotais → Mostrar todos os subtotais na parte inferior do Grupo
• Botão direito do mouse em qualquer célula valor → Format Configurações do Campo de Valor → Número
Neste ponto, você deve ter replicado o relatório original para que fique como mostrado abaixo:
Figura 186 Os dados originais, reconstruídos por meio de uma tabela dinâmica.
Neste cenário, você precisa essencialmente de transpor cada bloco de dados, então empilhar os blocos em uma tabela de altura. A questão, porém, é
que o poder de consulta realmente não tem um comando de out-of-the-box para fazer isso. Se você transpor a mesa, você vai ter uma linha de dados e
um grande número de colunas ao invés de ficar cada registro transposta individualmente a maneira que você precisa.
Mais uma vez, obter o resultado que você quer é inteiramente possível, mas requer um pouco de criatividade e alguns truques.
Carregar os dados
Neste exemplo, você irá transpor a lista de transações de cartão de crédito encontrados em CH15 Exemplos \ Transposição Stacked Tables.xlsx:
Antes que você possa fazer qualquer outra coisa, você precisa para obter os dados em poder de consulta:
Os dados está agora pronto para você, e é hora de descobrir como abordá-lo.
• Ir para Adicionar Coluna → Adicionar Índice Coluna → De 0 Neste ponto, você tem
Você está atualmente com um número que indica a linha de dados numéricos no arquivo. O que nós realmente queremos é um número que corresponde a cada
linha da transação. Em outras palavras, a data da transação deve ser sempre 0, o fornecedor 1, e assim por diante. Para conseguir isso, você precisa adicionar
uma coluna modulo.
Antes de fazer isso, você precisa de uma peça-chave da informação da tabela: Você precisa saber o valor na primeira linha do
segundo registro. Neste caso, o valor que você está procurando é de 6, como mostrado na coluna Index. (Power consulta começa a
contar a partir de 0, não 1.) Esse número vai ser o fator para o cálculo modulo. O módulo essencialmente converte um valor, subtrai o
múltiplo mais próximo do factor a partir do valor previsto, e retorna o resto. Então, se o valor é 8, o módulo subtrai 6 e devolve o resto,
que é
2. Experimente:
• Ir para Adicionar Coluna → De Número → Padrão → Modulo → 6 Agora você tem uma
Figura 190 Agora você tem um número de linha da transação para cada item.
Isso parece interessante, mas por configurá-lo em primeiro lugar? A resposta reside na solução para este conjunto de dados.
130 M é para (dados) do macaco
Girando a dados
Quando você tem uma lista de repetir os números de transação como você faz neste exemplo, você pode girar-los. Ele vai olhar um pouco feio no início, mas
você vai ver como incrível este realmente é.
• Selecione a coluna inserida Modulo → Transformar → Coluna Pivot Agora vem a parte
Por padrão, quando você perguntar para girar uma coluna, os valores dessa coluna será usada como cabeçalhos das colunas. Poder de consulta, em seguida,
pede que valoriza você quer nos valores (ou corpo) Área dos dados articuladas definidos. O truque aqui é que o relacionamento de dados geralmente é feito para
resumir os valores, e você não está interessado em fazer isso. Você quer que os valores originais, por isso siga estes passos:
• Clique OK
• Selecionar colunas 0 a 3 → botão direito do mouse → Retirar outras colunas Agora você tem um conjunto de dados que foi
Figura 193 A transformação de tabelas empilhadas para dados úteis é quase completa.
A última coisa a fazer para esta consulta é oferecer melhores nomes de coluna e definir os tipos de dados. Assim que isso é feito, você está acabado!
é finalmente transformados:
método Recap
Este é o processo de transposição e girando uma única coluna de dados:
1. Carregar os dados.
3. Adicionar um módulo coluna, utilizando o valor que indica o primeiro valor no segundo conjunto de dados.
Cada um trabalha de forma diferente e tem suas próprias vantagens e desvantagens, como você verá neste capítulo.
Isso inicia o seguinte diálogo, onde você pode marcar a caixa para atualizar a consulta quando o arquivo é aberto:
fundo Refrescante
Na caixa de diálogo Propriedades de conexão, observe que a caixa de seleção Ativar actualização em segundo plano é selecionada por culpa de-. Esta
configuração permite que você especifique se você gostaria de continuar a trabalhar no Excel enquanto os dados refresca. Se você desmarcar esta caixa, você
pode diminuir potencialmente a quantidade de tempo que leva para atualizar sua solução, mas você também vai bloquear a interface do usuário, o que significa que
você não será capaz de fazer outras coisas até que esteja completo. Se você quiser impedir que os usuários trabalhar com os dados até que esteja totalmente
atualizado, você quer desabilitar essa configuração. Se você precisa fazer outras coisas enquanto você espera, no entanto, essa configuração é melhor deixar
sozinho.
134 M é para (dados) do macaco
Tenha em mente que a pasta de trabalho precisa ser aberto para que essa atualização para ocorrer. E se você estiver indo para ser agendar atualizações
freqüentes, enquanto você está trabalhando ativamente na pasta de trabalho, você vai querer certificar-se da configuração Habilitar Atualização fundo está
marcada.
Os valores válidos para essa configuração executado a partir de 1 a 32.767, o que significa que você pode atualizar uma vez a cada minuto até uma
vez a cada 22,75 dias.
O primeiro é bastante auto-explicativo, e marcando a caixa para isso vai mudar o comportamento da pasta de trabalho para fazer exatamente o que diz:
atualizar os dados cada vez que você abrir o arquivo. Isso ajuda a garantir que seus dados é sempre up-to-date, quando você começar a trabalhar com o
arquivo.
Se você tem um número significativo de fontes de dados, ou se os dados leva uma quantidade significativa de tempo para refrescar, então ele pode ser uma boa
idéia para deixar a configuração de atualização Background Ativar habilitado para que você possa usar a pasta de trabalho enquanto a atualização está ocorrendo .
A segunda opção nesta seção controla se para salvar os dados na pasta de trabalho, ou apenas a consulta defini- ção. Esta configuração é realmente
uma configuração de segurança, uma vez que assegura que os usuários tenham acesso à fonte de dados quando abre o livro. Se não o fizerem, eles
serão recebidos por uma tabela em branco, como a conexão não pode ser atualizado. Se eles têm acesso, a consulta será executada e trazer os dados.
Há atualmente um bug em todas as versões do Excel que afeta a última opção. Se você abrir o Excel e abra a pasta de trabalho, a
consulta será atualizada, e os dados serão carregados. Se você, em seguida, fechar o livro e reabri-lo (sem fechar Excel), os dados
não será atualizada automaticamente. Fechando Excel corrige o problema.
Se você estiver trabalhando puramente em uma instância área de trabalho Excel, no entanto, há momentos em que você pode querer dar um usuário uma maneira
fácil de usar e óbvia para atualizar suas soluções de consultas de energia. Isso pode ser feito através de gravação de macros VBA.
Nesta planilha que você vai encontrar uma mesa de Transações, bem como uma tabela dinâmica. Diga que você gostaria de criar uma macro para atualizar a
tabela de transações e, em seguida, a tabela dinâmica. Para fazer isso, você pode gravar uma macro simples, utilizando os seguintes passos:
Se você não vê a guia Desenvolvedor, clique direito em qualquer guia na fita e escolha Personalizar Ribbon. Marque a caixa no
lado direito, ao lado do desenvolvedor, e clique em OK.
Depois de clicar neste botão, Excel começa a gravar cada planilha clique, todas as teclas, e cada erro que você faz. Siga
os passos abaixo com precisão para ter certeza de obter uma macro limpo!
agora você vê a caixa de diálogo Macro, que permite que você veja o que macros estão em seu arquivo e executar qualquer um deles. Seleccione a macro-lo pode
ser a única atualização que você tem e clique em Executar:
Quando você executar a macro, você pode ver que as atualizações da tabela Transações, seguido pela tabela dinâmica. (Claro, isso seria mais óbvio se os
dados foram alterados, mas a fonte de dados é estático.) Tão grande como este é, o envio de seus usuários de volta para o guia do desenvolvedor para
executar a macro em uma base regular é um pouco assustador. Ao invés de fazer isso, por que não dar-lhes um botão para atualizar a macro? Siga esses
passos:
• Mantenha pressionado o botão esquerdo do mouse → arraste para baixo e para a direita → soltou o rato O diálogo Assign
• Renomeá-lo Atualizar
Agora você tem um, novo botão agradável, brilhante, tudo pronto para usar:
Vá em frente e clique no botão Atualizar e deleitar-se com o fato de que qualquer usuário pode agora atualizar sua consulta.
Se você precisar editar o botão, clique com o botão direito do mouse. Quando as pequenas bolhas brancas cercá-lo, é no modo de design e
pode ser modificado. Selecione uma célula na planilha para remover as alças de seleção e colocá-lo de volta no modo ativo.
Atualizar
'' ActiveWorkbook.Connections ( "Consulta de Força - Transactions") Atualizar.
• As primeiras quatro linhas após a linha Sub Refresh () são simplesmente observações, para que você realmente não precisa para mantê-los.
Sub Refresh ()
ActiveWorkbook.Connections ( "Power query - Jan2008"). Refresque ActiveWorkbook.Connections ( "Power
query - Feb2008"). Refresque ActiveWorkbook.Connections ( "Consulta Power - Mar2008"). Refresque
ActiveWorkbook.Connections ( "Poder de consulta - Transactions") .Refresh Worksheets ( "Transações").
Tabelas Dinâmicas ( "PivotTable1"). _
O espaço e caracteres de sublinhado são os caracteres que você usa para indicar uma quebra de linha no código VBA. O código será
executado igualmente bem se a linha PivotCache.Refresh permanece na mesma linha como folhas de cálculo ( “Transacções”). Tabelas
Dinâmicas ( “PivotTable1”). Apenas certifique-se de que não há espaço entre o ponto no final da primeira linha e PivotCache.Refresh.
Você pode ver que você precisa remover os comentários do código desnecessários em primeiro lugar. Depois que você simplesmente injetar novas
linhas, a fim de atualizar as conexões específicas na ordem em que você quer que eles refrescado. Além disso, especificando Worksheets (
“Transacções”) no lugar de ActiveSheet, você elimina a necessidade de selecionar a tabela dinâmica, e você também garantir que você está sempre
atualizando a tabela dinâmica na planilha Transações.
Esteja ciente de que as conexões podem ou não incluir o nome Consulta poder. Estes nomes devem corresponder aos nomes que são mostrados na caixa de
diálogo Conexões de pasta de trabalho, como mostrado abaixo:
No meio do verão 2015 Microsoft decidiu rebrand (ou DeBrand) Fonte de consulta, devido à preocupação de que o termo Poder usuários
medo de distância do conjunto de recursos. Para este fim, as consultas que você criar, hoje, não são prefixados com “Consulta Power -”
como elas são no diálogo acima.
Quando você clica no botão Atualizar agora, cada atualização consulta é expulso por sua vez, e a tabela dinâmica é atualizada.
Uma coisa a ter em conta é que você não podes guardar o livro no formato XLSX uma vez que você tem uma macro dentro dela. Em vez
disso, você precisa guardar o livro no formato XLSMor xlsb para preservar as macros. Desta forma, os usuários obtêm uma mensagem de
aviso de segurança de macros quando abre o livro antes que eles possam usar o botão para atualizar os dados.
138 M é para (dados) do macaco
Esta macro pode ser armazenado na mesma pasta de trabalho como o que foi criado na seção anterior, ou pode substituir o código anterior (embora você
precisa para voltar a ligar o seu botão para a nova macro em vez disso).
Esteja ciente de que o código acima não vai necessariamente atualizar as consultas na ordem em que eles precisam ser atualizados,
como Excel refresca consultas em ordem alfabética. Felizmente, você pode alterar o nome das consultas indo até Dados → Conexões →
Propriedades e modificar o nome da conexão. Você pode renomear cada consulta em uma ordem, tais como 01-Jan2008, 02-Feb2008,
03-Mar2008, 99-Transações. Ao fazer isso, você pode garantir que uma consulta de alimentação funciona de atualização na ordem
correta.
Enquanto VBA funciona bem em soluções de desktop, é uma impossibilidade total, se você quer soluções portuária à web, seja para o SharePoint, Office 365,
ou Power BI. Por esta razão, a equipe da power-planner.com construiu um add-in chamado Atualização de energia para ajudar a resolver esses problemas.
Atualização de poder é um utilitário de software totalmente novo projetado da terra-up como um “companheiro” para poder Pivot, poder Query, e toda a
pilha de BI poder.
Ele permite que você agendar qualquer livro Poder Pivot / Power BI para atualização, independentemente das fontes de dados utilizadas, e implanta
automaticamente / publica o livro resultante para um destino à sua escolha: SharePoint (ambos local ea nuvem), onedrive, BI Poder on-line, pastas de
arquivos e compartilhamentos de rede, e até mesmo servidores tabular SSAS.
Mesmo quando emparelhado com O365, Poder BI ou outro servidor de nuvem, atualização de poder não exigem a configu- ração de gateways, VPN, ou
portas de firewall. Além disso, Atualização Poder suporta auto-refresh do Poder consulta workbooks, bem como o carregamento de energia e Consulta de
dados do PowerPivot em SQL Server, finalmente permitindo que a indústria de utilizar PQ em ambientes de produção “no local”.
Finalmente, atualize o poder não é restrito a “uma vez por dia” atualização, nem é sujeito a “estrangulamento conjunto de linhas” pelo Poder BI versão 2 de linhas
10k / h (versão gratuita) ou linhas 1mm / hr (Pro) limitações.
Se este produto soa interessante para você, ou se você gostaria de ler mais sobre os recursos de atualização de energia, consulte os seguintes
posts por Rob Collie de PowerPivotPro.com:
http://www.power-planner.com/Products/ProdID/10
Capítulo 17 Poder consulta Fórmulas 139
Começando com M
Enquanto aspectos de M pode ficar muito técnico, a maneira mais fácil de obter alguma exposição à língua é começar com colunas personalizadas e
adicionar fórmulas para eles.
Porque o poder de consulta foi construído para profissionais do Excel, você pode esperar que a sua linguagem de fórmula seria como Excel's-bem
como fórmulas DAX Power Pivot são idênticos em nome àqueles de Excel. Infelizmente, este não é o caso, como você verá, e você vai ter que moderar
seus instintos iniciais para usar essas fórmulas como você aprender uma nova sintaxe fórmula.
• Novo nome da coluna -Tanto faz você digitar aqui será usado como o nome da coluna que são ating cria- quando você clica em OK.
• Colunas disponíveis -Esta caixa lista os nomes de todas as colunas em sua consulta. Clicando duas vezes em qualquer item na caixa de
coloca-o na área a fórmula com a sintaxe correta para se referir ao campo.
• Fórmula coluna personalizada -Este é o lugar onde você realmente criar a fórmula que será utilizada.
140 M é para (dados) do macaco
Você pode facilmente fazer agregações simples na área da fórmula, usando a sintaxe que você está acostumado em Excel. Por exem- plo, para juntar os dois
campos listados acima como texto, você iria construir uma fórmula da seguinte maneira:
Como você poderia esperar, você pode realizar equações matemáticas regulares, bem como, incluindo o seguinte: Operação
Curiosamente, no entanto, o operador expoente ^ que são usados no Excel não vai funcionar. Exponenciação requer uma fórmula personalizada:
Por esta razão, na caixa de diálogo Adicionar coluna personalizada, há um hyperlink apenas abaixo da caixa Coluna Fórmula personalizada.
Capítulo 17 Poder consulta Fórmulas 141
Clique neste link para ir para uma página web que promete ajudá-lo a aprender sobre fórmulas de alimentação de consulta. Se você rolar a página, você
encontrará um link para poder Pesquisar Fórmula categorias, que, em seguida, liga-lo através de site de documentação do MSDN. Este site lista todas as
categorias fórmula e permite que você navegue e descubra o que você precisa.
Recomendamos marcando a página de destino para o site do MSDN. Isto irá impedi-lo de ter que abrir o diálogo
Column Adicionar personalizado para ter acesso a esta documentação.
Gotchas Fórmula
Poder de consulta e Excel têm algumas diferenças significativas em termos de como eles lidam com as entradas. A tabela a seguir resume
consulta de energia
caso Sensibilidade
O aspecto sensibilidade caso é uma dor de cabeça, mas algo que você se acostumar. O truque para lembrar aqui é que em 99% dos casos, a primeira letra
de cada palavra em uma fórmula de energia consulta é capitalizado, e os restantes são em minúsculas. Considerando Excel não se importa que caso de
você usar e converte fórmulas para maiúscula por padrão, Poder consulta retorna apenas um erro.
A diferença entre a base e a base 1 0 é onde a linha número começa. Considere a seguinte palavra:
Excel. Se você fosse perguntar a si mesmo a posição do caractere x, você provavelmente diria 2. Caráter E é 1, e x é 2. Diz que o som
correto?
Contando desta forma segue uma regra de base 1, onde o primeiro caracter tem uma posição de índice de 1, o segundo carácter 2, e assim por diante. É
a maneira de contar, e é a maneira como o Excel conta.
142 M é para (dados) do macaco
Se você fosse perguntar Poder Consulta a mesma pergunta, seria retornar uma resposta de 1. Isso é um pouco de er cabeça do risco em primeiro lugar,
especialmente desde que a contagem do Excel em uma base de 1 moda. Você iria tipo de esperar Poder consulta a seguir as mesmas regras, mas isso não
acontece. Poder consulta começa a contar a 0, não 1. Então, na palavra Excel, o E é o caráter
0, eo x é o personagem 1.
Em última análise, isso não gera problemas que não podem ser tratadas, mas isso não significa que quando você está construindo fórmulas em Power Query,
você pode acabar fora por uma posição muito facilmente.
No Excel você pode adicionar um valor para uma data e incrementá-lo para o dia seguinte. Porque todas as datas são números realmente apenas de série de
qualquer maneira, adicionando 1 à data irá funcionar perfeitamente.
Em Poder Query, se a data é formatada como um tipo de data, você deve usar uma fórmula específica para adicionar dias a ele. E se você tentar usar a
mesma fórmula para adicionar dias a um número, Poder consulta lhe dará um erro, pois não é um encontro. Isso significa que você precisa para converter
explicitamente os seus campos para o tipo de dados antes de usá-los em fórmulas. No Excel você pode juntar duas células em conjunto, utilizando o &
função. Se as células contêm valores de texto ou é completamente irrelevante. Excel irá converter implicitamente a ambos ao texto e, em seguida, juntá-las:
Observe o que acontece quando você puxa esses dados em poder de consulta e criar uma nova coluna usando a fórmula se- guinte:
Figura 203 Poder consulta não pode juntar-se números e texto juntos.
A fim de corrigir esse problema, você tem que dizer Poder Consulta explicitamente converter o número em texto antes de tentar juntar as duas cadeias de texto
juntos. Você faz isso por envolvimento entrada de Column1 em uma função de conversão:
Figura 204 conversão explícita de tipos de dados assegura que funciona a fórmula.
Na verdade, existem duas maneiras de lidar com tipos de dados em poder de consulta:
• Defina o tipo de dados para a coluna que você está se referindo a antes usá-lo em uma função personalizada.
• Usar um tipo de função de conversão de dados para forçar a entrada para converter para o tipo de dados requerida.
adicionais, no entanto, você pode usar para manter seus dados digitando ainda mais explícito. A tabela a seguir mostra como converter tipos de dados
Fórmula Exemplo
Tenha em mente que Text.From () irá fazer o trabalho de todos os outros, enquanto Time.ToText () não irá converter um ber nú- a um valor de texto.
datas
Existem dois tipos de datas que você precisa se preocupar com: aqueles que são baseados em números, e aqueles que vêm como datas textuais.
funções de conversão diferentes são fornecidos para cada tipo de dados, a fim de transformá-los em um tipo de dados Data: converter
Fórmula Exemplo
Date.From (42986)
Mais uma vez, Date.From () efectua de facto a função de Date.FromText, embora o caso inverso não é verdadeiro.
144 M é para (dados) do macaco
vezes
Como datas, valores de tempo pode chegar tanto como valores de tempo numéricas ou aqueles textuais. Mais uma vez, há duas fun- ções para estes: converter
Fórmula Exemplo
Time.From (0,586)
E, tal como com datas, Time.From () executa a função de Time.FromText (), mas novamente, o caso inverso não é verdadeiro.
durações
A duração é a diferença entre dois valores de data / hora, e permite que você trabalhe os dias, horas, minutos e segundos para
completar uma tarefa. Existem duas funções, onde o .De () variante pode executar o trabalho do outro: converter
Fórmula Exemplo
Duration.From (2,525)
Duration.FromText ( “15:35”)
valores
Há realmente uma grande variedade de funções de conversão numéricas. Mais uma vez, enquanto Number.From () irá realizar o trabalho de todos eles, há
outros incluídos, bem como, no caso de você querer forçar seus números para um tipo numérico específico: converter o valor Para
Fórmula Exemplo
Number.From (2,525)
Number.FromText ( “15.35”)
Decimal.From (15)
Int64.From (2)
Currency.From (2,52)
de texto do Excel por um longo tempo, você vai achar que você é naturalmente inclinado a tentar usá-los para extrair componentes de seus dados. E você verá
que eles simplesmente não funcionam. Por essa razão, nesta seção você vai explorar como replicar cinco funções de texto mais comumente usados do Excel.
Cada um dos exemplos nesta secção pode ser encontrado em CH17 Exemplos \ 5 texto útil Functions.xlsx. Cada um dos exemplos nesta secção começa com
Figura 205 Uma amostra dos dados que você vai trabalhar.
Há um conjunto de palavras para baixo da coluna da esquerda, e há algumas extrações na coluna da direita. Cada uma destas extracções foi
realizada com fórmulas do Excel, utilizando a função listada no cabeçalho da segunda coluna. As seções a seguir comparar como para obter o poder
de consulta para realizar a mesma coisa usando diferentes fun- ções.
Em agosto de 2015, a equipe Poder consulta adicionou a capacidade de extrair o primeiro caractere, o último caractere, e uma gama de
personagens para a guia Transform. Apesar disso, as seguintes seções percorrer o processo de replicar e comparando estas fórmulas
para aqueles de Excel como este não só proporciona uma compreensão de como trabalhar com as fórmulas de código M, mas também
permite que você construa soluções mais robustas do que você pode com o comandos de interface de utilizador sozinho.
• Selecione uma célula na tabela de dados na planilha ESQUERDA → criar um novo → consulta Da Tabela
Isso deve funcionar, não deveria? Poder Consulta certamente não está indicando que não irá:
Clique OK, e apesar do sinal verde, as coisas não são tão bons quanto você esperava:
Figura 207 Você tem certeza de que você digitou deixou corretamente.
Portanto, apesar da ferramenta que está sendo construído para profissionais do Excel, a equipe de design eleito para usar um termo fórmula completamente
diferente para se referir aos personagens x esquerda de uma célula. Aqui está uma comparação direta da sintaxe entre os dois programas:
Não se esqueça que a fórmula é sensível a maiúsculas. Text.start, TEXT.START, e outras variantes irá retornar erros!
Isso funciona, e melhor ainda, ele oferece resultados consistentes com a fórmula definida Excel:
Nunca use o nome de uma função existente como seu nome de tabela Poder Query. Se você tinha chamado este deixou a mesa, você iria
ocorrer erros # N / A em fórmulas do Excel da tabela do original, como nomes de tabela são avaliadas antes das funções.
• Selecione uma célula na tabela de dados na planilha DIREITO → criar um novo → consulta Da Tabela
= Text.End ([Palavra], 4)
• Clique OK
Mais uma vez, os resultados são consistentes com o Excel da, que é uma coisa boa. Agora você pode finalizar esta consulta, bem como:
Com base nisso, os resultados devem ser exatamente o mesmo que o Excel de. Siga estes passos para ver o que acontece:
• Selecione uma célula na tabela de dados na planilha LEN → criar um novo → consulta Da Tabela
Os resultados se alinham perfeitamente novamente. Você está pronto para carregá-los para uma conexão bem:
Mas as mudanças são realmente um pouco maior. Vamos dar uma olhada, replicando função do Excel find (). A tabela de base seguinte está a utilizar a
função FIND () para encontrar um o minúsculo nas palavras. Naturalmente, que funciona em alguns casos, e ele retorna erros no caso de palavras que
Siga estes passos para ver como Poder consulta lida com isso:
Antes de adicionar a coluna personalizada, você deve saber que o novo nome para encontrar em poder de consulta é Texto. Posição de(). Com
base na sintaxe da função find (), isso significa que você deve ser capaz de ir com este:
• Clique OK
Em Poder Query, a -1 resultado para a função informa que Text.PositionOf () encontrada nenhuma correspondência. Mas como isso é possível? A carta o claramente
aparece em um monte dessas palavras. Para encontrar a resposta, examinar a sintaxe completa para essa função, em comparação com Excel de:
Você vê a grande diferença? Não só é a função find () mascarada sob um novo nome, mas a ordem dos parâmetros tem capotou!
Isso certamente vai causar um problema. Agora você precisa seguir estes passos:
Capítulo 17 Poder consulta Fórmulas 149
Os resultados são melhores, mas ainda não completamente consistente com Excel:
Parece que os valores devolvidos daqui siga a base 0 regra. (Contando F como 0, o primeiro o no futebol seria caráter 1, não caráter
2.)
Este não é um grande problema; isso significa apenas que você precisa para modificar a fórmula e adicionar 1 ao resultado, a fim de torná-lo compatível com o
Excel. Siga estes passos para fazer isso:
Figura 214 Os resultados numéricos alinhar muito bem, mas os erros não.
Este caso é realmente interessante, como o poder de consulta realmente dá um resultado mais agradável do Excel quando um valor não for encontrado. Não
seria ótimo se você não tem que envolver sua função find () em um manipulador de erro no caso do personagem não foi localizado? Agora você pode finalizar
esta consulta:
Uma coisa que você não pode fazer é replicar o erro # valor! erro. Tentando substituir 0 com #VALOR! falhará a menos que você converter a coluna
de texto em primeiro lugar. Mesmo se você fez isso, você teria, então pousar uma coluna de números textuais para o Excel, o que, obviamente, ter
impacto na sua capacidade de usar os valores em fórmulas.
A fim de replicar a função MID (), você precisa usar a função Text.Range do Poder Consulta (), que tem a seguinte sintaxe:
150 M é para (dados) do macaco
Como você pode ver, a função tem um nome diferente, mas os parâmetros são listados na mesma ordem como o equivalente Excel. Isso é uma boa
notícia, pelo menos. E, no entanto, como você pode ver, o resultado final parece ser um personagem off. Isto é devido ao fato de que o Poder Consulta
conta letras utilizando-base 0, em vez de base 1, como Excel faz. Mas armado com esta informação, você deve ser capaz de fazer este trabalho. Para
iniciar o processo:
• Selecione uma célula na tabela de dados na planilha MID → criar um novo → consulta Da Tabela
Figura 215 A par destes funcionou, mas por que não todos?
Isto é um pouco de um choque. Você estava esperando a palavra de ser desligado por um personagem, mas para não ter erros em todos os lugares. O que
aconteceu?
Antes de lidar com os erros, você precisa corrigir a posição do caractere inicial. Você pode ver que guarda-livros deve estar retornando
“manter”, e ele está vindo no final de uma letra, retornando Isso não requer uma grande correção “eepe.”; você só precisa ajustar a fórmula
para subtrair 1 a partir do parâmetro começando:
= Text.Range ([Palavra], 5- 1, 4)
• Clique OK
Figura 216 Por que estas fórmulas agora retornar resultados consistentes?
Capítulo 17 Poder consulta Fórmulas 151
Uma das grandes características da função do Excel MID () é que você nunca tem que se preocupar com quantos caracteres estão permanecendo na
cadeia de texto. Se o parâmetro final que você fornece é maior do que o número de caracteres restantes, ele vai simplesmente devolver todos os
caracteres restantes sem disparar um erro. Não é assim no Poder Query. Para corrigir isso, você obviamente tem que fazer uma modificação para
quantos caracteres estão sendo devolvidos, como você não quer fornecer um número maior do que o número de caracteres restantes. Em outras
palavras, você quer retornar o mínimo de quatro caracteres, ou o número de caracteres que ainda permanecem na cadeia de texto. Você vai aprender
muito mais sobre as funções necessárias no capítulo 20. Agora, no entanto, só sei que você precisa usar uma função de lista para fazer isso,
especificamente List.Min ().
Ao invés de apenas tentar construir esta em sua função, siga estes passos para ver se você pode construir isso em uma coluna separada:
Você pode ver que você tem uma tabela que indica claramente que Truck tem apenas um carácter adicional:
Você vai ficar muito mais exposição a listas no capítulo 19, mas aqui está uma análise rápida da fórmula:
• Text.Length ([Palavra]) - (5-1) simplesmente converte o comprimento da palavra na coluna Palavra e subtrai a posição de partida. Você usou
(5-1) como você queria o quinto personagem, mas você precisa corrigi-lo para a base
0. (Pode-se simplificar esta a 4, se desejado).
• A fim de usá-los na função List.Min (), eles precisam ser cercada por chaves e Se- arated por vírgulas.
Com este trabalho, você pode simplesmente editar o seu coluna original para usar esta fórmula no lugar da final 4:
• Clique OK
Quando você visualiza o passo Adicionado personalizada, a sua função MID equivalente deve agora estar trabalhando:
152 M é para (dados) do macaco
Figura 218 A consulta está trabalhando para todos, mas a última linha.
Quando você estiver confortável que a consulta está funcionando, você pode tomar as seguintes medidas:
Apesar do erro, você pode chamar este feito e carregar a consulta para uma tabela do Excel. Por quê? Porque os erros apenas mostrar-se como células vazias de
qualquer maneira:
Figura 219 Erros desaparecem quando carregado a uma tabela, dando saída a uma sensação consistente.
observações
É uma verdadeira vergonha que nem todas as funções no Poder consulta tem equivalência completa com aqueles em Excel, especialmente desde que o poder de
consulta é uma ferramenta para usuários do Excel. Esperemos que isto irá mudar em versões futuras; nós gostaríamos de ver uma nova biblioteca de funções
adicionais que permitem que você portar seu conhecimento existente fórmula Excel diretamente no Poder consulta sem a necessidade de aprender novos nomes
de fórmulas e sintaxes. Até essa altura, no entanto, é importante que você teste os resultados das funções de alimentação de consulta que parecem ser
equivalentes do Excel e verifique se eles correspondem ao que você espera, como você vai ocasionalmente têm de mexer com a saída para obtê-lo para alinhar
corretamente.
Capítulo 18 lógica condicional em Power consulta 153
Os dados não parece tão ruim à primeira vista. E parece que, mesmo menos de um problema quando você perceber que você realmente não precisa os
quatro principais linhas, como as datas estão incluídas em cada linha da tabela de dados. Mas então você percebe um problema: O nome do funcionário
não está incluído no linhas, mas sim está enterrado no meio dos dados. Como você tirá-lo de lá?
O desafio neste cenário é descobrir como obter o nome do funcionário associado a cada linha de dados e que não vai ser
possível sem alguma lógica condicional.
Conectando-se a Dados
Você precisa se conectar aos dados para ver como fica no Poder Query, pois isso pode lhe dar algumas idéias sobre como proceder:
À primeira vista, você pode ser tentado a transpor esses dados e preencher o nome de John Thompson para baixo. Mas há outras linhas também, e você não
tem idéia de quantos. A construção de uma solução para usar essa abordagem pode ser muito difícil de manter, então você precisa encontrar uma maneira
melhor.
Uma abordagem mais sensata, neste caso, seria adicionar uma nova coluna e colocar uma fórmula na it-uma fórmula que verifica se a coluna
para fora um tempo e puxa os dados nessa coluna se o teste falhar. Mas como você faz isso?
Como seria de esperar, os tempos de todas converter muito bem, mas o nome do funcionário retorna um erro:
Isto é inteiramente de se esperar, mas você pode usar seu conhecimento deste comportamento para resolver o problema? E se você testou para ver se
convertendo esta coluna para um tipo de dados em tempo retorna um erro? Se assim fosse, então você pode voltar nulo, e se ele não o fez, você poderia voltar o
tempo.
Você pode usar a função do Poder consulta Time.From () para tentar converter os dados para um tempo válido. E com base no seu conhecimento Excel,
você tipo de esperar que isso funcione:
Isto significa que IFERROR () pode ser escrita em Power consulta da seguinte maneira:
• Clique OK
A nova coluna é adicionada, e ele funciona muito bem para cumprir a meta atual:
Você pode obter um formato de hora diferente, como 18:00:00 em vez de 6:00:00 PM, dependendo das configurações gional re em seu
computador.
Isso é fantástico, uma vez que significa que agora você pode fazer alguns outros testes para descobrir o que você realmente quer saber.
Este deve ser bastante fácil de apenas criar uma coluna personalizada e utilizar a seguinte função, certo?
A coluna é adicionada aos dados, e você pode ver algum potencial real aqui:
Naturalmente, com este no lugar, você pode preencher o nome do funcionário para as áreas nulos:
Mesmo melhor, porque o poder de consulta processa os passos na caixa de Passos Aplicadas como passos completamente auto-suficiente em
ordem sequencial, você não precisa manter a informação precedente ao redor. Você pode remover essa coluna e limpar o resto dos dados, como
este:
• Selecione o Reg Hrs através de colunas de Despesas → Transformar → Tipo de dados → número decimal
Figura 225 O quadro de horários com os funcionários preenchido abaixo da última coluna.
A chave para trabalhar com funções lógicas do Poder consulta é lembrar-se de explicá-las na íntegra e certifique-se de manter os nomes
das funções em todas as letras minúsculas.
Capítulo 19 Poder consultar objetos 157
Esteja ciente de que o foco sobre este capítulo não é como usar essas recém-descobertas poderes em qualquer coisa extremamente prático. Este capítulo se
concentra em como realmente falar com esses objetos, fornecendo uma referência para você voltar para quando você precisa falar com esses objetos (ou
partes dele) quando se trabalha em cenários mais complexos. Se você estiver acompanhando em seu próprio computador, você notará que todos os
objetos-chave neste capítulo (tabelas, listas, registros, valores binários e erros) aparecem em uma pia batismal verde quando incluídos em uma coluna. Além
disso, cada um pode ser visualizado clicando no espaço em branco ao lado dessa palavra-chave.
tabelas
Objetos de tabela pode aparecer em vários lugares no Poder Query, e nós sempre apreciá-lo quando o fazem, como eles são muito fáceis de
trabalhar. Siga estes passos para ver por si mesmo:
= Excel.CurrentWorkbook ()
Você pode ver que há uma tabela na pasta de trabalho:
• Os dados contidos em uma tabela tem linhas e colunas (mesmo que você não pode garantir que uma linha de cabeçalho já estará em
vigor).
• Uma vez que você expandiu uma mesa, você tem um conjunto completo de guias da faixa de transformação disponíveis para você, e você pode
usá-los para transformar mais e manipular os dados.
Tabelas não, é claro, significa apenas mesas-far trabalho do Excel a partir dele, na verdade. Você pode encontrar mesas em várias fontes de dados, incluindo
aqueles extraídos utilizando fórmulas como Excel.CurrentWorkbook (), Csv.Document (), data- tabelas de base, e mais, como você viu em capítulos
listas
listas de consultas de energia são incrivelmente robusto e útil, e em muitos casos eles são necessários, a fim de usar algumas das fórmulas mais poderosas do
poder de consulta.
A principal forma que as listas são diferentes das tabelas é que, quando visto, uma lista sempre apenas tem uma única coluna de dados. Se você imaginar uma
lista como sendo equivalente à sua lista de compras, você poderia simplesmente listar os nomes dos itens que você deseja comprar. Assim que você começar a
adicionar as comparações de preços entre diferentes lojas, de ter movido a partir de uma lista para uma mesa.
Sintaxe
Ao trabalhar com Power Query, uma lista podem ser identificados pela presença de chaves, com os itens da lista, separados por vírgulas.
Além disso, itens textuais deve estar entre aspas, assim como eles precisam estar em uma fórmula de Excel. Aqui estão dois exemplos de
listas:
= {} 1,2,3,4,5,6,7,8,9,10
• Uma lista de valores de texto:
= { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J"}
Listas não estão restritos a, contendo apenas valores numéricos, no entanto. Eles podem misturar todos os tipos de dados em tudo, in- cluindo outras listas:
Além do fato de que você criou uma lista de valores, você também vai perceber que você está trabalhando agora com a lista Ferramentas → Transform guia
contextual ativo. Praticamente todos os comandos nas outras guias ficará inativo neste momento, tornando este se sente como uma experiência muito
limitada. Apesar disso, você vai ver que você ainda tem acesso a manutenção / remoção de linhas, a triagem, de-duplicação, e até mesmo executar
algumas operações estatísticas básicas sobre seus dados.
Capítulo 19 Poder consultar objetos 159
Agora, tão grande como é ser capaz de criar uma lista a partir do zero assim, criar uma lista de números de 1 a 365 seria um pouco de dor. Por esta
razão, você também tem a capacidade de usar um atalho de codificação para criar uma lista consecutivas con- de um número através de um outro.
Alterar a fórmula na barra de fórmulas para ler o seguinte:
= {} 1..365
Obter um nice lista consecutiva 1-365:
Você pode criar listas alfabéticas consecutivos desta forma, bem, desde que você envolve os personagens entre aspas e
utilizar apenas um único personagem. Por exemplo, = { “A” ..”J”} vai funcionar, mas = { ‘AA’ ..”ZZ”} não.
Você também pode usar vírgulas dentro listas, desde que sejam dentro das aspas. Substituir a fórmula na barra de fórmulas com a
seguinte:
Não se preocupe: É super fácil de transformar uma lista em uma tabela. Basta clicar no grande botão Para tabela no canto superior esquerdo da guia contextual
Ferramentas de Lista. Este diálogo interessante aparece:
Você pode definir a configuração delimitador de vírgula e clique em OK, e seus dados irá carregar muito bem em uma tabela com duas colunas:
Figura 231 de dados carregados a partir de uma lista separada por vírgulas.
Esta caixa de diálogo aparece se há delimitadores em seus dados ou não. Se você não tem delimitadores, basta clicar em OK, ea caixa de
Agora, o que você faria se você quisesse obter uma lista única dos itens de estoque? Se você fosse confortável deixando-o na forma de uma tabela, você
pode simplesmente remover todas as outras colunas e, em seguida, vá para a aba Transformar e remover duplicatas. O desafio aqui é que ele ainda
estaria em forma de tabela, e você não seria capaz de alimentá-lo em uma função se for necessário para. Em vez disso, você gostaria de obter esses
itens exclusivos, mas como uma lista, o que lhe dá essa flexibilidade. Siga esses passos:
• Botão direito do mouse na coluna Componentes Item → Drill Down Agora você
Antes de seguir em frente, olhar para a barra de fórmulas. De lá, você vê esta linha de código:
Com o conteúdo da coluna extraídos para uma lista, você é capaz de realizar mais operações de lista sobre ele, como de-duplicação de dados,
como este:
Agora você tem uma lista de itens exclusivos que você pode alimentar em uma função diferente. É hora de finalizar
esta consulta:
Digamos que você tem quatro IDs de funcionários (de 1 a 4) envolvidas na sua tabela de vendas. Estes valores representam Fred, John, Jane, e
Maria, nessa ordem. Não seria bom para ser capaz de converter esses valores para seus nomes, sem ter que criar uma tabela separada? Siga estes
passos para ver se você pode usar uma lista para fazer isso:
Como você pode ver, visualizar a primeira lista mostra que é uma lista que contém os valores 1 e Fred. Esta é esting inter-, mas você pode usar
isso?
Convertendo esta lista a uma tabela retorna uma única coluna que ainda contém listas, mas tem uma seta de expansão no canto superior esquerdo. Clique que e
olhar para os resultados:
Claramente, agregando as listas combina-los empilhando as linhas, não tratar cada um como uma linha individual. Enquanto você pode
transformar isso usando a abordagem index / módulo / pivô do capítulo 15, é um monte de trabalho extra que você deve ser capaz de evitar.
A fim de fazer este trabalho, você teria necessário para definir a sua lista, como é feito no exemplo acima do autor e não como uma
lista de listas, mas sim como uma lista de itens com as vírgulas dentro das aspas. Terminar este exemplo, com os seguintes passos:
• Vá até Home → Close & Carga Para ... → Só Criar Conexão Há duas coisas
uma alternativa.
registros
Embora uma lista pode ser descrita como uma única coluna vertical de dados, uma ficha é uma lista horizontal, homólogo de várias colunas. Um registro
pode ser visualizado como uma linha de um banco de dados, contendo todas as informações pertinentes relativas a um cliente ou transação particular.
Em Poder consulta, os registros podem aparecer em colunas de tabela ou em listas como você recuperar dados. Eles também podem ser criados on-the-fly, se
necessário.
Sintaxe
Os registros são um pouco mais complexo do que as listas em que eles precisam para ter um valor de algum tipo, e você também deve definir os nomes das
colunas, como este:
• Os dados para o campo é então fornecido, entre aspas para dados textuais.
Field (coluna) nomes não precisa de qualquer pontuação em torno deles, se eles incluem espaços ou não.
O que acontece quando você precisa criar vários registros de uma vez? A resposta é que você chegar a uma lista:
Capítulo 19 Poder consultar objetos 163
= {[Name = "Ken Puls", País = "Canadá", Línguas faladas = 2], [Name = "Miguel Escobar", País =
"Panamá", Línguas faladas = 2]}
Como você pode ver, nomes de campos do registro são listados pela esquerda, com os dados correspondentes jogada pela direita. Curiosamente, os dados são
organizados verticalmente, não horizontalmente, como seria de esperar. Este não é um problema, apenas algo para se acostumar.
Note também que você tem um novo Ferramentas gravar → Converter guia contextual e, se você explorar o resto das guias da faixa, você vai descobrir
que todos eles estão em cinza.
Você pode ter esperado que este iria aparecer com os nomes dos campos na parte superior e os valores na primeira linha. Embora ele não funciona
desta forma, é fácil de corrigir uma vez que é agora uma tabela:
Neste caso, isso é bom, mas o que vai acontecer se você tem um monte de registros que você precisa para converter em uma tabela? Finalizar a consulta
para que você possa passar para a próxima seção e descubra:
cercado-los nas chaves necessários para indicar que eles são parte de uma lista. Quando você se compromete a fórmula acima, ele retorna uma lista
de registros:
Figura 239 A lista de registros, com a visualização mostrando que você acertou.
A seta no canto superior direito da barra de fórmulas permite expandir isso para mostrar várias linhas ao mesmo tempo.
O resultado é uma coluna de registros que podem ser expandidos. Curiosamente, clicando que expandir ícone indica que há colunas a serem
expandidos:
Capítulo 19 Poder consultar objetos 165
Ao clicar OK retorna um bom conjunto de colunas e linhas, exatamente como você estava procurando com o único registro!
Isso vai contra a sabedoria convencional, mas a criação de vários registros realmente se sente como se desenrola em uma tabela mais logicamente que um
único registro. A verdadeira diferença é que você converter um Lista de registos numa tabela no segundo exemplo, e não um único registo numa tabela. Com
os registros em uma coluna da tabela, Poder consulta, em seguida, lê as informações do registro corretamente, a fim de expandi-lo para a coluna necessária
e linhas. Você está agora numa fase em que esta tabela pode ser salva-e até mesmo fundidos em outras consultas, se quiser. Guardá-lo como este:
Tal como acontece com exemplos anteriores, agora você tem a exibição completa da tabela. Para extrair o primeiro registro, você precisa criar uma etapa de
consulta em branco. Para fazer isso:
Agora você começa uma nova etapa com a seguinte fórmula na barra de fórmulas:
= Fonte
• Modificar esta fórmula para adicionar {0} a ele:
= Fonte {0}
O resultado é o seu primeiro disco:
Ainda mais interessante, você pode perfurar em ainda mais, acrescentando o nome do campo entre colchetes. Tente modificar a consulta para
o seguinte:
Para entender a relevância deste, considere uma situação onde você precisa para perfurar um registro específico, a fim de controlar filtros. No Capítulo
20 você vai ver onde esta técnica permite que você faça exatamente isso. Agora você pode finalizar a consulta:
Em seguida, você deseja converter cada linha na tabela para um registro. O desafio é que você precisa o número de índice de cada linha para fazer isso.
Então você pode chegar à coluna Index:
• Ir para Adicionar Coluna → Adicionar Coluna Índice → De 0 Agora você está indo para mudar o nome deste degrau
Figura 245 A coluna Índice foi adicionado, e a etapa tiver sido mudado sem o espaço.
Agora você pode chegar a uma coluna personalizada para converter suas linhas de registros. O truque para isso é criar uma coluna de índice, como
você agora tem o valor que você precisa para extrair seus registros. Por que você precisa este truque? Você não está indo para operar na linha atual,
mas sim na saída da etapa AddedIndex. Dessa forma, ao invés de receber um valor específico (como a primeira linha), você pode dinamicamente
alimentá-lo na consulta para obter cada linha. Siga esses passos:
Estritamente falando, você não precisa mudar o nome da coluna Índice Adicionado para remover o espaço. Fazer isso só torna as coisas
muito mais fácil na interface do usuário.
168 M é para (dados) do macaco
Neste ponto, você pode remover todas as outras colunas, e você simplesmente tem uma coluna de registros:
valores
Se você estiver trabalhando com bancos de dados, você ocasionalmente verá colunas contendo valores:
Este objeto em particular mostra-se apenas em determinados casos. Em ordem para que ele apareça, você deve estar trabalhando com um banco de dados que
tem uma chave primária e relação de chave estrangeira estabelecida entre as mesas. O que é realmente estranho é que um valor é apenas a forma como um
banco de dados retorna um registro.
Esta tabela particular pode ser localizado no banco de dados AdvertureWorks2012 que você conectado a no Capítulo 8. Use o
mesmo método para conectar conforme descrito no Capítulo 8, conecte-se as vendas. SalesTerritory mesa, e remover os outros do
que os mostrados colunas.
Depois de saber quais os valores que você tem, trabalhar com eles é o mesmo que trabalhar com os outros tipos de dados que estão relacionadas com.
A direção da relação determina o que é retornado a uma coluna relacionada quando você está trabalhando com um banco de dados. Se
você estiver em uma tabela de fatos, e o link está indo à tabela de dimensão, você receberá um valor (registro). Se você estiver em uma
tabela de dimensões eo link vai para uma tabela verdade, você vai receber uma mesa.
binários
Binários são essencialmente arquivos. Alguns podem ser combinados e ler usando funções como Csv.Document (), ao passo que outros, como pastas
de Excel, não podem ser combinados e deve ser lido usando a função Excel.Workbook (). O processo de extração de dados a partir desses livros é
coberto extensivamente nos capítulos 3 e 4, de modo que não explorá-los ainda mais aqui, além de mencionar que eles são um objeto de Energia
Consulta que você vai encontrar.
erros
Existem dois tipos de mensagens de erro que você pode encontrar em Power consulta: erros de nível de etapa e erros de nível de linha.
Capítulo 19 Poder consultar objetos 169
Figura 248 Um erro de nível de linha desencadeada por tentar converter os países para um tipo de dados Data.
Esses erros não são geralmente mostram-rolhas, e eles podem até mesmo ser muito útil quando você está limpando os dados, como eles podem ser tratados de
duas maneiras:
Apesar do fato de que não há nenhum mecanismo de depuração no Poder Query, esses erros são geralmente identificável e muitas vezes (embora nem sempre)
estão relacionados com os tipos de dados incorretos.
A Figura 249 um erro sintaxe de expressão, desencadeada por uma falta) no final da linha.
Figura 250 Um erro de expressão geral, desencadeada por referindo-SQL em vez de SQL.
Infelizmente, ferramentas de depuração do Poder de consulta são particularmente fracas, como você pode ver com o seguinte problema:
Figura 251 Um erro de sintaxe causada por um} personagem ausente, mas com a mensagem de erro pedindo uma vírgula.
170 M é para (dados) do macaco
A oferta de depuração mensagem de erro é apresentada em uma única linha (embora ele teve que ser cortado e moldado para esta imagem). No
final da cadeia é um útil caracter ^ que indica onde o poder consulta pensa que você precisa colocar o seu vírgula. A questão, todavia, é que uma
chaveta não foi fornecida para fechar a lista Acumulado de vendas, como indicado pela seta vermelha apontando para cima.
Estas questões são hoje desafios. É uma pena que não temos penetrador embutido na fórmula, coloração, ou Intelli Sense hoje para ajudar com essas
questões. Consulta poder é frequentemente sendo atualizado, porém, e esperamos ver mudanças nesta área no futuro. Até que isso aconteça, no
entanto, a depuração deve ser feito da maneira dolorosa: a revisão da linha e assistindo para a abertura de chave e fechamento de marcas de sintaxe,
vírgulas e similares.
Funções
O último tipo de objeto que você vai encontrar em Power consulta é uma função. As funções podem ocorrer em dois lugares:
1. Eles podem estar dentro de um banco de dados, onde eles indicam um procedimento armazenado.
Você vai aprender mais sobre como usar e invocando funções mais tarde no livro, mas aqui você vai aprender um truque que você pode usar para ver como
funções manifestas e também para descobrir a lista de funções de Energia Consulta. Tente isto:
Consulta de energia gera uma tabela de todas as tabelas poder de consulta na pasta de trabalho atual, mas mais importante, segue-se a lista de tabelas
com uma lista de todas as funções incluídas no produto. Você pode acessar a documentação para qualquer função nesta lista:
Como você usa isso? Para ver, filtrar a primeira coluna para Max (com uma letra maiúscula H):
Se você clicar em função ao lado Table.Max, você vê duas coisas acontecem-documentação aparece atrás e um diálogo invocação aparece
na frente:
Capítulo 19 Poder consultar objetos 171
Esta caixa permite testar a função, mas clicando em Cancelar faz isso ir embora. Atrás dele você encontrará a documentação completa para a
função, para que possa determinar se ele faz o que você precisa. Note-se que você não está restrito ao uso do comando #shared de uma consulta
em branco. Toda vez que você quiser verificar a documentação fórmula de Poder Query, você pode fazer o seguinte:
Estrutura M consulta
Para começar, você vai puxar uma tabela para poder consulta e, em seguida, examinar o código que está trabalhando nos bastidores:
• Abertas Exemplos CH20 \ Compreender M.xlsx → selecione qualquer célula na tabela de vendas
consulta Formulário
Até agora, tudo o que vi foi conduzido através do interface do utilizador. Você viu Poder consulta agir como um gravador de macro, e você têm sido
capazes de interagir com ele através da caixa de Passos Aplicadas. Também tive alguma interação limitada por meio da barra de fórmulas. O que
você não tenha visto ainda é a linguagem de programação que reside embaixo das cobertas desta ferramenta incrível. É hora de mudar isso.
A janela Editor Avançado aparece, e que contém o código para toda a consulta criada até à data:
Você pode ver que o conjunto de recursos neste momento é muito limitado. O editor avançado é essencialmente apenas um editor de texto com um verificador de
sintaxe no canto inferior esquerdo. Esta área vai ver, sem dúvida, algum investimento no futuro, mas agora é essencialmente apenas uma caixa de texto.
Antes de se frustrar tentando redimensionar o editor para torná-lo tão pequeno como a imagem mostrada acima, esteja ciente que você não
pode. (Nós encolheu-lo com edição de fotografia para economizar espaço página). O editor avançado pode ser expandida para torná-lo maior,
mas não pode entrar em colapso muito mais do que o tamanho padrão quando você abri-lo.
Existem algumas peças-chave aqui que são necessárias para criar uma consulta bem sucedida, então vamos quebrar esta linha por linha.
A primeira linha de cada consulta deve começar com a palavra deixei. ( Isso muda para funções, que são cobertos no Capítulo 21.) Nada mais
vai nesta linha em tudo.
A segunda linha começa com a palavra Source. Isto é importante, pois este é o nome da etapa da caixa de Passos Aplicadas. É através deste nome
passo que você pode descobrir qual linha de código se refere ao passo que você deseja examinar. Neste caso, você pode ver que quando a nova
consulta de tabela foi criada, Poder consulta invocou o Excel. CurrentWorkbook () função. Em seguida, ele anexou uma lista dos registros (tabela do
Excel) que importados. Finalmente, perfurados nos registros de conteúdo para que objeto de tabela. O segundo-a-última linha de cada consulta é a
única palavra dentro.
A última linha é uma única palavra que se refere ao passo que contém a saída que você gostaria de voltar no final da consulta. Este é geralmente o
passo anterior, mas não tem que ser. Agora você pode adicionar mais um passo para esta consulta:
Existem algumas coisas pena notar aqui. Primeiro, uma vírgula foi adicionado ao final da linha Fonte. (Se você volte ao código anterior, você
verá que a vírgula não estava lá.) Isso é incrivelmente importante: Cada linha entre o deixei e dentro linhas devo tem uma vírgula na
extremidade exceto a última linha antes do dentro A linha, que pode Nunca tem uma vírgula no final. Neste caso, a linha Fonte termina com
uma vírgula, mas o # line”Changed Type” não, uma vez que é a última linha antes do dentro declaração.
Para colocar isso em termos de energia da consulta, você está fornecendo uma lista de passos entre o deixei e dentro linhas. Como você sabe, todos
os itens em uma lista precisam ser separados uns dos outros por meio de uma vírgula, mas você não colocar uma vírgula no final.
O significado de #”sintaxe”
A segunda coisa que você deve observar na imagem anterior é que a etapa lê tipo alterado na caixa de Passos Aplicadas mas vem
no código como #”Type Changed”.
Capítulo 20 Entendendo a M Idioma 175
O desafio aqui é que o espaço entre Mudou e Tipo provoca Poder consulta para tratar as duas palavras como termos separados. Para lidar com isso e
tratar tipo alterado como um único termo, Poder consulta prefixos o termo com o caractere # e, em seguida, envolve o termo entre aspas. Infelizmente,
você vai ver este tipo de coisa acontece fre- quentemente em Power Query, como os nomes padrão dado a passos normalmente têm espaços entre
eles. Isso resulta em um monte de marcas de hash e citações em blocos de código mais longas.
Se você quisesse, você poderia mudar isso para evitar esses caracteres. Você pode fazer isso de duas maneiras diferentes:
• Direito do mouse no nome da etapa na caixa de Passos Aplicadas (antes de entrar no Editor Avançado) e renam- ing o passo.
• Substitua todas as ocorrências de #”Changed Type” no Editor avançado com um novo termo como NewType. Independentemente do método
Se você fazer suas modificações manualmente, lembre-se de que o seu novo mandato deve ser idêntica em todos os casos (sem alterações caso), e
não se esqueça de também mudar o nome do último passo!
É essa referência que permite Poder consulta para cadeia de todos os comandos juntos. Basicamente você pode ler a linha NewType da seguinte forma:
NewType = Table.TransformColumnTypes
(Fonte, {{ "preço", digite o número}})
dentro NewType
Mas isso viola a regra sobre ter uma vírgula no final de todas as linhas, exceto a linha que precede o dentro afir- mação, não é? Não
exatamente.
Quando Poder consulta lê o seu código, ele procura por palavras-chave, incluindo a vírgula eo dentro palavra-chave. Como se lê uma linha, ele ignora
qualquer vírgulas que são colocados entre parênteses correspondentes, chaves, colchetes, ou citações. Uma vez que ele encontra uma vírgula
solitário, ele reconhece que, como o fim da linha de código atual e começa a ler a próxima linha de código como uma etapa independente.
Alternativamente, se encontra o dentro palavra-chave, ele agora sabe que a consulta vai acabar e olha para ver qual passo para voltar.
176 M é para (dados) do macaco
Por que isso é importante? Isso significa que você pode realmente colocar uma quebra de linha no meio. Porque o poder de consulta não tenha encontrado uma
vírgula ou o dentro palavra-chave no final da linha NewType inicial, ele continua seguindo em frente, assumindo que a próxima linha é ainda parte da primeira. Em
essência, isso significa que este código:
NewType = Table.TransformColumnTypes
(Fonte, {{ "preço", digite o número}})
Ou este código:
NewType = Table.TransformColumnTypes (
Fonte, {
)
A chave para entender aqui é que você não pode colocar um retorno de disco rígido no meio de um nome de função ou palavra, mas quebrar a qualquer sinal de
pontuação está bem. Olhou em uma escala maior, esta consulta será executado perfeitamente bem:
NewType = Table.TransformColumnTypes
( Fonte, { { "Preço", digite o número}}
)
dentro NewType
Encontro Encontro
Você pode reconhecer a partir das chaves após a palavra-chave Fonte na etapa NewType que você precisa fornecer uma lista de colunas e tipos de
dados em um formato de lista. Como você já sabe a partir do capítulo 19 que todos os itens da lista precisam ser separados por vírgulas, você sabe
que isso deve funcionar:
NewType = Table.TransformColumnTypes
( Fonte, {
Capítulo 20 Entendendo a M Idioma 177
)
dentro NewType
Se você clique em Concluído para cometer este código (exatamente como está escrito), você verá que a consulta retorna os resultados desejados, com cada tipo
de dados convertido como você pediu:
Figura 260 Não são apenas as datas-tempo livre, mas confira o recuo na barra de fórmulas!
código Comentários
Os últimos conjuntos de caracteres que você precisa saber como criar são aqueles que permitem que você deixar um comentário no código. Estes podem ser muito
úteis para deixar notas no código ou desativar temporariamente uma linha de código. Para marcar uma única linha de código como um comentário, você coloca
deixei
Às vezes você precisa de comentários mais longos que não cabem em uma linha. Neste caso, você colocar os caracteres / * antes do código
que você não quer executado e os caracteres * / no final da seção, como este:
/ * Eu quebrei este comentário código em várias linhas
(Através da leitura M é para o macaco de Dados) */
propósito
# "Nome Step" Fazendo referência a um nome passo que contém espaços ou outros caracteres reservados
• Botão direito do mouse as colunas renomeadas passo → Rename → Renomear a consulta irá
Visualizando o código no Editor Avançado produz dois novas linhas de código no final da consulta (linhas repartidas foram recuado aqui para
facilidade de identificação):
A linha de CalcSales, no entanto, tem uma nova palavra-chave em que você não tenha visto antes. A função Table.AddColumn refere-se em
primeiro lugar para o passo NewType e, em seguida, proporciona o valor de “Multiply”. Desde Multiply foi o nome dado à nova coluna, isso significa
que você poderia provavelmente apenas alterar esta linha para usar “Vendas Brutas” em vez de “Multiply”, evitando o passo de renomear a coluna
mais tarde. Após o nome da coluna é uma nova palavra-chave que você ainda não encontrou: cada. o cada -chave cates duos para poder consulta
que você deseja que esta ação executada para cada linha na consulta. Após isso, você vê a função List.Product (), que indica quais colunas para
multiplicar uns contra os outros e com o tipo de dados a saída deve tomar.
Agora você pode fazer algumas modificações para tornar o código mais curto:
• Altere a última linha para ler “CalcSales” em vez de “Renomear” A sua consulta
Suas quebras de linha não pode aparecer nos mesmos lugares, ou eles podem não aparecer em tudo. As peças principais de lembrar são
(1) a linha CalcSales está a ser tratado como uma linha completa de código uma vez que foi dividida em duas linhas no meio da função, e
(2) a linha de não terminar com uma vírgula uma vez que esta linha precede o dentro palavra-chave.
• Clique em Concluído
Observe que a etapa Rename é ido, mas a coluna Vendas Brutas ainda existe:
Figura 263 A coluna Receita Bruta, gerado sem a necessidade de ser mudado.
O efeito final deste modificação do código é que ele agora define o nome da coluna na frente, evitando a necessidade de mudar o nome da coluna mais
tarde. Salvando um passo torna o código mais eficiente, impedindo etapas de processamento mais tarde. Além disso, você reconhece agora outra
palavra-chave na linguagem de programação Poder Query. Quando você vê o cada palavra-chave, você já sabe que a fórmula após esta palavra-chave
será aplicada a cada linha na tabela. Agora você pode finalizar a consulta:
Figura 264 de dados delimitados por tabulação com uma exigência específica.
• Os dados é delimitado separador, mas a primeira linha não contém quaisquer separadores. Isto significa que você terá de acionar manualmente as
divisões de coluna.
• O número de linhas antes do número de identificação é variável. Não poderia ser de 5 ou 5.000 linhas antes da linha que contém o texto
Número ID.
Seu desafio geral aqui é que você precisa para extrair linhas a partir do meio de um conjunto de dados e torná-lo dinâmico para lidar com no
entanto muitas linhas são evidentes antes, no meio, e depois de os dados necessários. Além disso, como uma ruga final, você gostaria de
determinar o número de dias entre cada data do pedido Comparada com a ordem anterior. Esta tarefa vai implicar tentando subtrair a data em uma
linha a partir dos dados em outro, algo que não pode ser feito através da interface de usuário de energia Query.
Conectando-se a Dados
Você precisa conectar aos dados e depois descobrir quais linhas que você precisa para realizar seus objetivos:
• Criar um novo → consulta De → Arquivo de Texto → CH20 Exemplos \ Variando Header Rows.txt → OK
• Definir o filtro para começa com o número de identificação ou começa com a identificação total
Você poderia realizar o mesmo objetivo, filtrando as linhas que começam com ID, mas você não sabe se existem outras linhas no
conjunto de dados que começam com ID. Ao fazer os termos tão apertada quanto possível, você pode reduzir a chance de erros no
futuro. (Claro, se outra linha Número ID insere os dados, você ainda terá de trabalhar para fora como lidar com isso.) A consulta deve
agora olhar como se segue:
Capítulo 20 Entendendo a M Idioma 181
Figura 265 A consulta mostra apenas os índices de linha que você precisa.
Agora você tem uma visão muito cortada para baixo, mostrando os números de linha tanto para o número de ID e ID Total de linhas. Tenha em mente
que estas são totalmente dinâmico, como não importa quantas linhas preceder, seguir, ou estão no meio dos dados, os passos que tomou ainda vai
gerar as linhas corretas.
Observe como o #”Index Adicionado” passo contém a função Table.AddIndexColumn. Na linha RowNumbers, você também ver que o #”Index
Adicionado” passo é o primeiro parâmetro alimentado nas Table.SelectRows () função. Se você quer evitar ter um separado #”Index Adicionado”
passo, tudo o que você precisa fazer é substituir o código real dentro do #”Index Adicionado” passo no lugar do termo na próxima linha.
Lembra quando substituindo o código dessa maneira que você quer que tudo entre o sinal de igual e só a vírgula
final.
Ao substituir o código no lugar, adicionando algumas quebras de linha, e remover o # line”Index Adicionado” completamente, você acaba com código aninhado, da
seguinte forma:
RowNumbers = Table.SelectRows (
Table.AddIndexColumn (Fonte: "Index", 0, 1), cada Text.StartsWith
([Column1], "Number ID") ou Text.StartsWith ([Column1], "ID Total"))
Como você pode ver, este código ainda funciona perfeitamente, mas remove a etapa Index Adicionado partir da caixa de Passos Aplicadas:
sequencial, o que significa que você deixou seus dados de origem original para trás. Então, como você obtê-lo de volta? A resposta é clicar no botão fx na barra de
fórmulas:
Se você não está prestando atenção quando você clicar neste botão, você seria perdoado por pensar que nada aconteceu. que os dados na janela
de visualização não aparecer em tudo. Você vai ver, no entanto, que você tem um novo passo na caixa de Passos Aplicadas chamado Custom1, ea
fórmula na barra de fórmulas mudou a isto:
= RowNumbers
Clicando no botão fx sempre cria uma nova etapa de consulta que se refere à etapa anterior. Então, como é que é útil? Alterar a fórmula para isso:
= Fonte
agora você vê que você está de volta a olhar para os dados originais.
Se você verificar o Editor Avançado, você vê que você poderia ter digitado isso em manualmente adicionando um novo passo certo
antes do dentro palavra-chave, como segue: Custom1 = Fonte Claro, a fim de manter o funcionamento do código, você também precisa
adicionar uma vírgula para a linha anterior e mudar o termo após o dentro palavra-chave para Custom1 de RowNumbers.
Você está agora em boa forma aqui, como você pode selecionar os RowNumbers passo para ver as primeiras e últimas linhas que deseja encontrar, em seguida,
recuar para Custom1 para que você possa começar a fazer exatamente isso.
Para começar, você configurar o seu comando por meio da interface de usuário. A razão para isso é que ele vai dar-lhe a sintaxe para a
funcionalidade que você está depois, em vez de olhar a função e fazer as coisas manualmente desde o início.
O número de índice para a última linha é 9 como o definido atualmente dados senta. Se você filtradas as linhas da parte superior primeiro, no entanto, isso precisa
ser atualizado. Em vez de complicar as coisas, você pode remover as linhas de fundo em primeiro lugar, como o índice para as linhas superiores não vai mudar
quando remover as linhas de fundo. A abordagem que você vai usar aqui para remover as linhas de fundo não é realmente dirigido pelo recurso Remover linhas,
como solicita o número de linhas a serem removidos. Isso significa que você precisa para calcular todas as linhas no conjunto de dados, trabalhar para fora a
última linha, e realizar alguma matemática para determinar quantas linhas de remover. Ao invés de fazer isso, você pode identificar que a linha final que você
precisa está na linha 9, para que possa utilizar o Manter linhas superiores possuem em vez disso, para manter os top 9 linhas:
Observe que você não tem a linha que começa com ID total. Isso é para ser esperado porque o ID linha Total foi realmente o décimo linha do
arquivo, mas você usou um índice de base 0 a contar linhas. Ao puxar a nona linha, no entanto, você obter os dados que você está depois, sem a
linha de total (que você só precisa filtrar qualquer maneira). Agora, como você fazer essa dinâmica? Olhe para o código na barra de fórmulas:
= Table.FirstN (Custom1,9)
Em teoria, você só precisa substituir a 9 com uma referência para o valor correto da etapa RowNumbers. Isso pode ser feito
consultando a um passo anterior e extrair o valor da coluna Índice nessa etapa. Para fazer isso, você usaria o seguinte código:
Se você verificar para trás sobre o código para a etapa Custom1, você vê que ele simplesmente refere-se a Fonte. você pode pular usando o passo Custom1 e
apenas referir-se a Fonte na fórmula? Pode apostar que você pode! Atualizar essa fórmula novamente:
E agora, uma vez que a fórmula se refere à etapa Source, você não precisa o Custom1 passo mais em tudo.
Com esse passo limpo, você é agora para baixo a uma consulta de três etapas, e você está no seu caminho. Adicione o seu filtro dinâmico para filtrar as linhas
superiores, bem como:
Figura 270 O código é agora puxando dinamicamente tanto na partida e linhas que terminam.
Você pode consolidar as duas últimas etapas, bem como, apenas para manter o código mais limpo a este ponto:
# "Mantido primeiras linhas" = Table.FirstN (Fonte, RowNumbers [Índice] {1}), ExtractRows = Table.Skip (#
"Mantido primeiras filas", RowNumbers [Índice] {0})
• Ao incorporar o #”Mantido primeiras linhas” entrar na segunda linha da seguinte forma:
ExtractRows = Table.Skip (
Table.FirstN (Fonte, RowNumbers [Índice] {1}), RowNumbers [Índice]
{0})
• Clique em Concluído
Mais uma vez, você ter encurtado o número de passos aplicados, e você acabou com código compacto que recupera de forma dinâmica os dados
brutos definido, é necessário:
• Excluir o passo tipo alterado criado automaticamente (Ele define todas as colunas para texto, que não será coadjutor AC- a longo prazo)
Até agora, você conseguiu importar um conjunto de dados e dinamicamente restringir as linhas que você deseja usar. Neste ponto, não importa como
existem muitas linhas de dados antes da linha Número ID, a consulta vai ainda começar no lugar certo. Além disso, independentemente de quantos
existem linhas após o ID linha Total, você nunca vai vê-los em sua consulta de saída, ea consulta também vai puxar em qualquer número de linhas
entre esses dois cabeçalhos. Compactar o código é um passo totalmente opcional. Você é capaz de manter nidificação seu código copiando o passo
anterior e substituindo-lo para a próxima etapa no lugar do nome da etapa anterior. Enquanto isso pode tornar o código mais compacto e eficiente,
estar ciente de que ele também pode afetar drasticamente a sua capacidade de depurar o seu código no caso de algo correr mal. O truque é
encontrar um meio termo que faça sentido para você.
Para fazer este trabalho, você precisa descobrir uma maneira de criar uma nova coluna que mantém a data do pedido anterior. Você já sabe como fazer
referência a uma etapa anterior, e você mesmo sabe como se referir à coluna dentro desse passo. Você também sabe que você pode fornecer um número
de linha entre chaves para puxar para trás uma linha específica. Tudo que você precisa fazer aqui é estender essa lógica um pouco e fornecer um número
que é um menor que o número da linha atual.
A fim de resolver isso, é necessário o número de índice para cada linha no conjunto de dados. Como você está indo usar este novo passo em cálculos
futuros, você também deve renomeá-lo para evitar #”codificação constrangimento:
• Direito do mouse na etapa Index Adicionado → Rename → Transações Você está agora
Figura 273 Você tem tudo que você precisa para construir fórmulas cross-linha.
A coluna [Índice] é gerada de modo que você pode dizer Poder Consulta qual linha você deseja recuperar a partir do conjunto de
dados de destino, mas não é necessário ter a coluna Índice presente naquele alvo. Você poderia facilmente usar a fórmula = #”Type
Changed” [OrderDate] {[Índice] -1}, e ele iria trabalhar, apesar do passo Changed Tipo não contém uma coluna de índice. Tudo o
que não é perfeito, no entanto, como você verá quando você comete a fórmula:
O primeiro registro retorna um erro, mesmo que o resto dos registros estão funcionando bem. Por quê? Nesta linha, o que é o valor do índice? É 0. subtrair
1 a partir desse, e você começa -1. Qual linha seria [ordem- Data] {- 1} return? Desde que você está trabalhando em um sistema de base de 0, a primeira
linha é {0}, para que você não pode começar em {-1}. Esta é a razão para o erro.
Então, o que este valor retornar? Se não houver recorde anterior, por que não devolver o OrderDate em vez disso? Dessa forma, quando você
faz o seu cálculo, você só tem 0 dias desde o fim anterior. Para corrigir isso, você precisará usar o try, conforme descrito no Capítulo 18:
Com essas datas no lugar, agora você pode calcular o número de dias entre eles:
isso:
A ordem na qual você seleciona colunas aqui é importante. Se você selecionar a coluna PreviousOrder primeiro e depois a coluna
OrderDate, a sua diferença vai aparecer como negativo. Neste momento, a única coisa que resta a fazer é a limpeza final:
Neste ponto, você pode testar a consulta, abrindo os exemplos CH20 \ Variando arquivo Header Rows.txt e fazer modificações para o arquivo. Aqui
está o que você vai ver quando você joga com os dados:
• Linhas adicionadas antes da linha Número ID ou depois do ID linha Total não vai aparecer quando você atualizar a consulta.
• Linhas inseridas entre o número ID e ID Total de linhas vai aparecer, mas você precisa ter certeza de que você inseri-los no
número de ID formato <tab> Valor <tab> Data <Enter>.
188 M é para (dados) do macaco
Capítulo 21 Criando funções personalizadas 189
E então, à medida que cada novo mês veio junto, um fluxo de trabalho de importação, limpo, copiar e colar semelhante viria a seguir. Isto,
naturalmente, levou a vários perigos em ambas as etapas de transformação e o copiar e colar. O mais complicadas as transformações necessárias,
quanto mais tempo o processo correu e quanto mais o trabalho entregue em novas mãos, o mais provável algo ia dar errado. Passos seria perdida ou
realizada de forma incorrecta, resultando num conjunto de dados comprometida.
Enquanto você pode resolver muitos destes problemas através da criação de consultas de acrescentar, e com suficiente clarividência você pode importar todos os
arquivos em uma pasta, o que acontece nas seguintes situações?
• Você construiu uma consulta com transformações significativas contra um único arquivo. O chefe gostou tanto que se transformou em
sistema de inteligência de negócios e agora precisa ser executada em cada arquivo mensal e anexado.
• Você tentou importar todos os arquivos em uma pasta, mas os arquivos necessários transformação antes sendo AP pended.
Qualquer um desses cenários cria problemas, mas cada um pode ser resolvido através da criação de uma função personalizada. Essas funções podem ser
usadas para tomar um conjunto existente de código Poder Query, empacotá-lo e permitir que ele seja executado várias vezes. No caso do primeiro cenário,
você pode reutilizar o que você já construiu e aplicá-lo de forma consistente a cada novo arquivo (reduzindo o fator de erro humano). No caso deste último,
você pode aplicar o processo para cada arquivo, pousando o resultado de cada conjunto pré-processados de dados em uma coluna de tabelas que podem
então ser combinadas. E a melhor parte? Na verdade não é tão difícil!
Isso parece fácil o suficiente na prática. Vamos dar uma olhada como colocá-lo todos juntos.
Ao invés de construir um novo cenário de uso, você vai cair para trás sobre o cenário do Capítulo 18 na lógica condicional, onde você importou o arquivo
timesheet 2015-03-14.txt. Nesse capítulo você já construiu o código para executar a importação você precisava, dirigida a um quadro de horários
específicos.
Não surpreendentemente, você agora gostaria de aplicar a mesma lógica para um arquivo diferente. Ao invés de apenas alterar a fonte, no entanto, você também
gostaria de consolidar esses arquivos e quaisquer outros que são posteriormente adicionados ao diretório. Para fazer isso, você pode usar uma função
personalizada.
Quando você vá em Edit Query, você recebe uma mensagem de erro porque a etapa Fonte refere-se a um local que é diferente de onde você copiou os
arquivos de exemplo. Para resolver esse problema:
190 M é para (dados) do macaco
1. Clique no botão Go to Erro no canto superior direito da barra de mensagem de erro amarelo. Poder consulta mostra o caminho que está sendo usado
atualmente.
2. Clique no botão Editar Configurações e, na caixa de diálogo que se abre no meio da tela, clique em Procurar.
3. Navegue até a pasta onde você copiou os arquivos de origem, selecione 2015-03-14.txt e clique em OK e, em seguida, clique em OK novamente.
Lembre-se que a consulta construída carrega os registros do arquivo de texto, extrai os funcionários em uma nova coluna, e enche-los antes que
a remoção da coluna ajudante e linhas estranhas:
1. Come-se com um nome para a variável que irá armazenar os dados que você deseja substituir.
3. Analise o seu consulta para os dados que você deseja substituir e substituí-lo com o nome da variável.
É uma boa idéia para chegar a um nome de variável que é um pouco descritiva dos dados que irá realizar, pois isso ajuda a auto-documento seu código M. O
objetivo aqui é converter o cenário de uso único para uma função onde você pode atualizar dinamicamente o caminho do arquivo, então você deve usar algo
semelhante ao filePath para descrever o que ele contém. (Finalmente, você começa a escolher o nome. Apenas certifique-se que ele não contém quaisquer
espaços ou caracteres especiais.)
O Windows File Explorer tem um conjunto de regras sobre quais caracteres são permitidos para nomes de arquivos e caminhos. Poder consulta usa
regras ligeiramente diferentes, no entanto. Por exemplo, se você configurar uma pasta como D: \ !! Macaco de dados, ele pode ser lido pelo Windows,
mas o poder de consulta vai sufocá-lo, como o poder de consulta não irá permitir um caminho de arquivo para começar com o! personagem.
Agora que você já determinou o seu nome da variável, editar a consulta para transformá-lo em uma função:
• pressione Enter
Neste ponto, você já convertido sua consulta em uma função. Porque você não subbed o nome da variável no código, no entanto,
a função não vai realmente mudar nada. O próximo passo é ler o código, encontrar o caminho do arquivo existente, e substituí-lo (e
quaisquer citações que o rodeiam) com o nome da variável:
• Selecione o caminho do arquivo, tomando cuidado para excluir as aspas em ambas as extremidades
• Pressione a tecla Delete para limpá-la e remover as aspas em ambas as extremidades de sua seleção
Figura 279 A variável filepath subbed no código no lugar do caminho completo do arquivo.
Quando você vai para selecionar o caminho do arquivo usando o mouse, fonte de consulta seleciona caracteres extras, bem como, incluindo os
parênteses. É uma idéia melhor para clicar em frente à primeira citação, mantenha pressionada a tecla Shift e seta para a direita para selecionar o
código que você deseja substituir. A seleção de texto, desta forma não automaticamente pegar caracteres extras.
Neste ponto, você pode clicar em OK, e sua consulta muda drasticamente:
Estas mudanças são, infelizmente, inteiramente de se esperar. Embora seja grande que é, obviamente, agora uma função e não uma consulta, e afirma
claramente a variável que precisa ser entrada, você vai perceber que você perdeu todos os itens na caixa de Passos Aplicadas. Não se preocupe: Eles ainda
estão todos lá, mas você simplesmente não pode vê-los agora.
Testar a Função
É uma boa idéia para testar se tudo ainda funciona neste momento. Fazer isso:
• Pressione Ctrl + V para colar o caminho do arquivo que você copiou anteriormente
Se você incluiu as aspas quando você copiou o caminho do arquivo anteriormente, você precisará removê-los a partir de ambas as extremidades do
valor colado, como Poder consulta não pode ler o caminho corretamente quando é cercado por aspas.
Quando você clica em OK, a consulta carrega as informações do arquivo e executa-lo através de todos os passos que você escreveu originalmente:
Note também que você tem agora um novo passo na caixa de Passos Aplicadas. Este passo mostra que você chamou a função. Enquanto isso é
ótimo para testar a função, essencialmente quebra a capacidade da função a ser chamada de qualquer outro lugar. Agora que você já testou a sua
função, você precisa remover esta etapa:
Observe que a tabela de quadro de horários que residia na planilha Timesheet desaparece. Isto porque, apesar de apenas clicando Close & Load, a
consulta foi alterado de uma consulta para uma função. Funções, pela sua própria maquiagem, só pode ser criado em um formato somente
Connection:
Chamar a função
Agora que você já fez o trabalho duro, você precisa chamar esta consulta a partir de outra função. Desde que seu objetivo final é consolidar todas as planilhas em
uma pasta, você pode lançar uma nova consulta para importar todas as planilhas ao mesmo tempo:
• Selecione o caminho da pasta e colunas Nome → botão direito do mouse → Retirar outras colunas Mesmo que você tenha restringido os dados apenas
para o caminho da pasta eo nome do arquivo, você tem tudo que você precisa para adicionar uma coluna personalizada e chamar a função. Então faça exatamente
isso:
Capítulo 21 Criando funções personalizadas 193
O truque aqui é para lembrar o nome da sua função e obter o caso direito. Uma vez feito isso, é tão fácil como preenchê-lo com os dados apropriados.
Neste caso, você simplesmente concatenado o caminho do arquivo eo nome do arquivo em conjunto, utilizando o & caráter, assim como você pode fazer
em uma fórmula de Excel. Isso deu-lhe o caminho completo do arquivo, que foi então passado para a função. A função, em seguida, executado todas as
etapas contidas na função e voltou uma tabela para a coluna que representa o conjunto de dados processados para cada arquivo, como você pode ver
aqui:
Agora você pode remover o caminho eo nome colunas de pasta e importar seus dados, consolidando assim os arquivos juntos:
Há uma última coisa a verificar antes de se comprometer esta consulta: os tipos de dados. Este é um pouco de vergonha, mas mesmo que a consulta original que
você construiu definidos os tipos de dados, você verá que nenhuma dessas configurações persistiu quando você transformou-o em uma função e combinou os
arquivos desta forma:
Para salvaguardar contra interpretações pobres por Excel ou Power Pivot, é uma boa idéia para definir os tipos de dados agora. Configurá-los da seguinte forma:
• Texto: Empregado
• Tempo: Fora
solução Impact
As ramificações do processo descrito aqui são bastante extensa. Mesmo se você construir um cenário de uso único, agora você pode convertê-lo para ser
aplicadas de forma consistente em vários arquivos. Que é um benefício enorme que foi estru- ously indisponível para prós Excel, pelo menos em fácil de
implantar moda.
Você pode lidar com situações em que a sua pegada de dados se expande em vários arquivos e onde transformações seria demasiado complexo se os arquivos
foram todos combinados em um antes de ser processado. Através da construção de um caso de uso único, você pode aperfeiçoar a transformação em uma escala
menor e, em seguida, anexar os resultados finais.
Embora não seja ideal, existe uma maneira de converter uma função de volta para uma consulta para que você possa testá-lo. A parte nate Infeliz- deste
processo é que ele é um estado temporário porque convertendo a função em um estado depurável converte-o para fora de modo função, rompendo quaisquer
dúvidas subsequentes durante o processo de depuração. No entanto, é a única maneira de cumprir a meta, então você vai aprender sobre isso na próxima.
Para comentar uma linha no código M, inserir os caracteres // no início da linha. Isso diz ao motor de Energia Consulta que os caracteres
restantes na linha não deve ser executado. Para duplicar a variável, você precisa configurar um novo passo após a linha let inicial para
criar e atribuir um valor à variável. Essa linha deve ser construída usando a seguinte sintaxe:
variable_name = assign_value_here ,
O nome da variável deve ser a variável que está fechado nos parênteses abertura para a função, e a linha tem de terminar com uma
vírgula. Dê uma olhada:
diferente do que a última vez que você olhou para este código:
Capítulo 21 Criando funções personalizadas 195
Não se esqueça da vírgula final no fim da linha, ou o seu código não vai funcionar! Quando estiver
Figura 286 O código modificado para converter isso de volta para uma consulta.
196 M é para (dados) do macaco
Quando você clica em OK, você pode percorrer e verificar o que está acontecendo em sua consulta:
O bom aqui é que você ainda pode clicar o passo filepath para ver o caminho que você definir, e então você pode rever cada passo para ver como ele está
reagindo. Se você encontrar erros na forma como os seus dados são manipulados, você pode corrigi-los e, em seguida, virar a consulta de volta para uma função
novamente.
Enquanto sua função é no modo de depuração, quaisquer consultas subsequentes que se referem a ele não funcionará!
• Coloque os personagens // na frente da linha que está declarando a variável filepath Uma vez que estas coisas são feitas, a sua função irá
retomar o seu método de operação normal, e todas as consultas que utilizam esta função será capaz de usá-lo novamente.
Esquecendo-se de comentar a linha variável temporária irá resultar em que a linha substituindo qualquer variável passado para a
função. Você não quer se esqueça de comentar essa linha!
Capítulo 22 Avançado condicional Logic 197
Ao contrário das fórmulas analisadas anteriormente, replicando outras fórmulas na biblioteca lógica condicional do Excel envolve técnicas um pouco mais
complicado, incluindo o uso de listas e funções personalizadas.
multicolumn Logic
Ocasionalmente, como você está tentando filtrar para baixo de dados brutos, pode ser necessário para filtrar com base em vários critérios. Considere o seguinte
conjunto de dados, que está incluído nos Exemplos CH22 \ arquivo Logic.xlsx Multi-Column:
Se os dados são armazenados em uma tabela do Excel, você poderia resolver isso usando filtro avançado ou adicionando uma coluna usando a seguinte fórmula e
filtrar somente os resultados que estão listados como verdadeira:
Puxar os dados em poder de consulta para ver como você deve abordar o seguinte:
Como não é possível filtrar os dados sem perder registros necessários, você vai precisar adicionar uma coluna personalizada e aplicar uma fórmula para
examinar cada linha:
Quando você está procurando comparações de texto, é útil para verificar rapidamente a lista de funções de lista contidos nas categorias fórmula de poder
de consulta.
198 M é para (dados) do macaco
Lembre-se que você pode acessar a lista de fórmulas Poder consulta clicando no Saiba mais sobre o Poder Consulta fórmulas link na
parte inferior da caixa de diálogo coluna personalizada e clicando a fórmula de energia consulta categorias vincular parcialmente abaixo
na página. Você acaba no https://msdn.microsoft.com/ en us-/ página web biblioteca / mt296612.aspx.
Dentro das funções da lista, você verá que há uma função List.AnyTrue, que soa um pouco promissor. Selecionando esse item na
documentação revela o seguinte exemplo:
List.AnyTrue ({2 = 0, falso, 1 <0}) é igual a falsa
Com base nisso, você pode ver que a função contém uma lista de valores, como indicado pelas chaves dentro dos parênteses. Ele também
mostra que a função retornará false se nenhum dos itens são verdadeiras. Tente ninho esta fórmula no lugar do teste de lógica:
= Se List.AnyTrue (
{[Item Inventory] = "Falador Parrot", [Vendido por] = "Fred"}
)
em seguida, "Cumpre os critérios!"
mais "No Match"
Lembre-se que você precisa separar os critérios com vírgulas e, em seguida, cercar toda a lista de critérios com chaves porque a
função List.AnyTrue () requer uma lista como parâmetro. Ao clicar em OK, você pode ver que a fórmula retorna a sua mensagem em
qualquer caso em que o item de vendas é igual Falante Parrot ou o Vendido por campo detém Fred:
Desde que a função retorna verdadeiro se qualquer um dos critérios são verdadeiras, todas as instâncias onde Fred vendeu um Falante Parrot também exibir
o resultado Cumpre os critérios! no jogo? coluna. Agora você pode finalizar esta consulta, tendo os seguintes passos:
• Filtrar o Jogo? coluna para incluir somente única Cumpre os critérios! valores
Poder consulta retorna uma tabela contendo um total de 88 linhas fora do original 332.
O truque para isso é essencialmente o mesmo que o truque com replicar a função OR () com List.AnyTrue (), exceto que para E (), você
precisa usar a função List.AllTrue (). Esta função retorna um valor verdadeiro somente se
cada teste lógico fornecido retorna um valor verdadeiro, exatamente como o Excel da função AND (). Dê uma
• Ir para o painel a pasta de trabalho Consultas → botão direito do mouse pqOR → Duplicate
• Selecione o passo Adicionado Personalizado → clique no ícone de engrenagem (para editar a fórmula)
Como você pode ver, os resultados são bastante diferentes do que os resultados que obtém usando a função List.AnyTrue original ():
Figura 290 Usando a função List.AllTrue () para marcar registos com base em critérios de múltiplas colunas.
Enquanto este exemplo, obviamente, filtrado os dados com base nos resultados da saída da fórmula, a grande coisa sobre esta função é que você
pode facilmente marcar registros sem filtração em primeiro lugar. Isto permite-lhe mais flexibilidade na construção de uma lógica mais complicada e
ainda preservar seus dados, algo original que não pode ser feito se você filtrar colunas para perfurar os valores finais.
Na verdade, você não precisa fazer nada especial para emular correspondência exata do PROCV, já que esta funcionalidade pode ser replicado por
simplesmente fundir duas mesas juntos, conforme descrito no Capítulo 9.
Para começar, abra Exemplos CH22 \ Emulando VLOOKUP.xlsx. Neste arquivo você encontrará duas tabelas: BandingLevels e DataTable.
200 M é para (dados) do macaco
Se você analisar as funções em colunas B: D da tabela DataTable, você verá que eles contêm funções VLOOKUP (), como mostrado nos cabeçalhos
das colunas. Cada coluna é procurando-se o valor mostrado na coluna A, para que a linha de encontro a tabela de BandingLevels. As colunas B e D
estão retornando o valor de coluna 2 da tabela de BandingLevels, e a coluna C está a devolver o valor a partir da coluna Alt faixa da tabela de
BandingLevels. Além disso, observe que as colunas B e C estão retornando correspondências aproximadas porque o quarto parâmetro ou foi definido
como True ou omitido. Coluna D, no entanto, está pedindo uma correspondência exata (como o quarto parâmetro foi definido para False), resultando
em todos os registros de retorno # N / A exceto para o último um. Você deve configurar a função de consulta de energia que precisamos agora, e
então você vai ver como ele replica a versão de Excel de PROCV ():
• Clique em Concluído
• Selecione qualquer célula nos BandingLevels mesa → criar um novo → consulta Da Tabela
Agora estamos prontos para ver como ele funciona. Puxe na DataTable, e remover todas as versões do Excel das funções.
Para ver se a função pqVLOOKUP funciona para você, você pode tentar replicar a seguinte fórmula:
Figura 294 replicar PROCV () com uma correspondência aproximada explicitamente definido.
202 M é para (dados) do macaco
Este parece ser bom. Agora tente sair da, verdade para fora da extremidade e voltando a terceira coluna da tabela de consulta em vez do segundo:
Tente mais uma. E se você queria para definir uma correspondência exata contra a segunda coluna da tabela de lookup? Para fazer isso:
Mesmo que você pode usar essa função para emular PROCV () 's correspondência exata, você não deve. O filho rea- é que você pode realizar
um efeito correspondência exata fundindo tabelas juntos, um método que será muito mais rápido. Se você precisar a funcionalidade
Neste ponto, você deve estar ciente de uma diferença menor entre PROCV do Excel () ea função pqVLOOKUP: o # N / A valor retornado por
pqVLOOKUP é realmente texto, não um verdadeiro erro, como você pode ver abaixo.
texto retornando é o mais perto que você pode chegar ao retornar de erro, como não há nenhuma maneira de saída de um verdadeiro # N / A erro no Poder Query.
204 M é para (dados) do macaco
(Valor_procurado como qualquer, table_array como mesa, col_index_number como número, approximate_match opcional,
lógico) como qualquer =>
deixei / * Fornecer jogo opcional se o usuário não * /
matchtype =
se approximate_match = null, em seguida,
verdadeiro
outra approximate_match, / * Obter nome da coluna de retorno *
próxima partida * /
SortData = Table.Sort (table_array,
{{ColName_match, Order.Descending}}), RenameLookupCol =
valor_procurado = ClosestMatch
3. Remova todos os registros maiores do que o valor que está sendo procurado.
4. Volte a colocar o valor na coluna solicitada para o primeiro registro restantes a menos que uma correspondência exata foi
Especificadas.
Capítulo 22 Avançado condicional Logic 205
5. Se uma correspondência exata foi especificado, teste para ver se o retorno é um jogo. Se for, retornar o valor. Se não for, o retorno # N / A.
• Cada uma das variáveis nos parâmetros tem um tipo de dados explicitamente declarado. Isto é para evitar que o utilizador de fornecimento
acidentalmente uma tabela onde é necessário um número de coluna numérico.
• o matchtype testes variáveis para ver se um tipo de correspondência foi especificado. Se um tipo de correspondência foi especificado, é atribuído
ao matchtype variável, mas se não ( approximate_match é nula), um valor de verdade será atribuído.
• O nome da coluna a ser devolvido é puxado através da revisão dos cabeçalhos da coluna da tabela, dividindo-os em uma lista de
registos, e puxa para fora a ficha cujo índice corresponde a coluna solicitada (menos 1 para ajustar a base de 0).
• Os dados são classificados em ordem decrescente, com base na coluna a ser pesquisada. Todos os registros maiores do que o valor
solicitado são removidos (selecionando todas as linhas onde o valor é menor ou igual ao valor que está sendo procurado).
• Se nenhuma linha permanecem, um # N / A resultado é então armazenado, mas se houver linhas, o primeiro registro na coluna de pesquisa é
armazenado. Este resultado pode depois ser verificadas para ver se ele corresponde ao registro que está sendo procurado (que é importante para o
cenário de correspondência exata).
• O valor correspondência aproximada é então ( sempre) calculadas, mesmo se uma correspondência exata foi solicitado. Se não há linhas estão
presentes no conjunto de dados, um # N / D resultado é armazenado; caso contrário, o valor mais próximo é puxado a partir da coluna de retorno.
• O teste final verifica o tipo de jogo solicitado. Se for uma correspondência aproximada, em seguida, a correspondência mais próxima é sempre
devolvido (que pode ser # N / A). Se, no entanto, o tipo de correspondência era uma correspondência exata, o código retornará # N / A, em vez da
correspondência mais próxima a menos que o valor da coluna de pesquisa correspondeu ao valor que está sendo procurado exatamente.
Deve ir sem dizer que esta não é uma função que você vai bater para fora em poucos minutos. É longo e com- plicado, e levou várias horas de
desenvolvimento e depuração, a fim de obtê-lo correto. É, no entanto, uma função bastante robusto na forma como ele funciona, e ele mostra
como construir funções complexas usando Poder Query.
E = empregado, S = Iate Clube, N = não seja sujeito passivo, R = Restrito, I = inactivo, L = social, M =
médica, L = regular
Para quebrar este apart em Excel, você poderia construir uma função com muitos aninhados instruções IF e construir uma PROCV () com base nas
opções de letra. Em Power Pivot, porém, é muito mais fácil com a função switch (), como segue:
= INTERRUPTOR ([Coluna], "E", "funcionário", "S", "iate Club", "N", "não sujeito
passivo", "R", "Restrito", "I", "Inactiva", "L", "social", "M", "Médico", "U", "regular",
"Undefined")
Existem várias maneiras de conseguir este objetivo. Você poderia, por exemplo, extrair apenas a nona letra e mesclar os
resultados contra uma mesa. O objetivo desta seção é dar-lhe ainda uma outra alternativa.
206 M é para (dados) do macaco
Construir a função não é muito difícil uma vez que você sabe a estrutura básica. Veja como você a começar:
{valores
{Result_1, return_value_1}, {entrada,
"Undefined"}},
Este código é a estrutura básica para qualquer função SWITCH (). Estas são as peças-chave para reconhecer aqui:
• result_1 é a primeira das possibilidades que você pode passar para a função
• Se você precisar de mais valores, basta inserir outra vírgula após o { result_1, return_value_1} seção e colocar em um { result_2,
return_value_2} seção
• O valor de entrada na lista irá retornar o texto Indefinido se o valor que você passa não está na sua lista fornecida de opções (é a
parte Else da instrução switch ()) Utilizando esta estrutura, você pode modificar a função fnSWITCH para o cenário da seguinte forma:
(Entrada) =>
deixei
= {valores
{ "E", "funcionário"}, { "S", "SCYC"},
{ "N", "não sujeito passivo"}, { "R",
"Restrito"}, { "I", "Inactiva" }, { "L",
"social"}, { "M", "Médico"}, { "U",
"regular"}, {entrada, "Undefined"}},
As alterações feitas aqui foram simplesmente para substituir value_1 com “E” e return_value_1 com "Empregado"
e, em seguida, adicionar mais pares lista de possíveis entradas e valores desejados para retornar. Note-se que você não está restrict- ed para olhando para
cima caracteres simples. Você pode procurar valores ou sequências de texto maiores com a mesma facilidade; apenas certifique-se de que suas opções são
sempre entrou em pares entre chaves e ter uma vírgula no final da linha. Quando você terminar de fazer as modificações:
• Clique em Concluído
• Selecione qualquer célula na tabela sobre os clientes planilha → criar uma nova consulta → da tabela de cargas de dados em poder de
A função fnSWITCH () é projetado para converter o carácter nono do BillingCode na correspon- tipo de cliente ing. A fim de
usá-lo, você precisa extrair esse personagem:
• Ir para Adicionar Coluna → Adicionar coluna personalizada
Lembre-se que você precisa para começar em caracteres de 8 a fim de obter o personagem nono porque o poder de consulta usa a base 0
indexação para este parâmetro da função Text.Range, como mostrado no capítulo 17. Os resultados são perfeitos:
Você verá que todos os códigos de amostra nos dados funcionar muito bem e que nada vem de volta como indefinido. Siga estes passos para ver
como a consulta reage a diferentes itens:
• Alterar o segundo ao último carta de qualquer código de faturamento para outra coisa
208 M é para (dados) do macaco
Quando você atualizar a tabela, ele avalia o novo personagem e retorna o resultado apropriado. Aqui você pode ver o que acontece quando o código de
faturamento do primeiro registro é atualizado para MP010450 X P:
Note que a função como escrito acima é maiúsculas e minúsculas, o que significa que o código MP010450 você P também retornar indefinido,
embora MP010450 você P é um código válido. No caso da fonte original dos dados, este foi totalmente esperado porque códigos válidos são
compostas de letras maiúsculas.
Se você quisesse aceitar maiúsculas ou minúsculas, você precisará modificar a consulta Faturamento (não a função) e forçar os
resultados da função Text.Range para maiúsculas:
Como você pode ver abaixo, este ajuste permite que você passe valores minúsculas para a função e ainda obter um resultado positivo:
Figura 301 O tipo de cliente é calculado de forma consistente para letras maiúsculas e minúsculas.
Capítulo 23 Tabelas Dinâmica de Parâmetros 209
Considere o exemplo no último capítulo, de puxar planilhas de uma pasta. Digamos que você construiu o arquivo consolidação mestre, ele foi salvo em H: \
Payroll, e para meses foram armazenar a tabela de tempos na subpasta H: \ folha de pagamento \ Timesheets. Depois de trabalhar duro durante todo o ano,
você finalmente obter algumas semanas de folga e tem que passar o ção solu- para outra pessoa para manter enquanto você estiver fora. Há um problema,
porém: O seu sistema tem o caminho para sua solução mapeada como J: \ HR \ Payroll. Ao invés de recodificar a solução para a sua substituição e depois ter
de recodificar-lo novamente quando você voltar, você realmente gostaria de fazer o caminho relativo para onde a pasta de trabalho está localizado. Dessa
forma, se o usuário abre-se a partir de J: \ HR \ Payroll ou H: \ Payroll ou qualquer outra coisa, ele não deve fazer a diferença.
O verdadeiro desafio? Não há atualmente nenhuma função na língua M que lhe permite trabalhar fora do caminho para a pasta de trabalho que você está usando.
Curiosamente, uma fórmula de Excel pode fazer este trabalho.
Antes de embarcar na viagem de fazer o caminho de arquivo dinâmico, há algo que você deve saber sobre esta técnica: consultas
onde o acesso de dados acontece dentro de uma função e onde a fonte de dados é dependente de parâmetros para a função
atualmente não podem ser atualizados em poder BI. Isso ocorre porque Microsoft realiza a análise estática da consulta para
descobrir a fonte de dados e da análise estática ainda não pode lidar com esse cenário.
Isso não significa que a funcionalidade não é útil, e isso não significa que não será apoiado um dia. Significa simplesmente que você
deve contar com ele somente se a solução vai viver na área de trabalho do Excel e não na web.
Vamos percorrer cada etapa deste processo usando as Ch 23 Exemplos \ arquivo Parâmetro Tables.xlsx. Ao abrir este arquivo, você vai reconhecer
que é uma continuação do arquivo Timesheets que você construiu ao longo de um par de capítulos. O desafio com este arquivo é que atualmente os
caminhos estão todos codificado para o seu PC, (o autor de, no caso do arquivo de exemplo,) e agora você gostaria de entregar a solução para que
ele funciona, não importa onde você armazená-lo .
210 M é para (dados) do macaco
certos componentes configurado corretamente. Criar a tabela mostrada abaixo na célula A7: B8 da planilha Info:
Cada uma destas características deve ser correta se você quiser copiar e colar uma função que você foi fornecido nos arquivos de
download. Se até mesmo um desses itens é escrito de forma diferente, você vai precisar para depurar a mesa ou a função.
A tabela está agora configurado para manter cada pedaço de dados que você deseja usar como uma variável dinâmica em sua solução. Basta
fornecer o nome do parâmetro à esquerda e o valor para o parâmetro na coluna Valores.
Os itens na coluna Valores pode ser codificado texto ou valores, eles podem ser conduzidos por listas de validação de dados, ou eles
podem usar fórmulas. Como você obter o valor correto na célula é completamente até você como o designer solução.
Em seguida, você precisa determinar o caminho do arquivo para a pasta de trabalho atual. Introduza a fórmula abaixo em célula B8:
= ESQUERDA (CELL ( "nome do arquivo", A1), FIND ( "[", CELL ( "nome", A1), 1) -1)
Se você não salvou o arquivo, esta função não irá retornar o caminho, porque não pode determinar onde a pasta de trabalho vive. Salvar o arquivo
irá corrigir esse problema para você.
Ao fazê-lo, você deve ver o caminho do arquivo para a pasta de trabalho listados. O único desafio é que você realmente quer este caminho de arquivo para apontar
para a pasta de arquivos de origem, que é onde os quadros de horários são armazenados. Actualizar a fórmula apresentada abaixo:
= ESQUERDA (CELL ( "nome do arquivo", A1), FIND ( "[", CELL ( "nome", A1), 1) -1) & "Fonte Files \"
Figura 303 dinamicamente retornar o caminho do arquivo usando uma fórmula de Excel.
Capítulo 23 Tabelas Dinâmica de Parâmetros 211
Excel.CurrentWorkbook ()
{[Name = "Parâmetros"]} [conteúdo], ParamRow =
Table.SelectRows (ParamSource,
cada ([Parâmetro] = ParameterName)), Valor =
Esta função está contido no arquivo fnGetParameter.txt na pasta Exemplos CH23. Além do código, ele também contém
instruções para utilizar a função, assim como a fórmula para retornar o caminho do arquivo a partir de uma célula. O arquivo é
fornecido para lhe dar um modelo que você pode armazenar e utilizar várias vezes. Este código se conecta a tabela Parâmetros
na pasta de trabalho e, em seguida, seleciona a linha da tabela onde o valor do parâmetro dinâmico corresponde ao registro na
coluna Parâmetro da tabela de Excel. Com esse jogo no lugar, em seguida, retorna o que ele encontra na coluna Valor. É porque
cada um desses nomes é codificado na função que tanto a tabela e nomes de coluna para o jogo tabela do Excel que foi
especificado acima. Em vez de digitar novamente todo este bloco de código, abra o Exemplos \ arquivo fnGetParameter.txt CH23
e copiar todas as linhas dentro do arquivo.
• Clique em Concluído
feito.
212 M é para (dados) do macaco
O Navigator permite que você selecione qualquer de suas consultas ou funções, de modo que você pode rapidamente virar para trás e para frente, fazer alterações
e testar os efeitos que eles têm sobre outras consultas. Aqui está o que você faz agora:
Você criou uma nova variável chamada fullfilepath para manter o valor da linha Caminho do arquivo da tabela de Excel. Também vale a pena notar aqui que não
são estritamente necessárias para criar uma nova variável, a fim de utilizar o nosso ção fun-. Você poderia pule esta etapa e apenas ninho a chamada
fnGetParameter no lugar do caminho do arquivo na próxima linha. Ao adicionar esta chamada em uma linha separada, no entanto, você fazer a consulta muito
• Clique em Concluído
O caminho do arquivo completo para a pasta é exibido bem no editor, dando-lhe o conforto que você tem que peça correta:
Capítulo 23 Tabelas Dinâmica de Parâmetros 213
Agora que você sabe que a função está retornando o caminho correto através da fórmula do Excel, você pode corrigir a variável no lugar do
caminho do arquivo codificado na etapa Fonte:
Você deve editar o código M manualmente para fazer este trabalho. Ele não pode ser feito clicando no ícone de engrenagem próximo ao step
Fonte, como fullfilepath não é uma pasta válida para o sistema operacional Windows. Quando você tiver feito as modificações, você pode clicar feito,
Mas o poder de tabelas de parâmetros não termina aí. Considere cada uma das seguintes tarefas que você pode desejar para executar:
• Construir uma tabela de calendário com base nas datas em células em uma planilha do Excel
• Dirigir um filtro para uma tabela com base no valor em uma célula do Excel
• Determinar qual das quatro tabelas do Excel para carregar em uma solução
Ao configurar e utilizar uma função personalizada para ler a partir de uma tabela do Excel, podemos realizar qualquer um desses objetivos. Isso nos oferece não
apenas a capacidade de conduzir de forma dinâmica o nosso conteúdo, mas também nos dá a capacidade de gerar dados em um ambiente mais familiar para nós,
e em alguns casos, fazer as coisas que Power consulta não seria caso contrário nos permitem fazer.
Mais uma vez, precisamos chamar a ressalva de que se você estiver publicando ao Poder BI, esta solução não vai funcionar para você, como Poder BI
não suporta atualmente gerando dinamicamente caminhos para bancos de dados e outros. Se você estiver desenvolvendo o seu conteúdo em um
ambiente de trabalho Excel, no entanto, você vai achar que este é uma das técnicas mais úteis neste livro.
Capítulo 24 Tabelas Calendário dinâmicos 215
Se você não mora em uma organização como essa, no entanto, as coisas são mais difíceis. Você pode chegar a fontes da web, mas aqueles não funcionam
quando você está mexendo com o seu modelo enquanto está sentado em um avião ou no caminho para visitar suas operações naquela mina na África.
Você também pode construir o seu calendário em uma tabela do Excel, mas isso leva a desafios quando os dados mantém em expansão, como a tabela de
data não expandir automaticamente para você. Para os usuários, o Query Poder veio para o resgate. Como você verá, é super fácil de configurar um
calendário totalmente dinâmico no Excel usando o poder de consulta. E construir sobre as técnicas do Capítulo 23, você pode dirigir a coisa toda com base
no valor em algumas células do Excel.
Com base nos métodos explorados no Capítulo 23, neste capítulo, você verá que este processo é realmente muito rápido de configurar.
existente também. Se acontecer de você já ter uma tabela de parâmetros na sua solução, você pode simplesmente adicionar novos campos a ele. Se não, você vai
ter que construir a tabela a partir do zero. Lembre-se das peças-chave aqui como você construir a sua tabela:
• Deve haver uma coluna Parâmetro e uma coluna Valor Você deve
Quando a instalação estiver concluída, a tabela vai olhar como mostrado abaixo:
A função fnGetParameter agora está instalado, bem como, pronto para ser usado:
Você tem agora uma nova consulta com nada nele em tudo:
Uma maneira mais fácil para começar a construir o calendário, acredite ou não, é começar a partir de uma lista simples. Clique dentro da barra de fórmulas e
insira a seguinte fórmula:
= {} 1..10
Isso cria uma lista de um a dez:
Capítulo 24 Tabelas Calendário dinâmicos 217
Em seguida, converter essa lista em uma mesa e ver o que acontece se você mudar a coluna resultante em datas:
Embora não seja exatamente o intervalo de datas que você está depois, você começa realmente o início de uma tabela de calendário:
Mesmo que isso não significa necessariamente parecido com ele, você está em boa forma aqui. Lembre-se que a tabela de parâmetro de
configurar? E se você inseriu um par de passos no início desta consulta para extrair as datas de início e término e tentou alimentar aqueles na
lista em vez de usar 1 a 10? Tente:
Neste ponto, é uma boa idéia para apenas verificar ambas as etapas e verifique se eles estão realmente voltando a data que você está esperando-los a
voltar.
Com as variáveis agora segurando as datas de início e fim, você pode sub-las na linha Fonte, substituindo o 1 e 10 você colocar em como espaços
reservados anteriores:
= {} Startdate..enddate
• pressione Enter
Esta mensagem de erro não é muito clara. Melhor formulação poderia indicar que a energia de consulta não pode usar o .. operador a menos que tenha os
números de cada lado. Você forneceu datas, não números. E enquanto você sabe que as datas são apenas números de qualquer maneira, poder de consulta
não é tão indulgente.
Este não é um show-rolha por qualquer meio. Significa apenas que você precisa converter essas datas em seus números de série de data. Uma vez que eles
são valores, Poder consulta será capaz de trabalhar com eles. Aqui está o que você faz:
data de início agora é convertido em número de série da data, 41640. Se você pisar até o fim da consulta, você pode ver que agora você tem um
calendário de trabalho que vai de 01 de janeiro de 2014, até a data do término fornecido pelo seu tabela do Excel:
• Selecione a coluna Data → Adicionar Coluna → Data → Dia → Dia Como você pode ver, a
Poder consulta tem uma variedade de formatos que são muito fáceis para adicionar à mesa. No entanto, há também alguns formatos que não existem.
deles é explicitamente para uso em Excel (não poder consulta) e pode ser usado para conduzir iniciar ou datas de término para dar-se um intervalo que tem como
Fórmula
que você vai querer saber são listados aqui: Formula Excel
saiba que todas as datas são baseadas em um número de série de data, Poder consulta não pode converter implicitamente o tipo de dados como lata Excel.
Por esta razão, há uma coleção de funções Date.Addx para usar para essa finalidade: Adicionando x
09 de agosto de 2015 Texto ([Data], "mmm d, aaaa") Date.ToText ([Data], "MMM d, aaaa")
9 de agosto de 2015 Texto ([Data], "mmm dd, aaaa") Date.ToText ([Data], "MMM dd, aaaa")
O erro Formula.Firewall
Uma das coisas que você não tenha visto até agora neste livro é o erro Formula.Firewall temida, mas pode ser um choque quando ela bate em você. E,
embora existam estratégias para evitá-lo, é melhor se você sabe de antemão o que faz com que esta mensagem de erro desagradável para aparecer.
A mudança do escopo. Isso é o que. Suponha que seu gerente lhe diz que ele quer que o departamento para cada ployee em- fundiu-se com o conjunto
de dados.
Você tem os registros de funcionários armazenados em outro arquivo do Excel com o nome eo departamento de cada funcionário. Você sabe que pode importar
arquivos do Excel, e você sabe como mesclar conjuntos de dados em conjunto. Quão difícil isso pode ser? Experimente para ver:
Esta tabela parece muito bom. Na verdade, parece tão bom, você tentar apenas carregá-lo para uma conexão imediatamente, como ele realmente não necessita de
qualquer modificação em tudo:
• Clique na seta na carga opção → Carga Para ... → Só Criar Conexão Você obter um bom consulta novas EmployeeDepts em seu
Não importa isso. Clique em OK e esperar o melhor. E estrondo, você começa a temida Formula.Firewall mensagem:
Esta mensagem é um pouco intimidante. Em Inglês, o que ele está tentando dizer é que você se conectou dois com- pletamente conjuntos de dados diferentes
usando a mesma consulta. Não importa se você está trabalhando com duas mesas de uma mesma pasta de trabalho; eles são vistos como dois conjuntos de
dados, e não poder consulta não como este.
• Ir para o painel a pasta de trabalho Consultas → clique com o botão direito do Timesheets consulta → Carga Para ...
Agora você tem um ponteiro só de conexão configurado para ambos os dados planilhas e os dados EmployeeDepts. Criar uma nova consulta para
fundi-los:
• Clique OK
funciona:
Você usar consultas de preparação para garantir que você criar consultas separadas para extrair os dados iniciais de cada fonte de dados. Você, então, fazer
tantas transformações quanto possível na consulta de teste, a fim de obter os dados em uma forma em que ele pode ser usado por tantas outras consultas
quanto possível. O que você nunca fazer, porém, é tentar mesclar com outra fonte de dados ou carregar o resultado final em uma planilha do modelo de
dados. Ambas as tarefas são reservados para uma consulta de carregamento.
Uma consulta de carregamento é projetado para extrair dados de uma ou mais consultas de preparação e mesclar ou anexar conforme necessário antes
de fazer quaisquer transformações finais que são necessários. Você, então, criar essas consultas para carregar a saída para o destino final, seja a planilha
Tecnicamente, combinando quaisquer duas fontes de dados diferentes podem causar um erro de Formula.Firewall a aparecer; mesmo tentando injetar um
parâmetro a partir de uma tabela de parâmetros Excel pode provocar o erro. Se você receber um erro Formula.Firewall ao tentar ninho uma chamada
parâmetro dinâmico no meio de uma consulta, tentar declarar sua variável na frente ao invés de evitar a declaração da variável e aninhar a função mais tarde
no código. Isso muitas vezes resolve esse problema.
Ressalvas
Ao trabalhar com consultas de preparação e de carregamento, você precisa ter cuidado em certos casos, especialmente quando a fonte de dados que você
conectar a pode tirar vantagem da consulta dobrar para melhorar o desempenho. A razão para isto é que a dobragem consulta pode ser executada apenas a partir
da ligação primária para a fonte de dados (a consulta de teste). Ao usar uma abordagem de preparação / carga contra um banco de dados que suporta dobrar
consulta, você deve sempre tentar fazer o maior número de filtragem e as operações de agrupamento que puder na consulta de preparo. Isto irá permitir que o
poder de consulta para passar o trabalho de processamento de volta para o banco de dados. Assim que você sair da sua consulta de teste em uma consulta de
teste secundário ou a consulta de carregamento, não mais comandos podem ser passados de volta para o banco de dados a ser dobrada, o que significa poder de
consulta tem que fazer o trabalho de processamento. Isso pode retardar significativamente o processo. Ele também pode fazer sentido para fazer várias conexões
ao banco de dados para puxar conjuntos de dados individuais, permitindo que o banco de dados para fazer o trabalho pesado para você desde bancos de dados
são otimizados para a classificação, filtragem e as operações de agrupamento.
Por outro lado, se você está direcionando sua solução contra as fontes que não suportam consulta dobrar (como texto ou arquivos do Excel), é uma boa idéia para
criar uma consulta de teste para puxar os dados e cortá-la para baixo tanto quanto pos- sível. Então você pode criar quantas consultas de preparação / carga
secundário para reformular os dados, conforme necessário, a fim de obtê-lo em seu modelo. Como não há capacidade de tirar proveito de um mecanismo de
processamento mais eficiente, você quer trazer os dados em uma vez e tentar certificar-se de cada etapa trabalha com o menor número de registros possível para
melhorar o tempo de processamento.
Você também deve estar consciente de não tentar criar muitos níveis de consultas de preparação entre a sua fonte de dados e suas consultas de
carregamento. Considerando que a utilização consulta uma encenação alimentando uma consulta de carga pode ser bastante fácil de seguir, as coisas ficam
muito mais complicado quando você iniciar a alimentação de dados através de cinco ou mais consultas de preparação intermediárias no caminho para o
resultado final. É um longo rastro de processo, o que poderia ter pactos desempenho im-, e certamente haverá um longo trilha para auditoria se algo correr mal.
Mantendo o fluxo de consulta mais apertado irá ajudá-lo quando você está tentando depurar e manter suas consultas.
Capítulo 25 Organização consulta 225
Você também deve estar ciente de que o Poder BI geralmente não apreciam longas trilhas de consultas usando a abordagem de consulta estadiamento e
carregamento. Se você está pretendendo para empurrar a sua solução para poder BI, é uma boa idéia para tentar manter a abordagem a uma única consulta, se
possível, e limitar o número de passos se não.
agrupamento Queries
A ordenação é grande, mas não ajudá-lo a categorizar consultas muito facilmente. Especialmente quando se utiliza a abordagem de preparação e de
carregamento, é muito útil para criar grupos em que para armazenar cada consulta. Veja como:
• Direito do mouse no fnGetTimesheet consulta → Mover para o grupo → Novo grupo ...
É, em seguida, apenas uma simples questão de criar novos grupos para a realização e consultas de carregamento, bem como:
Essa abordagem funciona muito bem para manter as coisas organizadas, e também lhe dá a capacidade de digitalizar rapidamente as consultas para ver se
eles estão configurados como esperado. Se você ver o texto “x linhas carregadas” sob uma consulta de teste, você sabe que não está realmente tomando um
papel específico de preparação, e você pode corrigi-lo ou movê-lo para o grupo de carga. Além de ser capaz de realizar o reordenamento e agrupamento na
interface do Excel, esses recursos também são suportados no editor de Energia Consulta, via painel Navigator:
Adição 140 AdventureWorks 65 Perigos 94 Bases de Dados de matemática de uma pasta de 33 livros de exemplo para o
Agregando enquanto agrupamento 118 Todos actualização de dados de erro 93 97 mangueira 148 fogo equivalente primeira
os arquivos em uma pasta 33 e () equivalente melhores práticas 101 Date.From 143 polegada 29 Primeira fila como cabeçalhos 21
198 Qualquer tipo de dados 97 Anexar qualquer Date.FromText 143 Data funções 219 Data fnGetParameter () 211 fnSWITCH () 207 de
tipo 99 operações Anexar consulta 27 Append modificados números de série 64 98 Data pasta, de importação todos os ficheiros 33 de
28 Datas de texto 38 Date.ToText 143 tipos de erro Formula.Firewall 221 Fórmulas 139 141
194 Decimal.From 144 Definir uma vez 6 partir da web 103 Funções 170 Futuro isolantes
Excel vs Poder consulta ícones 30 para as Distinct contagem 119 Divisão 140 não se de 33 botão fx 182
opções de autenticação 62 mais à esquerda agregam 130 de duas cabeças seta 40, 69
delimitador para dados da Web 103 Média de os espaços em duplicado 58 A duplicação
119 Azure 65 de dados 49 Duration.From 144 144
Duration.FromText cabeçalhos dinâmicos 83
dinâmico chamado varia 17 parâmetro
dinâmico tabelas 209
B
117
Calendário
nomeações de câmbio 111 mesas 215
H
tipo 13
Cada linha 178 Fim de mês 38 termina com Eu
ferramentas de desenvolvimento do
46 erros 168 são excitantes de 60 filtragem
Chrome 106 clean () equivalentes 58
45 linha de nível 169 passo-nível 169 ETL 4 Ícone para carregar todos os 34 SE () equivalente
Fechar & carga 13 campos Colapso 75
Exemplo 9 arquivos Excel.CurrentWorkbook 155 SEERRO () equivalente 154 Implícita vs
Combinando planilhas 43 Comentários 177
() 43, 50 Excel.Workbook ([conteúdo]) 50 conversão explícita 142 importar dados do Excel
troca dados 111 melhores práticas 115 11 14 a partir de dinâmica varia de 17 intervalos
modelo de dados 89
mesas de localidade 24
P
expressões lógicas 153
tabelas de parâmetros 209 pessoas, a
Median 119
texto Nondelimited 57
Capítulo 25 Organização consulta 229
às datas de 38
Workshops de capacitação 7
contrário 154
você
W
Dados Web 103 arquivos
combinando 43
Afie o seu
Pivot poder, Mapa poder, Mapa poder,
e as habilidades de Excel com os
livros dos principais autores.
contracapa - Página intencionalmente em branco