0

メンバーの ID で集計された 2 つの状態から列の最大値を見つけたい場合、これは機能しますか?

=Aggr(
    MaxString(
        Aggr(NODISTINCT MinString({[State1]}DATE_STRING),MBR_ID)
        +
        Aggr(NODISTINCT MinString({[State2]}DATE_STRING),MBR_ID)
) , MBR_ID) 

したがって、このデータがある場合:

MBR ID          DATE_STRING
1               20120101
1               20120102
1               20120103

State1 で 20120101 が選択され、State2 で 20120103 が選択されている場合、式はメンバー 1 に対して 20120103 を返します。

ありがとう!

編集:SQLでは、これは次のようになります:

WITH MinInfo (DATE_STRING, MBR_ID)
AS (SELECT MIN(DATE_STRING), MBR_ID FROM Table WHERE TYPE IN ('State1', 'State2') GROUP BY MBR_ID, TYPE)
SELECT MAX(DATE_STRING) DATE_STRING, MBR_ID FROM MinInfo GROUP BY MBR_ID
4

1 に答える 1

0

それを実際の日付フィールドに変換すると、目標を達成しやすくなります。MBR_ID がディメンションであるチャートを使用していると仮定すると、最大の日付 (最新の日付) が必要な場合は、次のことができます。

=nummax(Max({[State1]}DATE_STRING),Max({[State2]}DATE_STRING))

日付に変換するには、次の関数を使用できます。

date#(DATE_STRING,'[text format of the date]')

(日付の形式は私には YYYYMMDD のように見えますが、日が月の場合は YYYYDDMM を使用します)

その日付を使用する必要があるたびに心配する必要がないように、スクリプトでフォーマットすることをお勧めします。

于 2013-08-16T14:56:35.623 に答える