VBA Tips - 03 das 10 Principais interações com as APIs do Windows - GetComputerName



Quando uma solução VBA está aquém de atender as nossas necessidades, certamente existirá uma função API do Windows que fará o trabalho para nós.

Listo a seguir o que acredito ser uma das 10 Principais interações com as APIs do Windows.


Nós, que desenvolvemos com o VBA no Office, sabemos que podemos pegar alguns atalhos para resolver muitas das nossas necessidades diárias. Às vezes, uma solução pode tornar-se complicada ou difícil para implementarmos. Neste momento lançamos mão das APIs - Application Programming Interface. Sim, encontraremos milhares de funções úteis. E é importante saber que podemos usá-las em quaisquer aplicativos baseados no Windows. (As dicas deste post são específicas para o sistema 32 bits).

Estas funções VBA demonstradas neste artigo não tem o objetivo de serem práticas. Antes, são chamadas simples às APIs, para que possamos ver como trabalham em conjunto. Mas certamente, algumas delas poderão facilmente passar para a sua biblioteca pessoal. Depois que souber como os procedimentos VBA chamam as funções API e o que retornam, poderão modificar tais códigos para usá-los em seus próprios projetos.



3: GetComputerName

Esta função, GetComputerName, é semelhante a GetUserName exceto pelo fato de que recupera o nome no sistema. 

  Private Declare Function GetComputerName Lib "kernel32" Alias _
   "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long
  
Function apicGetComputerName() As String
    'Call to apiGetUserName returns current user.
  Dim lngResponse As Long
  Dim strUserName As String * 32
    lngResponse = GetComputerName(strUserName, 32)
  apicGetComputerName = Left(strUserName, InStr(strUserName, Chr$(0)) - 1)
End Function


Tags: VBA, API, code,10, GetComputerName

Inline image 1

Excel Tips - 03 - Glossário do PowerPivot - Termos e conceitos de DAX


Como o Microsoft SQL Server PowerPivot fornece recursos que abrangem muitas áreas tecnológicas, desde bancos de dados relacionais a analíticos, até a publicação na Web, o que segue são termos que podem ser novos ou provenientes de novas áreas tecnológicas.

Termos e conceitos de DAX

Calculated column
Coluna calculada
Coluna calculada é uma coluna adicionada a uma tabela do PowerPivot existente. Em vez de colar ou importar valores na coluna, você cria uma fórmula DAX que define os valores da coluna. Se incluir a tabela do PowerPivot em uma Tabela Dinâmica (ou Gráfico Dinâmico), a coluna calculada poderá ser usada como você faria com qualquer outra coluna de dados. Diferentemente do Excel, não é possível criar fórmulas diferentes para linhas distintas em uma tabela; em vez disso, a fórmula DAX é aplicada automaticamente a toda a coluna assim com quando inserimos colunas em uma query ou view no SQL.

Context
Contexto
O contexto define o subconjunto atual de dados que está sendo avaliado. Por exemplo, se os dados tiverem sido filtrados por ano, o filtro de ano definirá o contexto atual.

Expression
Expressão
Uma expressão é uma parte de uma fórmula. Quando você atualiza a pasta de trabalho, o valor na expressão é avaliado e fica disponível para uso em outros cálculos.

Filter
Filtro
Um filtro é uma expressão que você cria, usando DAX, para restringir as linhas e as colunas usadas no contexto atual. Também é possível usar filtros para retornar uma tabela de valores para outra função. Por exemplo, você pode criar um filtro que retorne apenas os clientes que estão em uma determinada região e depois usar essa expressão de filtro no lugar de uma tabela, em uma expressão que calcula uma média ou soma para a tabela. Para obter mais informações.

Function
Função
Uma função executa um cálculo em uma coluna de um conjunto de linhas e retorna um único valor.

Measure
Medida
Medida é uma fórmula criada especificamente para ser usada em uma Tabela Dinâmica (ou Gráfico Dinâmico) que utilize dados PowerPivot. As medidas podem basear-se em funções de agregação padrão, como COUNT ou SUM, ou é possível definir sua própria fórmula usando-se o DAX. Uma medida é usada na área Valores de uma Tabela Dinâmica. Se você quiser colocar resultados calculados em uma área diferente de uma Tabela Dinâmica, use uma coluna calculada em seu lugar. Cada medida que colocar em uma tabela ou gráfico dinâmico será avaliada em um contexto específico. Por exemplo, quando você coloca uma medida em uma tabela dinâmica do Excel, cada célula nessa tabela dinâmica representa alguma combinação exclusiva de valores nos cabeçalhos de linha e coluna dessa célula. Para popular a célula, uma consulta é emitida para obter todos os valores relevantes, e a fórmula é avaliada em relação a esse conjunto de dados. Observação:   Se você estiver familiarizado com o Analysis Services, isso poderá ajudá-lo a pensar em uma medida DAX como uma "medida calculada", que foi criada com o uso da sintaxe DAX, em vez da MDX.

Operator
Operador
Em uma consulta, um conector entre duas expressões, duas subcláusulas ou uma combinação de uma expressão e uma subcláusula. Há três operadores lógicos principais: AND, OR e NOT. Para obter mais informações.

Processing
Processamento
O processamento é uma operação automática do mecanismo de BI na memória, em que os dados são atualizados na memória e todas as agregações necessárias são recalculadas.

Recalculation
Recálculo
Fórmulas e medidas de uma pasta de trabalho do PowerPivot devem ser recalculadas quando os dados subjacentes são atualizados, ou quando há alterações nas fórmulas. Portanto, costuma haver um recálculo depois de uma operação de atualização. Como o recálculo pode ser demorado, convém controlar o momento em que ele é realizado. Para obter mais informações.

Relationship
Relação
Uma relação é um mapeamento entre duas tabelas que une uma coluna de cada tabela, onde as colunas têm dados correspondentes. O PowerPivot dá suporte a uma única relação entre as duas tabelas, em uma única coluna. Você pode criar relações um para um ou um para muitos. 

Scalar
Escalar
Um único valor, que pode ser texto ou um número. Em uma pasta de trabalho do PowerPivot, algumas funções só funcionam com valores escalares, enquanto outras podem funcionar com colunas inteiras ou tabelas de dados

Table data type
Tipo de dados de tabela
Um novo tipo de dados para uso em funções DAX. Estas tabelas são usadas da mesma forma que usamos matrizes nas funções do Excel, para somar ou trabalhar com diversos valores. Entretanto, na DAX, não podemos definir uma matriz ad hoc, mas podemos obter os valores de tabela definindo uma expressão que retorne uma coluna ou tabela. As colunas ou tabelas em um tipo de dados de tabela não podem ser armazenadas em células individuais em uma tabela do PowerPivot. Usamos a coluna ou a tabela como um resultado intermediário, armazenado em memória, sobre a qual pode executar outras operações.

Unknown member
Membro desconhecido
Um membro de uma dimensão para a qual nenhuma chave é localizada durante o processamento de um cubo que contém a dimensão. Por exemplo, se você criar uma Tabela Dinâmica que deve agrupar as vendas por loja, mas alguns registros da tabela de vendas não tiverem um nome de loja listado, todos os registros sem um nome de loja válido serão agrupados como o membro desconhecido.



Tags: Excel,  PowerPivot, SQL Server, Calculated column, Context, Expression, Filter, Function, Measure, Operator, Processing, Recalculation, Relationship, Scalar, Table data type, Unknown member



Inline image 1

Business Intelligence - 4 Piores Práticas do BI

Sim, os softwares de Business Intelligence (BI) evoluíram.

Lembro-me dos relatórios com linhas verdes e brancas, verdadeiras listagens em Cobol, convertidos num mercado complexo repleto de ferramentas e plataformas.

Existem ferramentas para desenhar relatórios, formular consultas e efetuar processos analíticos online (OLAP). Por sua vez, as plataformas de BI combinam estas ferramentas baseadas em dados, tecnologia de integração e portais, oferecendo sofisticadas aplicações.

É inegável que o BI tem um grande potencial para ajudar as organizações, mas não podemos apenas considerar a implementação das ferramentas de BI como o maior fator de sucesso para as empresas. A implementação e a utilização desta tecnologia têm uma grande importância no êxito do Business Intelligence.

É consenso no mercado que as 4 situações a seguir são as 4 Piores Práticas do BI.

Usuários empresariais necessitam de informação facilmente acessível e útil para apoiar a tomada de decisões fundamentadas. Ainda que as ferramentas de BI ofereçam a possibilidade de expor informações, estas são demasiadamente complexas para a maioria dos usuários.

1 - 

O clássico primeiro erro que as empresas cometem consistem na forma de avaliação e escolha das soluções de BI

Sim, vez, após vez, falham ao não incluir, em sua grande maioria, os usuários empresariais na comissão de seleção da ferramenta.

Creiam-me, esta prática é, maioritariamente, a origem do fracasso do BI, pois os decisores não sabem o que os usuários empresariais necessitam.

Reflita: Isto é ainda mais preocupante se levarmos em conta que pelo menos 90% dos usuários corporativos não são técnicos, e apenas 10% dos usuários têm conhecimentos suficientes para utilizar uma ferramenta de BI.

Para resolver esta questão, as empresas necessitam de soluções de BI que sejam fáceis de usar por todos os usuários, especialmente para os não técnicos.

2 - 

Todos os que lêem meus Blogs com certa assiduidade sabem da minha dedicação, uso e desenvolvimento com o MS Excel.

E é por isso que sinto-me confortável em apontar este segundo erro clássico sobre o qual as empresas precisam se esforçar muito para evitar.

Não permita que o MS Excel se converta na plataforma de BI. O Excel é possivelmente a ferramenta de BI mais utilizada em todo o mundo e a sua beleza reside no fato de oferecer uma interface extremamente simples para executar algumas funções de uso comum como calcular, apresentar e mostrar dados numéricos. Trata-se de uma ferramenta de produtividade padrão à qual qualquer colaborador pode ter acesso facilmente.

Contudo, apesar de ser útil, o ponto fraco do Excel reside na qualidade e coerência da informação gerada, pois os seus processos manuais são fonte de erros. De fato, o Excel não foi concebido como ferramenta de BI. As aplicações de BI só devem utilizar dados procedentes de fontes confiáveis e acreditadas. Para além desta questão, o Excel é um software que permite aos utilizadores, individualmente, acumularem os dados dos quais depende o seu trabalho em planilhas de cálculo pessoais.

A solução para este problema é minimizar o trabalho manual realizado no Excel e impedir o acúmulo de dados em planilhas pessoais. Uma forma de consegui-lo é converter o Excel em um front-end do BI. Se os dados produzidos forem exatos, pré-formatados e pré-calculados, o usuários não terão praticamente que fazer nada para obter os resultados que necessitam.

3 - 

A terceira prática a evitar é considerar que um data warehouse resolve todas as necessidades de acesso e distribuição dos dados da sua empresa. Os data warehouses são uma parte importante da tecnologia da informação e, em particular, constituem um componente essencial de muitos sistemas analíticos. O problema não é o data warehouse em si, mas quando este é considerado a solução para todos os problemas de informação ou quando se espera que a disponibilidade deste conduza os usuários empresariais até à informação. Os armazéns de dados não devem ser implementados sem se conhecer com clareza a necessidade do negócio.

Identificar o melhor método de integração e acesso à informação e não tomar por garantido que um data warehouse é a solução adequada antes de avaliar todas as opções é a forma de evitar este erro.


4 -
A aquisição de software de BI para análises gerais é a última prática inadequada que identifiquei. De fato, os custos mais elevados e a rentabilidade mais reduzida do BI derivam da aquisição de uma solução genérica, sem um objetivo específico, o que raras vezes tem impacto positivo no negócio.


Bem, resumindo, lembrar estas práticas e tomar certas precauções são passos que permitirão à sua empresa alcançar um resultado final com rentabilidade do investimento claramente definida. Assim, poderá identificar, desde o primeiro momento, o que a sua empresa necessita e construir as bases para que um maior número de usuários tome como sua a solução, ao incluir o verdadeiro usuário no processo de seleção e implementação de uma aplicação de BI fácil de usar, que interaja com as aplicações mais utilizadas.

TagsBusiness Intelligence, BI, OLAP, data warehouse,


VBA Tips - 02 das 10 Principais interações com as APIs do Windows - GetUserName



Quando uma solução VBA está aquém de atender as nossas necessidades, certamente existirá uma função API do Windows que fará o trabalho para nós.

Listo a seguir o que acredito ser uma das 10 Principais interações com as APIs do Windows.

Nós, que desenvolvemos com o VBA no Office, sabemos que podemos pegar alguns atalhos para resolver muitas das nossas necessidades diárias. Às vezes, uma solução pode tornar-se complicada ou difícil para implementarmos. Neste momento lançamos mão das APIs - Application Programming Interface. Sim, encontraremos milhares de funções úteis. E é importante saber que podemos usá-las em quaisquer aplicativos baseados no Windows. (As dicas deste post são específicas para o sistema 32 bits).

Estas funções VBA demonstradas neste artigo não tem o objetivo de serem práticas. Antes, são chamadas simples às APIs, para que possamos ver como trabalham em conjunto. Mas certamente, algumas delas poderão facilmente passar para a sua biblioteca pessoal. Depois que souber como os procedimentos VBA chamam as funções API e o que retornam, poderão modificar tais códigos para usá-los em seus próprios projetos.

2: GetUserName

Se precisar saber quem está conectado em um banco de dados MS Access, use o GetUserName. Há outras maneiras de fazer isso sem chamar uma API, mas se esta API é tão simples, por que se preocupar em escrever o seu próprio código? A GetUserName recupera o nome do sistema atual ou o nome do usuário atual conectado à rede. Poderá declará-la e chamá-la, passando as informações apropriadas, como segue:

Private Declare Function GetUserName Lib "advapi32.dll" Alias _
"GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
Function apicGetUserName() As String
    'Call to apiGetUserName returns current user.
  Dim lngResponse As Long
    Dim strUserName As String * 32
  lngResponse = GetUserName(strUserName, 32)
  apicGetUserName = Left(strUserName, InStr(strUserName, Chr$(0)) - 1)
End Function
Tags: VBA, API, code,10, GetUserName

Inline image 1

diHITT - Notícias