0

ユーザー インタラクションを使用して odata クエリにフィルターを設定したいと考えています。ユーザーがデータ属性を選択すると、そのタイプはすでにわかっています。たとえば、ユーザーが特定の数値に等しい SALE_PRICE でフィルター処理する場合、選択した属性のタイプが Edm.Decimal であることは既にわかっています。そこで、この事実を利用して、キャスト操作でクエリを構築しようとしました。たとえば、SALE_PRICE が 323.7 に等しいデータを取得するには、次の URI を作成します。

analyticView?$select=AMOUNT_SOLD,FAMILY_NAME&$filter=SALE_PRICE+eq+(cast(323.7,'Edm.Decimal'))&$format=json

しかし、次のようなエラー メッセージが表示されます。

"No property 'cast' exists in type 

serivces.odata.org API でもこれを試しましたが、うまくいかないようです

http://services.odata.org/V3/Northwind/Northwind.svc/Orders ?$select=Freight,OrderID&$filter=OrderDate+eq+(cast(1996-07-05T00:00:00,'Edm.DateTime') ))&$top=5&$format=json

何が問題なのか確認していただけますか

4

3 に答える 3

2

なぜキャストが必要なのですか?代わりにこのクエリを試すことができます。

analyticView?$select=AMOUNT_SOLD,FAMILY_NAME&$filter=SALE_PRICE eq 323.7M&$format=json

3.27M のように m|M を接尾辞として付けると、小数を表すことができます。

于 2013-10-08T17:00:22.423 に答える
2

"1996-07-05T00:00:00" は整形式の日時定数ではありません。"datetime'1996-07-05T00:00:00'" である必要があります。この場合、次のクエリが機能します: http://services.odata. org/V3/Northwind/Northwind.svc/Orders ?$select=Freight,OrderID&$filter=OrderDate+eq+(cast(datetime'1996-07-05T00:00:00','Edm.DateTime'))&$top =5&$format=json

analyticView リクエストからエラーが発生した理由がわかりません。モデルとエラー メッセージの詳細を共有していただければ幸いです。

于 2013-10-09T15:49:21.933 に答える