CalcDim - função de gráfico
Quando usado em uma expressão de dimensão, CalcDim() substitui a interpretação automática do mecanismo sobre como lidar internamente com a expressão. Especificamente, a função impede a criação de um novo campo interno no modelo de dados. Em vez disso, as seleções feitas no aplicativo são tratadas como seleções em campos aplicáveis do modelo de dados original.
Essa função não pode ser usada no script de carregamento. Além disso, uma prática recomendada para o desempenho do sistema é carregar os campos usados na dimensão calculada como campos lógicos por meio do script de carregamento, quando possível. CalcDim() oferece uma maneira de controlar o comportamento do mecanismo em cenários em que não é possível carregar o campo calculado a partir do script.
No Qlik Sense, a expressão de dimensão é realizada por padrão como um campo instantâneo — ou seja, como um campo real, aparente na barra de seleção atual, criado sob demanda. As seleções são aplicadas e inferidas a este campo, semelhante a qualquer campo lógico do script.
Uma expressão envolvida em CalcDim() se comportará da mesma forma que todas as expressões de dimensão calculada funcionam no QlikView, que é um mapeamento ad-hoc dos valores calculados para os valores do campo de origem subjacente. Todos os cálculos de campo em tempo real podem ser transferidos para dimensões calculadas usando a função CalcDim(), já que a dimensão calculada precisa atender a menos requisitos com base no modelo de dados do que o cálculo de campo em tempo real correspondente. Essa transformação pode ser desejável para garantir um comportamento semelhante para todas as dimensões calculadas, onde o modelo de dados pode impedir o uso de um cálculo de campo em tempo real em alguns casos, mas não em outros.
Sintaxe:
CalcDim(expr)
Tipo de dados de retorno: dual
| Argumento | Descrição |
|---|---|
| expr |
Uma expressão sendo usada como uma dimensão ou como um segmento em uma expressão de dimensão. |
Quando usar CalcDim
CalcDim() É útil quando você precisa de mais controle sobre como o mecanismo Qlik manipula os campos que você invoca em uma expressão de dimensão.
Por padrão, o Qlik Sense decide automaticamente se deve criar e referenciar campos internos no modelo de dados quando você usa uma expressão de dimensão personalizada. O Qlik Sense cria e usa esses campos internos sempre que possível. Quando isso não for possível, a expressão será tratada com referência aos campos existentes do modelo de dados dos quais ela depende.
Dependendo do seu caso de uso, esse processamento automático pode não ser sempre desejável. Por exemplo, se você estiver usando uma variável em uma expressão de dimensão, a criação automática de novos campos pode se tornar problemática. Nesse caso, use CalcDim() para forçar a expressão a ser tratada sem esse método.
Aqui estão alguns casos de uso comuns:
-
Você migrou o conteúdo do QlikView para o Qlik Sense e deseja preservar o método de processamento do QlikView para dimensões calculadas.
-
Você deseja simplificar o comportamento de seleção no seu aplicativo. Por exemplo, você prefere mostrar seleções de campos como seleções em campos do modelo de dados original, em vez de seleções em novos campos.
-
Seu caso de uso requer uma expressão ad hoc para consistência e desempenho. Por exemplo, se sua expressão de dimensão contiver parâmetros de visualização dinâmica controláveis pelo usuário, como formatação controlável, valores de corte ou períodos.
| Exemplo | Resultado |
|---|---|
| =CalcDim(if(Year < 2023, 'Older', Year)) |
Fazer uma seleção em uma visualização que usa essa dimensão será processado e exibido como uma seleção no valor de campo Year associado do modelo de dados. Por outro lado, digamos que você não envolva a expressão em CalcDim(). Nesse caso, seria assim: =if(Year < 2023, 'Older', Year) Fazer uma seleção na expressão acima seria processado e exibido como uma seleção no campo interno =if(Year < 2023, 'Older', Year), que não está no modelo de dados. |