2

次のクエリの場合:

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]

以下が返されます。

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

.NETで後処理操作と同じフォーマット文字列を使用し(一部のコントロールではこれを行う必要があります)、期待どおりに動作するため(%記号のために100を掛ける)、これが問題を引き起こしています。

これは文書化された動作ですか?またはいくつかのあいまいなバグ?それとも私は何か間違った/奇妙なことをしていますか?testPrependメンバーも100倍にするべきだと思いますが、そうではありません。

4

1 に答える 1

2

文書化された動作は、メソッドが機能することを示唆しているようです:http: //msdn.microsoft.com/en-us/library/ms146084.aspx

パーセンテージプレースホルダーを表します。式は100倍されます。パーセント文字(%)は、フォーマット文字列でパーセントが表示される位置に挿入されます。

より大きな数字で試してみましたが、マスクが確実に塗りつぶされるように、最初の文字である場合はパーセント記号を無視しているように見えますか?多分MSコネクトでそれを上げますか?

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]
于 2010-02-24T16:38:46.457 に答える