3

SSRS に展開する必要がある作業レポートがいくつかあります。追加したいもう 1 つのカスタマイズは、FromDate を今日 - 1 か月、ToDate を今日として自動的に選択することです。

具体的には、以下のフラグメントを上記の要件を満たすピースに置き換えたいと考えています。

 <ReportParameter Name="FromDate">
  <DataType>String</DataType>
  <DefaultValue>
    <Values>
      <Value>[Date].&amp;[2008-09-26T00:00:00]</Value>
    </Values>
  </DefaultValue>
  <Prompt>From Date</Prompt>
  <ValidValues>
    <DataSetReference>
      <DataSetName>FromDate2</DataSetName>
      <ValueField>ParameterValue</ValueField>
      <LabelField>ParameterCaption</LabelField>
    </DataSetReference>
  </ValidValues>
</ReportParameter>
<ReportParameter Name="ToDate">
  <DataType>String</DataType>
  <Prompt>To Date</Prompt>
  <ValidValues>
    <DataSetReference>
      <DataSetName>ToDate</DataSetName>
      <ValueField>ParameterValue</ValueField>
      <LabelField>ParameterCaption</LabelField>
    </DataSetReference>
  </ValidValues>
</ReportParameter>

前もって感謝します。

4

2 に答える 2

8

ハードコーディングされたものを置き換える

[Date].&amp;[2008-09-26T00:00:00]

公式へ

=DateAdd("m", -1, Now)

「ToDate」には、現在の日付を返す数式を渡すだけです

=Now

結果は次のようになります。

<ReportParameters>
    <ReportParameter Name="FromDate">
        <DataType>DateTime</DataType>
        <DefaultValue>
        <Values>
            <Value>=DateAdd("m", -1, Now)</Value>
        </Values>
        </DefaultValue>
        <AllowBlank>true</AllowBlank>
        <Prompt>FromDate</Prompt>
    </ReportParameter>
    <ReportParameter Name="ToDate">
        <DataType>DateTime</DataType>
        <DefaultValue>
        <Values>
            <Value>=Now</Value>
        </Values>
        </DefaultValue>
        <AllowBlank>true</AllowBlank>
        <Prompt>ToDate</Prompt>
    </ReportParameter>
</ReportParameters>

[更新] ToDateに正しく
貼り付けるのを忘れたようです。更新されました。上記の RDL はReport Parameterを設定することで生成されました。これは、GUIで日付を構成した方法です。<ReportParameters>

  • 開始日:
    代替テキスト

  • 現在まで:
    代替テキスト

于 2009-03-10T16:59:27.193 に答える
1

実際には、.net メソッドを使用するために持っている TSQL 日付形式を使用することはできません。

=Now()

=DATEADD("m", -1, now())
于 2009-03-10T17:03:10.883 に答える