Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Ola galera boa noite,
Eu mais uma vez, eu estou para entregar um projeto, e fiz uma tabela dinamica, onde o usuario vai clicando nas dimensões e eu vou mostrando as colunas, como eu faço isso ? eu crio via inline as dimensoes disponiveis para ele clicar, no grafico dinamico eu tenho o seguinte codigo em condicional da dimensão ou das expressoes :
=SubStringCount(Concat(Codigo_Dimensao_Beneficiario, '|'), 01) onde o numero passado é o código da tabela inline que identifica qual foi o selecionado pelo usuario, isso funciona certinho, tenho isso implementado em alguns clientes, porém nesse em especifico não esta funcionando, percebi que o qlikview deles é bem antigo, porém não consegui ver a versão do qlikview server instalado, eles ainda não atualizaram, minha pergunta é, o que eu preciso alterar ou não poderei implementar essa funcionalidade devido a versão do qlikview ? porque na minha maquina e nos clientes que instalaram qlikview agora funciona, no qlikview server desse cliente que é antigo não funciona.
Bom dia Wagner, essa funcionalidade de condição de dimensão e expressão foi implementada na versão 11 do QlikView. Caso seu cliente tenha a versão anterior a 11 com certeza não funcionará.
Uma alternativa para esse caso é a criar algumas macros para adicionar dimensões e métricas.
Para executar a macro é necessária uma ação de macro do tipo externa.
Sub GerarTabela
LimparTabela
set chart = ActiveDocument.GetSheetObject("CH_DINAMICO")
'clean chart
set dims = chart.GetProperties.Dimensions
set exps = chart.GetProperties.Expressions
'msgbox("Dimensoes = " & dims.Count)
'msgbox("Expressoes = " & exps.Count)
for i=0 to dims.Count
'msgbox("Dimensoes = " & i)
chart.RemoveDimension i
next
'add dimensions
set dimSelection = ActiveDocument.fields("Dimensao_Campo").GetPossibleValues
set dimRotulo = ActiveDocument.fields("Dimensao_Relacao").GetSelectedValues
for i=0 to dimSelection.Count - 1
'msgbox(dimSelection.Item(i).text)
chart.AddDimension dimSelection.Item(i).text
'rename an dimension title
set prop = chart.GetProperties
Prop.Dimensions.Item(i).Title.v = dimRotulo.Item(i).text
chart.SetProperties prop
next
for i=0 to exps.Count - 1
'msgbox("Expressoes = " & i)
chart.RemoveExpression i
next
set expValues = ActiveDocument.fields("Metrica_Calculo").GetPossibleValues
set expSelection = ActiveDocument.fields("Metrica_Rotulo").GetPossibleValues
'set expSelection = ActiveDocument.fields("%ExpName").GetSelectedValues
for i=0 to expValues.Count - 1
'msgbox(expValues.Item(i).Text)
chart.AddExpression expValues.Item(i).Text
'rename an expression label
set p = chart.GetProperties
set exps = p.Expressions
set expItem = exps.Item(i).Item(0).Data.ExpressionVisual
expItem.Label.v = expSelection.Item(i).Text
'msgbox(expItem.Label.v)
chart.SetProperties p
next
NroLinhas
end sub
Sub LimparTabela
On Error Resume Next
set chart = ActiveDocument.GetSheetObject("CH_DINAMICO")
'clean chart
set dims = chart.GetProperties.Dimensions
d = dims.Count - 1
For i = d to 0 Step -1
chart.RemoveDimension i
Next
'msgbox("Teste 1")
set exps = chart.GetProperties.Expressions
e = exps.Count - 1
For i = e to 0 Step -1
chart.RemoveExpression i
Next
'msgbox("Teste 2")
End Sub
Para o funcionamento foram criadas tabelas com as informações necessárias para cada dimensão e métricas.
Dimensoes_Rel:
LOAD
Dimensao_Ordem,
Dimensao_Relacao,
Dimensao_Campo
FROM
[..\$(vLocalDadosExcel)Food\Metricas e Dimensoes.xls]
(biff, embedded labels, table is Dimensoes$);
Metricas_Rel:
LOAD
Metrica_Ordem,
Metrica_Relacao,
Metrica_Calculo,
Metrica_Rotulo
FROM
[..\$(vLocalDadosExcel)Food\Metricas e Dimensoes.xls]
(biff, embedded labels, table is Metricas$);
Qlikfique-se.
Tonial.
Bom dia Wagner, essa funcionalidade de condição de dimensão e expressão foi implementada na versão 11 do QlikView. Caso seu cliente tenha a versão anterior a 11 com certeza não funcionará.
Uma alternativa para esse caso é a criar algumas macros para adicionar dimensões e métricas.
Para executar a macro é necessária uma ação de macro do tipo externa.
Sub GerarTabela
LimparTabela
set chart = ActiveDocument.GetSheetObject("CH_DINAMICO")
'clean chart
set dims = chart.GetProperties.Dimensions
set exps = chart.GetProperties.Expressions
'msgbox("Dimensoes = " & dims.Count)
'msgbox("Expressoes = " & exps.Count)
for i=0 to dims.Count
'msgbox("Dimensoes = " & i)
chart.RemoveDimension i
next
'add dimensions
set dimSelection = ActiveDocument.fields("Dimensao_Campo").GetPossibleValues
set dimRotulo = ActiveDocument.fields("Dimensao_Relacao").GetSelectedValues
for i=0 to dimSelection.Count - 1
'msgbox(dimSelection.Item(i).text)
chart.AddDimension dimSelection.Item(i).text
'rename an dimension title
set prop = chart.GetProperties
Prop.Dimensions.Item(i).Title.v = dimRotulo.Item(i).text
chart.SetProperties prop
next
for i=0 to exps.Count - 1
'msgbox("Expressoes = " & i)
chart.RemoveExpression i
next
set expValues = ActiveDocument.fields("Metrica_Calculo").GetPossibleValues
set expSelection = ActiveDocument.fields("Metrica_Rotulo").GetPossibleValues
'set expSelection = ActiveDocument.fields("%ExpName").GetSelectedValues
for i=0 to expValues.Count - 1
'msgbox(expValues.Item(i).Text)
chart.AddExpression expValues.Item(i).Text
'rename an expression label
set p = chart.GetProperties
set exps = p.Expressions
set expItem = exps.Item(i).Item(0).Data.ExpressionVisual
expItem.Label.v = expSelection.Item(i).Text
'msgbox(expItem.Label.v)
chart.SetProperties p
next
NroLinhas
end sub
Sub LimparTabela
On Error Resume Next
set chart = ActiveDocument.GetSheetObject("CH_DINAMICO")
'clean chart
set dims = chart.GetProperties.Dimensions
d = dims.Count - 1
For i = d to 0 Step -1
chart.RemoveDimension i
Next
'msgbox("Teste 1")
set exps = chart.GetProperties.Expressions
e = exps.Count - 1
For i = e to 0 Step -1
chart.RemoveExpression i
Next
'msgbox("Teste 2")
End Sub
Para o funcionamento foram criadas tabelas com as informações necessárias para cada dimensão e métricas.
Dimensoes_Rel:
LOAD
Dimensao_Ordem,
Dimensao_Relacao,
Dimensao_Campo
FROM
[..\$(vLocalDadosExcel)Food\Metricas e Dimensoes.xls]
(biff, embedded labels, table is Dimensoes$);
Metricas_Rel:
LOAD
Metrica_Ordem,
Metrica_Relacao,
Metrica_Calculo,
Metrica_Rotulo
FROM
[..\$(vLocalDadosExcel)Food\Metricas e Dimensoes.xls]
(biff, embedded labels, table is Metricas$);
Qlikfique-se.
Tonial.