2017-10-08 5 views
-2

私ができなかったことの1つは、データを統計的に使用することです。 FNLで2sxc - 統計データのクエリ

、たとえば、あなたは完全なSQLサーバ機能を使用することができ、私はまだ同じ目的を達成するために2sxc内のデータにアクセスする方法を見つけ出すことはできませんビット...

私ができる方法はありますSQLビュー(一時テーブル)にリスト内のデータを配置し、クエリを実行しますか?または、他の方法でデータにアクセスしてクエリを実行しますか?

敬具、 ジョアン

答えて

1

あなたはカミソリでそれを行うことができます。

AppsData ["your_pipeline_data"]たとえば、2sxcビジュアルクエリ/パイプラインでフィルタ処理、ソート、抽出された内容に応じて、App.Data ["Default"]というオブジェクトをテンプレートとして受け取ります。このオブジェクトのLinqを使用してデータを操作することができます。このデータを列挙型オブジェクトに入れると、必要な情報を得ることができます。

例:

@{ 
    var termGroups = ((IEnumerable<dynamic>)AsDynamic(App.Data["Default"])) 
     .OrderBy(t => t.Nom)        // sort terms 
     .GroupBy(l => l.Nom.Substring(0, 1).ToUpper()) // group by first letter 
     .OrderBy(s => s.Key);        // ensure sorting at group-level 

    int groups= Enumerable.Count(termGroups); 

} 

は、SQLにおけるGROUPBYのと等価です。

There are @terms items in the list. 

または

There are @groups groups in the list. 

は、すべてのデータを操作するには、ちょうどそのようなあなたのテンプレートで変数を使用し、任意のLINQのディレクティブその後

@{ 
     var terms = ((IEnumerable<dynamic>)AsDynamic(App.Data["Default"])); 
     int count = Enumerable.Count(terms); 
    } 

を入れていません

クレジット:Linqコードは2sxc AZのチュートリアルのものです

+0

質問言語としてLINQを考えたことはありませんが、それはまさにそれです... 2sxcページには "GroupBy"情報はありません。 Web上のLINQドキュメントを検索できますか?すべてのLINQ演算子は2sxcビューで使用できますか? –

+1

私は両方の質問に「はい」と言います。 Linqはデフォルトで統合されているので、Linq構文はすべて利用可能です。 IEnumerableのドキュメントを見てください:https://msdn.microsoft.com/en-us/library/system.linq.enumerable_methods(v=vs.110).aspx –

+0

ただ一つの最後のアドオン。 foreach(item in var){@ z.field} A、A、B、C、D、Dの出力を取得します。私はこれを出力する必要があります:A - 2; B-1; C-1; D - 2、等 –

関連する問題