Utilizar uma transformação para calcular 5 últimos valores dentro de uma consulta SQL
25 de dezembro
Aqui está uma das minhas recentes funções interessantes:
Calcular algumas métricas apenas para os itens que estão em alta demanda. Um item é "alta demanda", se o seu valor de vendas foram maiores do que o X constante em cada um dos últimos 5 meses (incluindo o mês corrente).
Solução
Primeira vez definição de tarefas:
Um artigo que A é válida no mês M como um artigo com grande demanda, se a sua Abverkäufe em todos dos últimos 5 meses (incluindo o mês corrente) eram maiores X uma constante fixa (por exemplo, foi X = 100). Queremos encontrar e, em um relatório representam o mais eficientemente possível a todos essa combinação A e M (que, se necessário, de um filtro de métricas para usar mais tarde para poder).
Aqui é a minha solução usando apenas uma transformação. Eu vejo a vantagem desta solução no fato de que apenas uma vez a tabela de fatos geralmente muito grandes uma acessos.
Para todos os exemplos eu vou usar de acordo com padrão instalado o projeto no meu blog MicroStrategy Tutorial. Portanto, você pode facilmente copiar meus exemplos e experimentar. Além disso, é possível comparar as várias soluções de um problema diretamente.
Como eu já traiu, eu uso uma transformação na minha solução. Portanto, uma visão Transformações deve ser definido como o primeiro. A fonte de dados para o projeto "A MicroStrategy Tutorial" é uma base de dados ACCESS TUTORIAL_DATA_7200.mdb.
Colocamos a seguinte opinião:
SELECT t1.MONTH_ID, t2.MONTH_ID AS PREV_MONTH_ID, DateDiff ( "m", t2.MONTH_DATE, t1.MONTH_DATE) AS MONTH_DIFF
DA LU_MONTH como T1, LU_MONTH AS t2
WHERE (((DateDiff ( "m", t2.MONTH_DATE, t1.MONTH_DATE)) entre 0 e 4))
ORDER BY t1.MONTH_ID, t2.MONTH_ID;
A VB-DateDiff função suprimentos aqui o número de meses completos, que se situam entre os valores entregues data. As despesas da vista parece, então, cerca de tal forma:
Nós designar a Ver "MONTH_TO_5_LAST_MONTHS". Agora, o Ver no catálogo do Armazém é importada e, posteriormente, na nova tabela lógica os seguintes objetos são definidos:
Transformação "Meses carga de 5"
Atributo "Meses Diff"

Além disso, o formulário de atributo mês @ ID deve ser prorrogado automaticamente para o campo month_id a nova tabela:
Agora, queremos construir uma Metrik, que "um mapa de bits com 5 dígitos representa" a forma de *****. Cada asterisco corresponde, assim, um mês: o asterisco linkste refere-se ao mês na linha do relatório considerado, o asterisco ao lado do mês anterior (em relação à linha do relatório considerado), etc
No lugar de cada um asterisco queremos indicar a indicação "para o X", se o Abverkaufswert do artigo foram maiores na linha do relatório considerado nesse mês asterisco correspondente posição 100. Caso contrário, indicar, em lugar da indicação do asterisco para O.
Se, portanto, para um artigo no mês de bit-map é indicado para 200.804 "OXXOO, isso significa que esse artigo tinha a Abverkaufswerte apenas no 200802 e 200803 mês mais amplamente 100. Segundo a definição da configuração de tarefas de tal artigo não teria grande demanda no mês de 200.804. "Somente as combinações dos artigos e mês correspondem à grande demanda, para que o bit-map é calculado.
E aqui a definição do Metriks bit-Vendas mapa> 100 na carga de 5 meses:
A dimensionalidade e Konditionalität do Metrik não são alteradas. Somente a transformação "5 meses de carga" é atribuído o Metrik.
A fórmula do Metrik é o seguinte:
ApplyAgg ( "max (IIF ((# 0 = 0 e # 1> 100), 'X', 'O')) & Max (IIF ((# 0 = 1 e # 1> 100), 'X', ' O ')) & Max (IIF ((# 0 = 2 e # 1> 100),' X ',' O ')) & Max (IIF ((# 0 = 3 e # 1> 100),' X ', 'O')) & Max (IIF ((# 0 = 4 e # 1> 100), 'X', 'O'))"; [Diff Months] @ ID; [Unidades Vendidas])
Por causa da função ApplyAgg um deve entrar na lógica de sintaxe VisualBasic (IIF para o exame e konditionale e para o Konkatenierung). Provavelmente seria função porém também sem ApplyAgg função, com as funções IF e MicroStrategy Concat. Maneira lógica deve gerar MicroStrategy no entanto, neste caso uma consulta muito semelhantes.
Aqui está uma captura de tela do relatório, que usa o bit Metric Vendas mapa> 100 na carga de 5 meses:
O artigo original em alemão pode ser lido aqui.
Solução para não poder adicionar tabelas no Armazém Catálogo
18 de dezembro
Vistas Issue: Não é possível adicionar tabelas de / para o esquema em Armazém Catálogo
Erro: 'Erro ao adicionar tabela (s) para o esquema. Esta chave já está associado a um elemento desta coleção "
Solução em MSTR 9:
1) Abra o 'Arquiteto',
2) Clique com o botão direito na tabela <nome
3) Adicione ao projeto
4) uma vez que sua adicionado, tabela com o botão direito no painel esquerdo e atualizar a estrutura
5) Salvar e fechar (ele vai pedir para atualização do esquema, para fazer o mesmo
6) Catálogo Armazém Agora abra
7) você pode ver a tabela / view adicionado ao esquema
Object Tracking Tool - com algumas atualizações
11 de dezembro
Depois de longo intervalo destacamento "Object Tracking Tool", com algumas atualizações.
1) A ferramenta de teste no sistema onde eu-servidor está instalado (não tenho uma chance de testar sem I-Server)
2) Testado no XP, 2003, Vista, 7
3) Para os testes utilizando Tutorial; a identificação do objeto de alguns objetos podem se parece mesmo ... mas na verdade há uma diferença entre cada número de identificação. Não presuma que a sua repetindo a mesma identificação.
4) Todas as sugestões / Comentários são bem-vindos
Nota: Em breve a ferramenta será integrada com alguma outra ferramenta também.
Baixe a ferramenta aqui.
Nota: Esta aplicação é fornecida "como está" e eu declinam todas as garantias, expressas ou implícitas, com respeito a todos os itens previstos, incluindo todas as garantias de comerciabilidade, adequação a uma finalidade específica, precisão, integração de sistemas, título, qualidade satisfatória e não-violação. Eu não garante que a utilização dos produtos fornecidos ou qualquer parte dele será ininterrupta ou livre de erros, ou que os elementos fornecidos ou qualquer parte dele vai atender a qualquer necessidade ou exigência de licenciado.
Interessante questão Metadados
11 de dezembro
Em MSTR 9, há um novo recurso chamado Multisource onde o usuário pode conectar várias instâncias DB.
Usamos o mesmo e devido ao novo modelo de licença que são forçados a mudar de volta para DB instância única. Assim, apontou todos instância DB para conexão ODBC mesmo (logicamente sua conexão um DB)
Issue: Mesmo que todos instância DB apontando para ODBC mesmo, MSTR considerar que, como exemplo DB múltiplas. Então, quando usuário sem Multisource login licença para o MSTR e tente executar qualquer relatório, ele gera um erro dizendo que 'isso é necessário licença de várias origens. Coisa interessante é, as tabelas para o relatório são provenientes DB instância única.
Solução: É questão tornou-se crítica durante SIT devido a alterações de licença do cliente ... blá .... Blah.
Levou pouco risco de opção e também que é a única solução ... Mudando DB Instância, para todos os atributos em tabelas de metadados. (Opção alternativa, editar todos os atributos e alterar a tabela apontando para DB instância única tarefa que é enorme - [400 atributos].
Fez algumas análises sobre as tabelas MD, relacionamentos, etc ... eu mudei a todos instância DB 32 bit ID de instância única DB 32 bit ID (precisa ser muito cuidadoso ao excluir as linhas, alterando os valores de coluna na DB Metadados.
Ainda estou fazendo a documentação sobre mudança DB instância em Metadados diretamente e junto com o planejamento de documento ou nova ferramenta para 'encontrar e substituir o objeto em qualquer definição ".
Se alguém se cruzar este tipo de questões como "Object ID não pode ser encontrado e também questões como SCANMD, MD médico não conseguir resolver, vai tentar ajudá-lo a corrigir o mesmo.
Em breve divulgaremos o documento e ferramenta para o mesmo ... ...






























Comentários recentes