#Análise adaptável

0 Seguidores · 11 Postagens

A análise adaptável InterSystems IRIS é uma extensão opcional que fornece um modelo de dados virtual e de negócios entre InterSystems IRIS e as ferramentas de cliente de Inteligência de Negócio (BI) e de Inteligência Artificial (AI) populares. Conta com uma interface de usuário prática para desenvolver um modelo de dados na forma de cubos virtuais onde os dados podem ser organizados, medidas calculadas definidas de forma consistente e campos de dados claramente nomeados. Por ter um modelo de dados comum centralizado, as empresas resolvem o problema de diferentes definições e cálculos para fornecer a seus usuários finais uma visão consistente de caracterização de dados e métricas de negócios.

Documentação.

InterSystems Oficial Danusa Calixto · Ago. 23, 2024

A versão 2024.1.3 do InterSystems IRIS Adaptive Analytics já está disponível na página de Distribuição de Software da InterSystems. Esta versão inclui o AtScale 2024.1.3 e um arquivo UDAF (User Defined Aggregate Function) atualizado. Esta versão inclui os seguintes novos recursos de modelagem e BI:

0
0 38
Artigo Rochael Ribeiro · jan 24, 2024 6m read

No cenário de dados atual, as empresas enfrentam vários desafios diferentes. Um deles é fazer análises sobre uma camada de dados unificada e harmonizada disponível para todos os consumidores. Uma camada que possa oferecer as mesmas respostas às mesmas perguntas, independentemente do dialeto ou da ferramenta usada. A Plataforma de Dados InterSystems IRIS responde a isso com um complemento de Análise Adaptativa que pode fornecer essa camada semântica unificada. Há muitos artigos no DevCommunity sobre como usá-lo por ferramentas de BI. Este artigo abordará como consumi-lo com IA e também como recuperar alguns insights. Vamos ir por etapas...

O que é a Análise Adaptativa?

Você pode facilmente encontrar uma definição [no site developer community] ​(https://community.intersystems.com/tags/adaptive-analytics) Resumindo, ela pode fornecer dados de forma estruturada e harmonizada para diversas ferramentas de sua escolha para consumo e análise posterior. Ela oferece as mesmas estruturas de dados a várias ferramentas de BI. Mas... Ela também pode oferecer as mesmas estruturas de dados para suas ferramentas de IA/ML!

A Análise Adaptativa tem um componente adicional chamado AI-LINK que constrói essa ponte entre a IA e a BI.

O que é exatamente o AI-Link ?

É um componente Python criado para permitir a interação programática com a camada semântica para os fins de otimizar os principais estágios do fluxo de trabalho do aprendizado de máquina (ML) (por exemplo, engenharia de características).

Com o AI-Link, você pode:

  • acessar programaticamente características do seu modelo de dados analítico;
  • fazer consultas, explorar dimensões e medidas;
  • alimentar pipelines de ML; ... e enviar os resultados de volta à camada semântica para que sejam consumidos novamente por outras (por exemplo, pelo Tableau ou Excel).

Como é uma biblioteca Python, ela pode ser usada em qualquer ambiente Python. Incluindo Notebooks. Neste artigo, darei um exemplo simples de como alcançar a solução de Análise Adaptativa a partir do Jupyter Notebook com a ajuda do AI-Link.

Aqui está o repositório git com o Notebook completo como exemplo: https://github.com/v23ent/aa-hands-on

Pré-requisitos

Para os passos a seguir, presume-se que você concluiu os pré-requisitos:

  1. Solução de Análise Adaptativa em funcionamento (com a Plataforma de Dados IRIS como armazém de dados)
  2. Jupyter Notebook em funcionamento
  3. Conexão entre 1. e 2. pode ser estabelecida

Etapa 1: configuração

Primeiro, vamos instalar os componentes necessários em nosso ambiente. Isso baixará alguns pacotes que são necessários para que as próximas etapas funcionem. 'atscale' - nosso pacote principal para a conexão 'prophet' - pacote de que precisaremos para fazer previsões

pip install atscale prophet

Em seguida, precisamos importar as principais classes que representam alguns conceitos importantes da nossa camada semântica. Client - classe que usaremos para estabelecer uma conexão com a Análise Adaptativa; Project - classe para representar projetos dentro da Análise Adaptativa; DataModel - classe que representará nosso cubo virtual;

from atscale.client import Client
from atscale.data_model import DataModel
from atscale.project import Project
from prophet import Prophet
import pandas as pd 

Etapa 2: conexão

Agora, deve estar tudo pronto para estabelecer uma conexão com nossa origem de dados.

client = Client(server='http://adaptive.analytics.server', username='sample')
client.connect()

Vá em frente e especifique os detalhes de conexão da sua instância da Análise Adaptativa. Quando for solicitada a organização, responda na caixa de diálogo e insira sua senha da instância da AtScale.

Com a conexão estabelecida, você precisará selecionar seu projeto da lista de projetos publicados no servidor. Você verá a lista de projetos como um prompt interativo, e a resposta deve ser o ID inteiro do projeto. O modelo de dados será selecionado automaticamente se for o único.

project = client.select_project()   
data_model = project.select_data_model()

Etapa 3: explore seu conjunto de dados

Há vários métodos preparados pela AtScale na biblioteca de componentes do AI-Link. Eles permitem explorar seu catálogo de dados, consultar dados e até ingerir alguns dados de volta. A documentação da AtScale tem uma vasta referência da API, descrevendo tudo o que está disponível. Primeiro, vamos ver qual é o nosso conjunto de dados ao chamar alguns métodos de "data_model":

data_model.get_features()
data_model.get_all_categorical_feature_names()
data_model.get_all_numeric_feature_names()

A saída será algo assim image

Depois de olhar um pouco, podemos consultar os dados em que realmente temos interesse usando o método "get_data". Ele retornará um DataFrame do pandas com os resultados da consulta.

df = data_model.get_data(feature_list = ['Country','Region','m_AmountOfSale_sum'])
df = df.sort_values(by='m_AmountOfSale_sum')
df.head()

Que mostrará seu dataframe: image

Vamos preparar um conjunto de dados e exibi-lo rapidamente no gráfico

import matplotlib.pyplot as plt

# Estamos pegando as vendas para cada data
dataframe = data_model.get_data(feature_list = ['Date','m_AmountOfSale_sum'])

# Crie um gráfico de linhas
plt.plot(dataframe['Date'], dataframe['m_AmountOfSale_sum'])

# Adicione rótulos e um título
plt.xlabel('Days')
plt.ylabel('Sales')
plt.title('Daily Sales Data')

# Exiba o gráfico
plt.show()

Saída: image

Etapa 4: previsão

A próxima etapa seria obter um valor da ponte do AI-Link - vamos fazer algumas previsões simples!

# Carregue os dados históricos para treinar o modelo
data_train = data_model.get_data(
    feature_list = ['Date','m_AmountOfSale_sum'],
    filter_less = {'Date':'2021-01-01'}
    )
data_test = data_model.get_data(
    feature_list = ['Date','m_AmountOfSale_sum'],
    filter_greater = {'Date':'2021-01-01'}
    )

Obtemos 2 conjuntos de dados diferentes aqui: para treinar e testar nosso modelo.

# Para a ferramenta, escolhemos fazer a previsão "Prophet", em que precisamos especificar 2 colunas: "ds" e "y"
data_train['ds'] = pd.to_datetime(data_train['Date'])
data_train.rename(columns={'m_AmountOfSale_sum': 'y'}, inplace=True)
data_test['ds'] = pd.to_datetime(data_test['Date'])
data_test.rename(columns={'m_AmountOfSale_sum': 'y'}, inplace=True)

# Inicialize e ajuste o modelo Prophet
model = Prophet()
model.fit(data_train)

Em seguida, criamos outro dataframe para acomodar nossa previsão e exibi-la no gráfico

# Crie um dataframe futuro para previsão
future = pd.DataFrame()
future['ds'] = pd.date_range(start='2021-01-01', end='2021-12-31', freq='D')

# Faça previsões
forecast = model.predict(future)
fig = model.plot(forecast)
fig.show()

Saída: image

Etapa 5: writeback

Depois de obter a previsão, podemos colocá-la de volta no armazém de dados e adicionar uma agregação ao nosso modelo semântico para que reflita para outros consumidores. A previsão estaria disponível por qualquer outra ferramenta de BI para usuários empresariais e analistas de BI. A previsão em si será colocada em nosso armazém de dados e armazenada lá.

from atscale.db.connections import Iris
db = Iris(
    username,
    host,
    host,
    driver,
    schema, 
    schema,
    password=None, 
    warehouse_id=None
    )

data_model.writeback(dbconn=db,
                    table_name= 'SalesPrediction',
                    DataFrame = forecast)

data_model.create_aggregate_feature(dataset_name='SalesPrediction',
                                    column_name='SalesForecasted',
                                    name='sum_sales_forecasted',
                                    aggregation_type='SUM')

Fim

É isso! Boa sorte com suas previsões!

0
0 65
Artigo Danusa Calixto · Dez. 4, 2023 9m read

Power BI

Conectando a uma origem de dados

Para conectar a AtScale, vamos usar o banco de dados do SQL Server Analysis Services. Vamos abri-lo no editor do Power Query. Para fazer isso, selecione Transform Data (Transformar dados) em Home.

Na janela exibida, acesse Home, abra New Source (Nova origem) e selecione Analysis Services.

Na linha do Server, você precisa especificar o link MADX para o projeto publicado na AtScale. Você também pode indicar imediatamente o nome do projeto na linha do banco de dados se quiser.

Em seguida, selecione o tipo de autorização Basic e especifique o login/senha da AtScale.

Em Navigator, você precisa especificar as medidas e dimensões necessárias (se não houver conexão entre os campos, você não conseguirá criar uma consulta correta). Também é recomendável dividir o cubo em várias tabelas, dependendo da tarefa. Isso ajudará você a melhorar o desempenho e evitar erros.

Para configurar atualizações automáticas, você precisa usar o Gateway do Power BI e a autorização do Windows. Neste artigo, vamos pular essas etapas. 

No entanto, você pode ler mais sobre esse assunto na documentação da AtScale.

Recursos da criação de consultas no Power Query.

Depois de adicionar as colunas, você pode fazer alterações na tabela (modificar o nome da coluna, o tipo de dados, adicionar/alterar colunas, substituir valores etc.).
Por exemplo, você pode alterar o nome de uma coluna. Para fazer isso, clique duas vezes no nome da coluna. É recomendável verificar se não há campos em branco nos valores numéricos. Todos os valores em branco precisam ser marcados como null. Se você tiver campos vazios, basta sobrepor o tipo de campo. Para isso, clique no ícone de tipo à esquerda do nome da coluna e escolha o tipo necessário.

O Power Query pode não identificar corretamente o tipo de dados. Neste exemplo, ele reconheceu incorretamente o formato de dados.


Para corrigir isso, apontamos um formato de dados específico. Para fazer isso, clique no íconede tipo de dados, Use Locale…

Em nosso caso, vamos escolher Date e a localidade English (United States).

Agora os dados são exibidos corretamente.

Você pode saber mais sobre como trabalhar no Power Query na documentação oficial.

Trabalhando no Power BI e criando visualizações.

Criando uma tabela de dados usando funções DAX. 

Para que nossas tabelas sejam relatadas por data, vamos criar um calendário com base nas datas disponíveis usando a linguagem DAX integrada.

Uma forma de criar uma tabela de dados é usando a função DAX integrada recomendada, já que pode haver datas adicionais de início e término, como aniversários de funcionários, então é melhor configurá-las manualmente no CALENDAR. Essas funções retornam todos os dias entre as datas mínima e máxima.

Calendar = CALENDAR(<start_date>, <end_date>))

Agora vamos adicionar uma coluna com o ano e o nome do mês desejado. Você pode usar uma hierarquia de datas para obter o ano e o nome do mês. Em Column Tools, clique no botão New Column e escreva a fórmula.

Month = 'Calendar'[Date].[Year]

Em DAX, a fórmula é precedida pelo nome da coluna. O = indica o início de uma fórmula. Em seguida, a própria fórmula é escrita. Em nosso caso, simplesmente tiramos o [Year] da data do calendário. É sempre recomendável escrever o nome da tabela, mas você pode só escrever [Date].[Year]. O Power BI consultará a coluna Date existente dentro da tabela.
Vamos adicionar uma coluna no formato (MMM-AAAA). Para fazer isso, vamos escrever a função FORMAT .
Month-Year = FORMAT('Calendar'[Date], "MMM-YYYY").

No entanto, como Month e Month-Year são campos de texto, eles serão colocados em ordem alfabética. Vamos criar colunas para a classificação correta: MonthNum com o valor numérico do mês para a coluna Month, e MonthYearNum para a coluna Month-Year. 

MonthYearNum = FORMAT('Calendar'[Date], "YYYYMM")

Agora precisamos definir a coluna de ordenação. Acesse Column Tools selecione Sort by e selecione a coluna necessária. Vamos realizar a mesma manipulação para o resto das colunas com texto. 

Para entender melhor as fórmulas DAX, você pode fazer aulas no site oficial da Microsoft.

Gerenciando dados

A visualização Model no Power BI Desktop permite que você defina a relação entre as tabelas ou os itens visualmente. Nesse caso, duas ou mais tabelas serão vinculadas, porque elas contêm dados relacionados. Assim, os usuários podem acessar dados relacionados em vários tablets. Na visualização Model, você pode ver uma representação esquemática dos dados.

É muito fácil adicionar e remover associações. Para criar uma associação, arraste os campos que você quer associar entre as tabelas. Para remover uma associação, clique com o botão direito e selecione Delete.

Para entender as associações de dados em mais detalhes, em Home, acesse Manage relationships (Gerenciar relações). A caixa de diálogo Manage mostra as associações como uma lista, em vez de um diagrama visual. Nessa caixa de diálogo, você pode selecionar Autodiscover (Descoberta automática) para encontrar relações entre dados novos ou atualizados. Selecione Edit para modificar as associações manualmente. A seção de edição contém parâmetros adicionais que permitem definir a multiplicidade e direção da filtragem cruzada para associações.

Suas opções de cardinalidade são explicadas na tabela a seguir.

Opções de cardinalidade

Exemplo

Muitos para um

A relação padrão mais comum. Uma coluna na mesma tabela pode ter mais de uma instância de um valor. A tabela associada (ou tabela de consulta) só tem uma única instância do valor.

Um para um

Uma coluna em uma tabela só tem uma única instância de um valor específico e outra tabela relacionada só tem uma instância de um valor específico.

Geralmente, recomendamos reduzir o uso de relações bidirecionais. Elas podem ter um impacto negativo no desempenho de consultas do modelo e, possivelmente, oferecer experiências confusas para os usuários dos relatórios.

A definição de relações precisas entre seus dados permite que você crie cálculos complexos em vários elementos de dados.

Veja mais informações sobre modelos de dados aqui.

Slicers

Um filtro simples que pode ser usado diretamente na página de um relatório é chamado de slicer. Os slicers oferecem dicas de como você pode filtrar os resultados em elementos visuais na página de um relatório. Há diferentes tipos de slicers: numéricos, por categoria e por data. Os slicers ajudam você a filtrar facilmente todos os elementos visuais em uma página de uma só vez.

Esse GIF mostra o trabalho de uma segmentação padrão. Você pode configurar várias seleções para selecionar várias opções sem Ctrl.

Para fazer isso, selecione slicer. Em seguida, no painel Visualizations, escolha a guia Format visual . Abra  Selection, e ative a Seleção múltipla com Ctrl.

Você também pode mudar a aparência do slicer. Para isso, selecione a seta para baixo no canto superior direito do elemento do slicer.

 

 

Adicionando um elemento visual à página

Para adicionar um elemento visual, selecione-o em Visualizations

Vamos adicionar um gráfico de colunas empilhadas.

Agora, precisamos selecionar os campos que queremos exibir. Vamos adicionar o campo Month-Year de Calendar e outro valor numérico da sua tabela.
Este deve ser o resultado.

Para truncar os dados, vamos adicionar um filtro por data. Vamos extrair o campo Date de Calendar e mudar o tipo de visualização para slicer. Em seguida, vamos remover a hierarquia padrão e usar o formato de dados comum. Depois, devemos mudar imediatamente o tipo de visualização para uma data relativa.

Agora, podemos aplicar um filtro para exibir os últimos 6 meses.

Você pode mudar a visualização na guia de formatação. Cada elemento visual tem parâmetros especiais. Leia mais sobre isso aqui

Também há uma guia com opções gerais, como título e plano de fundo.

Vamos adicionar mais algumas visualizações e mudar o visual delas um pouco.

Agora, temos um exemplo de painel de controle simples.

Publicando um relatório em app.powerbi.com

Os relatórios são sempre publicados no portal https://app.powerbi.com/home.

Portanto, você precisa ter uma conta e estar autorizado no Power BI Desktop. 

Para publicar, você precisa selecionar Publish e, se necessário, selecionar um espaço de trabalho.

Depois de publicar, visite o portal e encontre nosso relatório.

Um relatório desse tipo pode ser ajustado, mas está sujeito a restrições. Elas são principalmente relacionadas ao fato de que você não pode adicionar novas colunas ou medidas. No entanto, isso não impede você de adicionar visualizações com base nas colunas existentes. 

Esse relatório só está disponível para usuários do Power BI a que você deu acesso. Para compartilhar seu relatório com outras pessoas, você pode publicá-lo na Web ao selecionar Publish it to web (public). 

 

Atualização de dados

Como não configuramos o Gateway do Power BI, a atualização automática não está ativada. Você só pode atualizar os dados manualmente. Para fazer isso, você precisa abrir o relatório, clicar no botão Refresh e publicá-lo novamente.

Tableau

Preparação preliminar.

Você precisará de um driver para a conexão. Usamos Cloudera Hive. É possível baixar no site oficial (é necessário se inscrever). Você precisa conhecer o SO e a profundidade de bit para escolher a versão mais adequada para download. A instalação é simples (não exige explicação).

Conexão a cubos.

Para conectar um cubo a um relatório do Tableau, faça o download do arquivo de conexão. Para isso, selecione o projeto publicado desejado na página do projeto, acesse a guia de conexão e selecione a opção Tableau. 

Na janela exibida, selecione DOWNLOAD TDS

Ao iniciar o Tableau, no menu à esquerda, selecione Connect, To a File e More… na lista e abra o arquivo .tds baixado anteriormente.

O Tableau pedirá para você inserir seu nome de usuário e senha da AtScale. Após a autorização, seu cubo aparecerá nas origens de dados, permitindo que você comece a trabalhar.

Criando visualizações.

Ao contrário do Power BI, cada visual é criado em uma página separada. However, you can later group them on the worksheet. O Tableau tem linhas e colunas, mas a interface depende de onde as dimensões e medidas estão localizadas.

Para selecionar o tipo de visualização, você precisa clicar em "Show Me" (Me mostre) no canto superior direito da tela (quando você modifica o tipo de visualização, a localização dos valores selecionados pode mudar).

O campo para filtrar dados por padrão está localizado no cartão à esquerda.

 

Os valores podem ser filtrados manualmente, por curinga, condição ou top (bottom). Você também pode combinar esses tipos de filtros.

É possível alterar o formato de visualização em Marks.

Uma planilha é usada para o agrupamento. À esquerda, há uma lista com todas as planilhas disponíveis que podem ser arrastadas e agrupadas como você quiser. Além disso, em Worksheets no card Objects, você pode selecionar e adicionar texto, imagens etc. 

Publicando no servidor.

No Tableau, você pode publicar seus relatórios no Tableau Public, Tableau Online e Tableau Server. A funcionalidade dos dois últimos programas é idêntica. A única diferença é que o Tableau Online é mantido pelo próprio Tableau, enquanto o Tableau Server será mantido no lado da sua organização. Você pode publicar seus relatórios nele com uma conexão em tempo real, modificar relatórios publicados sem limitar a funcionalidade ou editar um relatório publicado no Tableau Desktop. A única desvantagem dos servidores é a impossibilidade de compartilhar seus relatórios com alguém que não está registrado no servidor. Em outras palavras, esses relatórios se destinam ao uso exclusivo na organização.O Tableau Public permite que você compartilhe seus relatórios com quem tem um link, mas não deixa você usar uma conexão de dados direta.

Vamos conectar ao Tableau Server.

Primeiro, precisamos fazer login.

Selecione o servidor desejado e passe pela autorização. Em seguida, selecione Publish Workbook (Publicar pasta de trabalho). 

Especifique os parâmetros necessários.Para uma visualização conveniente, recomendamos selecionarShow sheets as tabs (Mostrar planilhas como guias).

Se você quiser, é possível incorporar senhas. Caso contrário, você terá que especificar o login e a senha para nossa origem de dados sempre que entrar na sua conta. Você pode incorporar todas as senhas ao mesmo tempo clicando em Embed All Passwords.

Por fim, é hora de acessar o servidor, selecionar o item Explore e encontrar nossa pasta.


 

0
0 182
Artigo Danusa Calixto · Set. 1, 2023 9m read

Neste artigo, vamos explorar o uso de parâmetros, fórmulas e rótulos no Logi Report Designer (antigo Logi JReport Designer). Para que servem e como criá-los?

Usando a funcionalidade básica do InterSystems Reports Designer, os parâmetros, as fórmulas e os rótulos, você pode melhorar significativamente os detalhes e o conteúdo informativo do relatório gerado. Além disso, essas ferramentas permitem a automação de alguns dos processos, o que acelera e facilita bastante a criação de relatórios.

Vamos analisar cada ferramenta separadamente.

Os parâmetros são variáveis individualmente configuráveis. Eles podem armazenar tanto dados estáticos quanto dinâmicos. Para um parâmetro dinâmico, você pode configurar sua própria consulta SQL, que será independente da consulta SQL do conjunto de dados principal. Dessa maneira, você pode gerar dados sem criar vários conjuntos de dados, mantendo o design organizado e limpo. Os parâmetros podem ser usados como parte de funções e consultas SQL e também como um indicador independente com a seguinte sintaxe: "@YourParameter". Essa qualidade é simplesmente indispensável quando são necessários dados precisos e detalhados.

Um parâmetro estático é um valor ou uma lista de valores predefinidos usados como uma condição ou um filtro da saída. Um parâmetro estático também pode ser usado em consultas SQL, funções e rótulos usando a mesma sintaxe: "@YourParameter".

As fórmulas são funções totalmente programáveis na linguagem Java. Essa ferramenta poderosa amplia bastante as possibilidades de análise de dados, permitindo que você realize cálculos complexos e defina condições lógicas para os dados gerados. As fórmulas são criadas no IDE para Java dentro do Logi com um conjunto de funções integradas para trabalhar com esses tipos de dados, como Array, Data / Hora, Financeiro, Matemática, String, etc. As fórmulas funcionam com todos os dados disponíveis no InterSystems Reports. O IDE integrado entende parâmetros, campos calculados e até outras fórmulas.

Um rótulo é um widget de texto. Ele serve para mostrar quaisquer variáveis e caracteres em letra minúscula. O propósito dele fala por si mesmo: ele é usado em cabeçalhos e rodapés, como uma legenda personalizada de um gráfico ou uma tabela, em uma palavra e em qualquer lugar onde os dados precisam ter título. Como todas as outras ferramentas do InterSystems Reports, o rótulo é um widget bastante flexível. Ele pode ser colocado em qualquer lugar da página, dentro de um gráfico ou uma tabela.

Vamos conferir exemplos do uso mais básico dessas ferramentas.

Vamos criar um parâmetro que retorna o número de desenvolvedores entre o número total de membros da comunidade InterSystems.

Para criar um parâmetro, você precisa clicar no botão "Catalog Manager" (Gerenciador de catálogo) no canto superior esquerdo da barra de ferramentas.

Na janela exibida, à esquerda, selecione o item "Parameters" (Parâmetros) e clique no botão "New Parameter" (Novo parâmetro) no canto superior esquerdo.

A janela de criação de parâmetros abrirá.

Na primeira linha, precisamos definir o nome do parâmetro. É recomendável escolher um nome que reflita o propósito do parâmetro da maneira mais precisa possível e, ao mesmo tempo, curta o suficiente. Isso é necessário porque, durante o processo de desenvolvimento, você criará uma abundância de parâmetros diferentes, e há risco de sobrecarregar as listas de parâmetros e funções. Neste artigo, vamos analisar o parâmetro dinâmico. Portanto, na segunda linha em "Value Setting" (Configuração do valor), vamos selecionar "Bind with Single Column" (Ligação com coluna única). Na próxima linha "Data Source" (Origem dos dados), vamos escolher a tabela em que será feita a seleção. Em nosso caso, é "Members" (Membros). Depois, em "Bind Column" (Coluna de ligação), vamos selecionar as colunas de que vamos retornar o valor.

Não há uma coluna separada que possa contar o número de desenvolvedores na tabela "Members". Ainda assim, graças à habilidade de definir uma consulta SQL especial, podemos estabelecer uma condição para essa seleção específica. Para fazer isso, role a lista de propriedades para baixo, encontre a linha "Import SQL" (Importar SQL) e clique nela.

Será exibida uma janela para criar a solicitação. Ela já gravou a string de seleção da coluna "members_count" — o número total de participantes. Só precisamos adicionar a condição "where Developer = 1". Podemos verificar a solicitação ao clicar no botão "Check" e, se for bem-sucedida, você deve clicar em "OK".

Após concluir as etapas anteriores, clique em "OK" na janela de criação de parâmetros, e o novo parâmetro "Developer_member" aparecerá no diretório à esquerda. Neste ponto, feche a janela do Catalog Manager e teste o parâmetro recém-criado. Para isso, arraste-o até a página do relatório e clique em "View" (Ver). Depois de concluir esse passo, você precisará aceitar o valor do parâmetro retirado do banco de dados atual, então clique em "OK".

Pronto! Agora podemos ver quantas pessoas na comunidade são desenvolvedores. Essa configuração será atualizada automaticamente sempre que os dados mudarem.

Agora vamos criar uma fórmula. Essa fórmula calculará a porcentagem de desenvolvedores em comparação com o número total de participantes.

Para isso, você precisa repetir os mesmos passos que seguimos ao criar o parâmetro. Vamos relembrá-los. Clique em "Catalog Manager", selecione "Formulas" e "New Formula" no canto superior esquerdo.

Antes que a janela de criação de fórmulas apareça, precisamos inserir um nome para a fórmula.

Depois disso, o IDE abrirá para você escrever código no Java. Integrado ao InterSystems Reports, o compilador permite que você escreva funções curtas sem definir classes e métodos. Para calcular a porcentagem, precisamos dividir nosso novo parâmetro pelo número total de membros e multiplicar por 100. Já criamos o indicador CountTotalMembers. Fizemos isso com a ferramenta chamada InterSystems Adaptive Analytics (com tecnologia da AtScale). Saiba mais aqui (link).

Então, obtemos a seguinte fórmula. Preste atenção na função que permite a escrita de comentários no código. Um código bem documentado facilita o trabalho de outras pessoas com suas fórmulas.

Depois de escrever, você pode conferir se o código resultante tem algum erro ao clicar no botão de marca de seleção na barra de ferramentas. A ferramenta verificará se a sintaxe está correta e se os parâmetros especificos estão presentes.

Após testar a função, ela poderá ser salva. Para fazer isso, clique no botão "Save", e a fórmula aparecerá no catálogo.

Seguindo o exemplo do parâmetro, nossa próxima etapa será arrastar a nova fórmula para dentro da página e encontrar a parcela de desenvolvedores no número total de participantes.

Esta função pode ser utilizada como um indicador para gráficos e tabelas. Vou dar um exemplo de como usar nossa nova fórmula em um gráfico de barras. Saiba mais sobre os gráficos e como criá-los aqui (link).

Neste exemplo, usei uma nova fórmula e derivei a proporção de desenvolvedores nos últimos cinco meses.

É um gráfico de barras, com a fórmula developers_to_members no eixo y e a dimensão month_year_num no eixo x. A tendência ficou bastante visual e fizemos isso em apenas alguns minutos.

Agora é hora de conferir as tabelas.

Elas são incorporadas à página do relatório com o botão "Label", na guia "Insert" (Inserir).

Uma janela para inserir o texto aparecerá na página.

A funcionalidade integrada permite que você edite vários parâmetros para o novo Label. Neste artigo, usamos esse widget para aprimorar nossa nova tabela.

Há vários parâmetros no painel à direita que podem ajudar você a criar um rótulo. Para que eles sejam exibidos, selecione o widget "Label".

Para configurar as bordas do widget, role para baixo até a categoria "Border". Selecione as 4 bordas: "Bottom Line", "Left Line", "Right Line" e "Top Line", e defina todas elas como "Solid".

Para preencher o plano de fundo, você precisa rolar para baixo nas propriedades até a categoria "Color" e escolher o tom desejado. O mesmo pode ser feito na guia "Format" na barra de ferramentas no topo.

Se você quiser selecionar o tamanho da fonte, fique na mesma guia "Format", clique no menu suspenso com tamanhos e escolha a opção desejada. Também é possível definir o tipo de fonte e o local do texto dentro do widget.

Para um posicionamento mais preciso em relação aos outros widgets, use as coordenadas de Label dentro da página. Por padrão, os tamanhos da folha estão em polegadas. As configurações de posicionamento estão na categoria "Geometry" (Geometria) no painel de propriedades do widget, à esquerda.

Neste artigo, tentamos abordar os três recursos básicos do InterSystems Reports (com tecnologia do Logi Report). Por isso, agora, esperamos que você saiba criar fórmulas, parâmetros e rótulos com bastante confiança.

0
0 143
Artigo Heloisa Paiva · Maio 26, 2023 6m read

Introdução

Dentre as diversas soluções que desenvolvemos aqui na Innovatium,  um desafio comum é a necessidade de acesso ao tamanho das bases de dados. Entretanto, notei que isso não é algo tão trivial no IRIS. Esse tipo de informação é importante para manter um controle do fluxo de dados e do custo em GB's de um sistema a ser implementado. Contudo, o que realmente me chamou atenção é a necessidade dela para uma função muito importante: migrar para cloud. Afinal, quem não quer migrar seus sistemas para cloud hoje em dia, certo?

0
0 141
Anúncio Danusa Calixto · Dez. 19, 2022

No nosso último episódio do Data Points, tive uma conversa com @Thomas Dyar sobre AI Link, que ajuda a preencher a lacuna entre cientistas de dados e analistas de negócios. Nossa conversa fala sobre como o AI Link se encaixa com IntegratedML e Adaptive Analytics, bem como quais novos recursos estão no horizonte para IntegratedML. Ouça!

0
0 76
Artigo Danusa Calixto · Out. 18, 2022 1m read

Análise do InterSystems Developer Community. Projeto criado com o BI do InterSystems IRIS (DeepSee), Power BI e Logi Report Designer para visualizar e analisar membros, artigos, perguntas, respostas, visualizações e outros conteúdos e atividades no InterSystems Developer Community.

Você pode ver sua própria atividade, artigos e perguntas. Monitore a forma como sua contribuição muda a comunidade de desenvolvedores.

Analise estatísticas sobre você e seus amigos usando BI do IRIS, Análise Adaptativa, Relatórios da InterSystems, Tableau e Power BI.

Esse projeto contém implantação IRIS e Atscale pré-configurada em contêineres Docker e arquivos de projeto para sistemas de BI.

Veja mais informações detalhadas no README do aplicativo correspondente.

Esse projeto também foi implantado online e você pode conferir aqui.

0
0 65
Artigo Danusa Calixto · Set. 12, 2022 7m read

O AtScale extrai dados da base IRIS. 

O produto AtScale forma um cubo OLAP virtual na camada intermediária, que pode ser acessado pelos aplicativos externos usando a linguagem padrão SQL e MDX (Expressões Multidimensionais). A solução inclui três componentes principais.

O Design Center é usado para projetar cubos OLAP, formando links entre os metadados e as dimensões de um cubo virtual. Junto com a tarefa de criar um esquema de dados, os problemas da política de acesso a determinados dados e segurança são resolvidos aqui. Como o Cubo Virtual não armazena Big Data fisicamente, garantir um desempenho aceitável é um problema sério. 

O Cache Adaptável possibilita não só armazenar em cache os dados recentes ou usados com frequência, mas também prever quais dados serão necessários em breve para a pré-busca no cache.

Para conectar o Logi ao AtScale, use o tipo de conexão JDBC Hive2 com o driver org.apache.hive.jdbc.HiveDriver.

A vantagem desse tipo de conexão é a adição de um número ilimitado de cubos a um Catálogo. Isso possibilita criar relatórios complexos com um grande conjunto de dados. Além disso, é possível criar um diagrama dentro do Logi com base em cubos e criar links entre cubos do AtScale, o que amplia as possibilidades de geração de dados. Também é possível criar consultas SQL para cubos manualmente. Esse recurso não é usado com frequência, mas pode ser empregado para estabelecer relações manualmente ou projetar fórmulas SQL.

A maior parte da lógica para a geração de um conjunto de dados ocorre no lado do AtScale. O Logi (InterSystems Report Designer) aceita os conjuntos de dados gerados e visualiza esses dados.

Conjunto de dados de teste do aplicativo Sales Insights (versões do AtScale >= 2019.2.x)

"Ganhe insights sobre as tendências de vendas, o desempenho dos produtos e os detalhes dos clientes usando estes dados de amostra baseados no conjunto de dados do AdventureWorks."

Ele pode ser baixado no link https://downloads.atscale.com/

Veja como esse conjunto de dados aparece no InterSystems Reports Designer

As principais vantagens que ganhamos ao usar esse pacote são:

  • Possibilidade de geração automática de relatórios de acordo com a programação
  • Opção de receber relatórios em PDF por e-mail
  • Oportunidade de usar parâmetros automaticamente calculados para o relatório (datas)
  • Aceleração da geração de relatórios (UDAF, agregados e caching)
  • Capacidade de clonar, fazer backup e rapidamente propagar as mudanças no cubo do AtScale
  • Extensão de funcionalidade do Logi: alguns dos parâmetros comparativos não eram calculados no Logi e DeepSee anteriormente
  • Substituição da funcionalidade do Logi: cálculo dos indicadores comparativos dependendo das configurações de parâmetro no lado do AtScale
  • Por que o UDAF é necessário para a Análise Adaptativa e como configurá-lo

    A Análise Adaptativa da InterSystems (com a tecnologia do AtScale) é um complemento poderoso ao BI do IRIS. Ela permite aos usuários o desenvolvimento mais rápido de painéis. Além disso, os responsáveis pelo desenvolvimento e pela manutenção podem alternar rapidamente entre as origens de dados. Por último, mas não menos importante, são os instantâneos das versões dos cubos de dados. Eles oferecem a capacidade de fazer backup da lógica de estrutura de dados e reverter, se necessário.

    Algumas das funções já estão prontas para uso. No entanto, uma opção importante precisa ser configurada. Refiro-me à opção que aumenta a velocidade dos Painéis e Relatórios.

    Ela é chamada de UDAF. Sem a configuração, você não verá a otimização ou melhoria do mecanismo de camada de abstração.

    Você pode acessar a distribuição do UDAF no mesmo local que a Análise Adaptativa.

    O UDAF oferece à análise adaptativa duas principais vantagens: 

    • a capacidade de armazenar os resultados da execução de consultas (chamadas de Tabelas Agregadas), para que a próxima consulta, usando a agregação de dados, possa usar resultados já calculados do banco de dados.

    • a capacidade de usar funções adicionais (como Funções Agregadas Definidas pelo Usuário) e algoritmos de processamento de dados que a Análise Adaptativa é forçada a armazenar na origem dos dados. 

    Eles são armazenados no banco de dados em tabelas separadas, e a Análise Adaptativa pode chamá-los pelo nome em consultas geradas automaticamente. Quando a Análise Adaptativa usa essas funções, a velocidade das consultas aumenta.

    O local onde todas essas tabelas serão armazenadas é especificado ao criar uma conexão ao IRIS no item AGGREGATE SCHEMA. Se esse esquema não existir no banco de dados, ele será criado. É uma boa ideia armazenar esse esquema em outro banco de dados. Explicarei o motivo disso depois.

    Agora, imagine que o IRIS, conectado à análise adaptativa, é destinado somente para análise e contém apenas uma cópia dos dados de um banco de dados em execução (para que as solicitações dos sistemas analíticos não carreguem os recursos do banco de dados principal). Após determinado tempo, os dados do sistema principal são copiados para nosso IRIS, substituindo os dados antigos.

    Nesse caso, no momento da reescrita, todos os dados registrados pela Análise Adaptativa desaparecem, e temos o seguinte resultado:

    • as consultas que estão tentando acessar as tabelas agregadas não as acham e acabam com um erro.

    • as solicitações que usam as funções armazenadas no banco de dados não conseguem acessá-las e acabam com um erro.

    • ao excluir caminhos antigos para agregar tabelas, a Análise Adaptativa discretamente cria novos, e depois a situação repete-se.

    O descrito acima é apenas um dos casos possíveis de substituição de dados no IRIS, mas nem por isso é o mais comum.

    O principal problema é que a Análise Adaptativa não usa mecanismos de fallback ao evitar usar opções de UDAF e criar consultas diretas no caso de erros. Ela falha em informar atualizações de painéis ou desenvolvimento. 

    Podemos tentar carregar a tabela com as funções na base de dados e as atualizações manualmente. No entanto, conforme mencionado acima, UDAF não é somente as funções de processamento de dados, mas também as tabelas agregadas, e salvá-las novamente é bastante problemático.

    A solução para os problemas descritos acima é a criação de uma tabela de dados separada, em que a Análise Adaptativa escreverá as tabelas do serviço. Essa solução é descrita na documentação para conectar a Análise Adaptativa ao IRIS:

    https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=AADAN#AADAN_config

    Vale a pena mencionar que o nome do esquema especificado após "/<instancePath>/mgr/" precisa corresponder ao especificado como AGGREGATE SCHEMA com a Análise Adaptativa. Caso contrário, uma base de dados separada será criada, mas a Análise Adaptativa escreverá os dados para o esquema criado dentro da base de dados, ignorando a base separada recém-criada. Os desenvolvedores de UDAF recomendam usar "AtScale" como o nome desse esquema. É também o nome dado como exemplo na documentação.

    Caso esse banco de dados seja corrompido e os dados não possam ser recuperados, você pode desativar as agregações na Análise Adaptativa para recriá-los automaticamente na próxima solicitação.

    Para fazer isso, na guia de agregados/instâncias, você precisa desativar cada agregado. São exibidos 20 agregados por página, então acesse cada página para verificar se todos estão desativados.

    Se você for usar a Análise Adaptativa, preste atenção nesse pequeno ponto. No início do meu trabalho com a Análise Adaptativa, essa opção foi configurada com um erro, então não tive todos os benefícios possíveis. Lembre-se também de conferir o nome da base de dados. Ela diferencia maiúsculas de minúsculas na configuração e no script da instalação de UDAF.

    Acredito que talvez haja algumas opções que desconheço no momento, assim como a influência no desempenho dos meus sistemas analíticos. Se você encontrar algo, escreva nos comentários. 

    0
    0 124
    Anúncio Evgeny Shvarov · Ago. 27, 2021

    Olá Desenvolvedores!

    Aqui estão os bônus tecnológicos para o Concurso InterSystems IRIS Analytics que irão fornecer pontos extras na votação.

    Uso de Cubos do Adaptive Analytics (AtScale) - 4 pontos
    O InterSystems Adaptive Analytics fornece a opção de criar e utilizar cubos do AtScale em soluções analíticas.

    Você pode utilizar o servidor AtScale que disponibilizamos para o concurso (a URL e as credenciais podem ser obtidas através do Canal do Discord) para utilizar os cubos ou criar o seu próprio e conectar com seu servidor IRIS através de JDBC.

    A camada de visualização para sua solução analítica com o AtScale pode ser construída com o uso do Tableau, PowerBI, Excel ou Logi.

    Documentação, Documentação do AtScale

    Treinamento

    0
    0 85