Tamanho do intervalo número acumulado
Vamos supor que o preço é diferente por intervalo, mas indicado por kg em vez de por intervalo de peso:
- O primeiro kg custa 6,- € por kg
- Os próximos 2 kg custam 1,50 € por kg
- Os próximos 17 kg custam 2,- € por kg
A tabela range resultante teria o seguinte aspecto (novamente o tipo de dados de saída foi modificado).
Intervalos definidos para uma característica de saída de número individual, exemplo 3
| Intervalo de peso | Preço do pacote (valor de número único) |
|---|
| <0;1] | 6 |
| <1;3] | 1,5 |
| [3;20] | 2 |
Novamente, os dois nomes de propriedade de saída devem ser definidos. Aqui, foram selecionados os mesmos nomes que para o exemplo anterior. Mas lembre-se de que você poderia fornecer qualquer nome que deseje para as propriedades geradas.
Assuma que um valor de 7 kg é transferido novamente para a tabela, de modo que, mais uma vez, o terceiro intervalo seja atingido. Como ambos os nomes de propriedade gerados devem ser definidos, duas propriedades de saída são calculadas:
- Para a característica "Preço acumulado", são determinados todos os intervalos que são anteriores ao intervalo atingido pelo número transferido para a tabela de intervalos. Como o número 7 significa que o terceiro intervalo foi atingido, o primeiro e o segundo são selecionados.
- O valor da coluna de saída não é multiplicado pelo tamanho do intervalo para cada um destes intervalos. Para o primeiro intervalo, isso significa.
- Para o segundo intervalo, isso significa
- Em seguida, o total desses produtos é calculado:
- Assim, a característica "Preço acumulado" conterá o valor 9.
- Para a propriedade "Price", o valor será novamente o valor de saída do intervalo atingido pelo valor numérico transferido para a tabela range. Como o valor é 7, o terceiro intervalo é atingido. Seu valor de saída é 2, por isso o valor da propriedade "Price" é 2.
Olhando para os resultados, você ainda não está bem no resultado desejado. Nossos preços deveriam funcionar assim:
- O primeiro kg custa 6,- € por kg
- Os próximos 2 kg custam 1,50 € por kg
- Os próximos 17 kg custam 2,- € por kg
Seguindo esta lógica, um peso da embalagem de 7 kg deve resultar em
- 6,- € para o primeiro kg
- 3,- € para os próximos 2 kg (cada kg vai por 1,50 €)
- 8,- € para os restantes 4 kg (cada kg vai para 2,- €).
Isto totaliza até 17,- €.
A comparação da tabela de intervalos gerou 9,- para a propriedade "Preço Cumulativo" e 2,- para a propriedade "Preço". A soma dele é 11,- € então, você está claramente faltando 6,- €, como o último intervalo não considera a quantidade. Então, o que está faltando?
É aqui que a tabela inferior denominada Propriedades calculadas se torna importante.
Cada introdutor de tabela de intervalos cria um conjunto de propriedades padrão, independentemente das colunas de saída que sua tabela de intervalos fornece. Essas propriedades fornecem flexibilidade ao usuário, de modo que vários modelos de cálculo de preço possam ser suportados além dos listados aqui. A tabela a seguir fornece uma lista dessas propriedades juntamente com uma explicação do seu significado. Você vai precisar de um deles.
Lista de propriedades junto com uma explicação do significado
| Valor calculado | Significado |
|---|
| Limite inferior do intervalo | Contém o limite inferior do intervalo, que foi atingido, se disponível. |
| Limite superior do intervalo | Contém o limite superior do intervalo, que foi atingido, se disponível. |
| Tamanho do intervalo | Contém o tamanho de um intervalo. Normalmente, isso é calculado como <UPPER_BOUND_OF_RANGE> - <LOWER_BOUND_OF_RANGE>. |
| Pro rata no intervalo | Contém um fator que varia entre 0 e 1, indicando a posição relativa do valor numérico dentro dos limites do intervalo, onde um valor mais próximo de 0 significa que o valor está mais em direção ao limite inferior e um valor mais próximo de 1, o que significa que o valor se encontra mais em direção ao limite superior. Exemplo: Um valor de 17 em comparação com um intervalo de <10;20] levaria a um valor de 0,7. É calculado como (17-10):(20-10) ou mais geralmente como (<NUMBER_VALUE> - <LOWER_BOUND_OF_RANGE>) : (<UPPER_BOUND_OF_RANGE> - <LOWER_BOUND_OF_RANGE> |
| Valor além do limite inferior | Esta é a distância do valor numérico do limite inferior. Exemplo: Um valor de 17 em comparação com um intervalo de 10;20] levaria a um valor de 7, uma vez que 17 – 10 é 7 ou mais geralmente <NUMBER_VALUE> - <LOWER_BOUND_OF_RANGE> |
| Valor além do limite superior | Esta propriedade contém a distância do valor numérico e o limite superior do último valor ilimitado. Como resultado, esta característica só pode ser calculada para classes de tabela de intervalos limitadas. Exemplo: Um valor de 27 em comparação com um último intervalo de <10;20] levaria a um valor de 7, uma vez que 27 – 20 = 7 ou mais geralmente <NUMBER_VALUE> - <UPPER_BOUND_OF_LAST_RANGE > |
Para seu objetivo, você precisa da característica calculada chamada Valor além do limite inferior. Para o peso da embalagem de 7 kg, é atingido o terceiro intervalo. Seu limite inferior é 3. A diferença entre 7 kg e 3 kg é de 4 kg. Esses 4 kg devem ser multiplicados pelo valor da característica de saída do intervalo, que é 2,- €. O produto de 2,- € e 4 kg totaliza até os 8,- € em falta
Agora você pode totalizar as somas de todos os intervalos:
- 6,- € para o primeiro kg
- 3,- € para os próximos 2 kg (cada kg vai por 1,50 €)
- 8,- € para os 4 kg restantes (como você acabou de calcular)
A soma é de 17,- €, como esperado.
Você pode utilizar as características calculadas conforme necessário. No entanto, nem todas as propriedades estão disponíveis em cada ramificação. A tabela a seguir mostra para quais filiais cada propriedade está disponível.
Ramificações e propriedades
| | | <property> está abaixo do primeiro limite | <property> está em um intervalo | <property> Encontrado no último intervalo ilimitado | <property> Está acima do último limite definido |
|---|
| | Limite inferior do intervalo | É igual a 0 | É igual ao limite inferior do intervalo selecionado. | É igual ao limite inferior do intervalo selecionado. | É igual ao último limite superior. |
| Característica calculada | Limite superior do intervalo | É igual a 0 | É igual ao limite superior do intervalo selecionado. |  | É igual ao último limite superior. |
| Tamanho do intervalo | É igual a 0 | Limite superior do intervalo - Limite inferior do intervalo. |  | É igual ao último limite superior. |
| | Pro rata no intervalo |  | Valor além do limite inferior/tamanho do intervalo |  |  |
| | Valor além do limite inferior |  | Diferença entre o limite inferior do intervalo e o valor da propriedade de entrada usada para selecionar o intervalo apropriado | Diferença entre o limite inferior do intervalo e o valor da propriedade de entrada usada para selecionar o intervalo apropriado |  |
| | Valor além do limite superior |  |  |  | Diferença entre o limite superior do último intervalo definido e o valor da característica de entrada |