Criando um gráfico que agrupa dados por data e categoria

2

Estou vendo um arquivo CSV do Twilio mostrando mensagens de texto de saída. Eu tenho três serviços de mensagens, cada um com um número de telefone distinto. Cada linha no relatório representa uma mensagem e tem um registro de data e hora e um número de origem.

O que eu gostaria é de obter um gráfico com a contagem de mensagens de cada número como uma série separada. Eu imagino que preciso de uma tabela dinâmica para fazer isso, mas estou um pouco perdida no Excel - geralmente estou exibindo SQL em uma tela preta sem problemas, mas preciso de uma boa imagem!

Dados da amostra:

FromNumber  SentDate
2345678910  2018-01-01
5678910112  2018-01-01
9876543210  2018-01-02
5678910112  2018-01-02
5678910112  2018-01-02
2345678910  2018-01-02
9876543210  2018-01-02
9876543210  2018-01-03
2345678910  2018-01-03
9876543210  2018-01-03
5678910112  2018-01-03

Saída desejada:

Estou executando o Excel 2016, se isso fizer diferença.

    
por miken32 30.01.2018 / 20:23

2 respostas

3

O Excel será muito mais fácil do que o Calc para isso.

  1. Converta seus dados para uma tabela de dados do Excel Insert > Table (não é obrigatório, mas facilita a manutenção de dados e a atualização a longo prazo).
  2. Com sua tabela de dados selecionada, insira uma tabela dinâmica Insert > Pivot Table .
  3. Configure sua tabela dinâmica:
    Linhas = SentDate
    Colunas = FromNumber
    Values = Contagem de FromNumber (pode ser default para Sum, apenas mudar através da caixa de diálogo Value Field Settings).
  4. Insira seu gráfico Insert > Charts > 2d Column Chart . Por padrão, isso criará um gráfico dinâmico, não um gráfico normal.
  5. Formatar a gosto.
por 31.01.2018 / 14:00
2

Estou usando o LibreOffice Calc para que os menus e layouts de opções sejam um pouco diferentes, mas isso será semelhante o suficiente para que você possa encontrar as configurações no Excel. Já faz um tempo desde que eu fiz gráficos, então provavelmente há maneiras mais diretas de chegar a essa solução, mas acabei de soltar uma solução rápida e suja.

Eu usei uma tabela dinâmica para agregar os dados:

(Canceleaseleçãodetotais,arrasteFromNumbereSendDatenessaordemparaRowFields,arrasteSendDateparaDataFields,altereSumparaCount.)Issoproduzestatabeladinâmica:

Ográficodecolunasquevocêdesejatrataasdatascomorótulosdecategoriaemvezdedatasreais.Asbarrasvãoapenasemsequência,começandopelaprimeiracategoria.Portanto,cadadataparacadanúmerodetelefoneprecisadeumespaçoreservado,senãohouverumvalorreal.Casocontrário,asbarrasnãoserãoassociadasàdatacorreta.

Seusdadosdeamostranãotêmumvalordejaneiroparaonúmero987.Paraevitarqueasbarrasdo987apareçamnolugarerrado,acabeidecriarumatabeladuplicadaeinseriumaentradadezeroparajaneiro:

Paraduplicaratabeladinâmica,acabeidepreencheraprimeiracélulacom=A2earrasteiparapreencher.Emseguida,adicionouaentradafictíciadejaneiro.

Selecioneanovatabela,insiraográficoeselecioneaopçãodográficodecolunas.Ográficoprecisadealgumajustenasoutrasguiasdeconfiguração.

EmIntervalodedados,especifiqueSériesdedadosemlinhas:

DataSeriesprecisarádealgumalimpeza.Paracadaumdosnúmerosdetelefone,selecioneY-Values.EmRangeforYValues,selecioneointervaloapropriadodecontagens.EmCategories,selecioneointervalointeirodevaloresdeSendDate(todaacolunadatabela,excluindoocabeçalho).Depoisdeespecificarointervalodecategoriasparaoprimeironúmerodetelefone,issotambémdeveseraplicadoaoutrosnúmeros,apenasconfirme.

RemovatodasassériesmarcadascomoRown,deixandoapenasosnúmerosdetelefone.

Issoproduziráográficobásico:

Você pode personalizar onde a legenda está localizada, os intervalos do eixo Y, os rótulos do gráfico e do eixo e outras formatações.

    
por 31.01.2018 / 01:20