MDX format_string para % não se multiplica por 100 quando o sinal de % está na frente

StackOverflow https://stackoverflow.com/questions/2241492

  •  19-09-2019
  •  | 
  •  

Pergunta

Para a seguinte consulta:

with 
member testVal as 0.1234
member testNormal as testVal
member testPrepend as testVal, format_string="%##.00"
member testMidpend as testVal, format_string="##%.00"
member testAppend as testVal, format_string="##.00%"
select { testNormal, testPrepend, testMidpend, testAppend} on axis (0)
from [SomeRandomPlace]

O seguinte é devolvido:

testNormal  testPrepend     testMidpend     testAppend
0.1234      %.12            12%.34          12.34%

Isso está causando problemas, pois usamos a mesma sequência de formato no .NET como uma operação pós-processo (algum controle exige que façamos isso) e se comporta conforme o esperado (multiplicando-o por 100 devido ao sinal %).

Isso é comportamento documentado? Ou algum bug obscuro? Ou estou fazendo algo errado/estranho? Eu sinto o testPrepend O membro também deve ser multiplicado por 100, mas não é.

Foi útil?

Solução

O comportamento documentado parece implicar que seu método deve funcionar: http://msdn.microsoft.com/en-us/library/ms146084.aspx

Representa um espaço reservado percentual. A expressão é multiplicada por 100. O caractere percentual (%) é inserido na posição em que a porcentagem aparece na sequência do formato.

Eu tentei com números maiores, para garantir que a máscara seja preenchida, apenas parece ignorar o símbolo percentual se for o primeiro personagem? Talvez aumente com o MS Connect?

with 
member testVal as 13.1234
member testNormal as testVal
member testFront as testVal, format_string = "%##.00"
member testFrontBack as testVal, format_string = "%##.00%"
member testString as testVal, format_string="Percent"
member testSymbol as testVal, format_string="%"
member testStringSymbol as testVal, format_string="%Percent" //Lol
select { testNormal, testFront, testFrontBack, testString, testSymbol, testStringSymbol} on axis (0)
from [Cube]
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top