0

私のパラメータ定義:

        <list-parameter name="Direction" allow-multi-selection="true" strict-values="true" mandatory="false" type="[Ljava.lang.String;" query="DirectionQuery" key-column="BC_CALL_CLASSIFICATION_DIM_DIRECTION_NAME" value-column="BC_CALL_CLASSIFICATION_DIM_DIRECTION_NAME">
        <attribute namespace="http://reporting.pentaho.org/namespaces/engine/parameter-attributes/core" name="role">user</attribute>
        <attribute namespace="http://reporting.pentaho.org/namespaces/engine/parameter-attributes/core" name="parameter-render-type">list</attribute>
        <attribute namespace="http://reporting.pentaho.org/namespaces/engine/parameter-attributes/core" name="label">Direction</attribute>
        <attribute namespace="http://reporting.pentaho.org/namespaces/engine/parameter-attributes/core" name="hidden">false</attribute>

MQL クエリの制約部分

<constraint>
  <operator>AND</operator>
  <condition>OR( ISNA([param:Destination Type]);EQUALS([BC_FCT_CALLS.BC_NUMBER_CLASSIFICATION_DIM_CLASSIFICATION];[param:Destination Type]))</condition>
</constraint>
<constraint>
  <operator>AND</operator>
  <condition>OR(COUNTA([param:Direction]) == 0 ;EQUALS([BC_FCT_CALLS.BC_CALL_CLASSIFICATION_DIM_DIRECTION_NAME];[param:Direction]))</condition>
</constraint>

パラメータが単一の値であるため、最初の制約は機能しますが、2 番目の制約により、ユーザーが複数の値を選択した場合、CONTA はサポートされておらず、ISNA は機能しないというメッセージが表示されます。

4

1 に答える 1

2

これを行う方法を見つけました。多値パラメーター「param1」ごとに、新しいパラメーターの「post-processor-formula」に別の非表示のブール値パラメーター「param1_hidden」を作成し、次の式を使用します

 =(COUNTA([param1]) = 0 )

今あなたのクエリで

OR( EQUALS(TRUE();[param:param1_hidden);EQUALS([TABLE.COLUMN];[param:param1,]))
于 2012-10-16T09:12:47.657 に答える