2016-07-26 50 views
0

DAXを使用したSSAS表形式モデルで計算列を作成しようとしています。私はテーブルに動的なインデックスの列が欲しいです。テーブルがフィルタリングされたときにインデックスが0から始まることを意味します。私は野菜は通常、インデックスはまだだろうし、テーブルをフィルタリングする場合はDAX - 動的インデックス列の作成

item  index 
apple  0 
banana 1 
celery 2 
broccoli 3 

:あなたのようなテーブルを持っている想像し

item  index 
celery 2 
broccoli 3 

しかし、私はそれがとても

item  index 
celery 0 
broccoli 1 

になりたいです私はこれを使ってインデックスを作成します:(日付ディメンションテーブルのインデックスを作成しています)

=CALCULATE(COUNT([Date])-1, ALL('DimDate'), FILTER(DimDate, [Date]<=EARLIER([Date]))) 

私はALLEXCEPT()を使用しようとしましたが、FIRSTNONBLANKでインデックスの最初の値を取得してオフセット列を作成しようとしましたが、まだ成功していません。

アイデアや助けがありますか?

答えて

0

計算された列が評価され、デザイン時に格納されるため、動的計算列を使用することはできません。したがって、動的索引付けを行うために指標を使用する必要があります。ここでは、空白をゼロとして表示するために、ALLSELECTEDと追加の解析を使用する1つのアプローチがあります。

= 
IF (
    ISBLANK (
     CALCULATE (
      COUNTROWS (DimDate), 
      FILTER (ALLSELECTED (DimDate), DimDate[Date] < MAX (DimDate[Date])) 
     ) 
    ), 
    0, 
    CALCULATE (
     COUNTROWS (DimDate), 
     FILTER (ALLSELECTED (DimDate), DimDate[Date] < MAX (DimDate[Date])) 
    ) 
) 
関連する問題