2016-10-14 6 views

答えて

2

私はまだBqlで利用可能な機能がないと信じています。

私がこれを解決した方法は、サブクエリを生成する投影法です。たとえば:

[Serializable] 
[PXProjection(typeof(
    Select4<Table, 
     Aggregate< 
      GroupBy<Table.column1, 
      Sum<Table.column2>>>>))] 
public class AggregateTable : IBqlTable 
{ 
    // This will contain aggregate value - GroupBy 
    public abstract class column1: PX.Data.IBqlField 
    { 
    } 

    [PXDBString(BqlField = typeof(Table.column1))] 
    [PXUIField(DisplayName = "Column1")] 
    public virtual string Column1 { get; set; } 

    // This will contain aggregate value - Sum 
    public abstract class column2: PX.Data.IBqlField 
    { 
    } 

    [PXDBInt(BqlField = typeof(Table.column2))] 
    [PXUIField(DisplayName = "Column2")] 
    public virtual int? Column2 { get; set; } 
} 

は、その後、あなたは選択法線と集計をフィルタリングすることができます。

public PXSelect<AggregateTable, Where<AggregateTable.column2, Equal<Required<AggregateTable.column2>>>> FilteredTable; 

var rows = FilteredTable.Select(10); 

は、私はあなたが注意されていない場合、それは厄介得ることができますので、非常に慎重にこれを使用してみてください。

+0

こんにちは@vannak、この回答は役に立ちましたか? – Markoan