2016-06-01 27 views
0

開始日と終了日パラメータのレポートがあります。サブスクリプションは2種類あります: 1、前の会計年度の1つ - >開始日付は前の会計年度の最初の日で、終了日は前の会計年度の最終日です。 2、前日の1つ - >開始日は前日、終了日も前日です。サブスクリプションに無効なパラメータ値が含まれています

データセットDatefields: これは、利用可能な日付パラメータとデフォルト値の両方のデータセットのクエリ結果です。 前日のサブスクリプションを作成すると、その日だけが実行されます。その日の深夜以降、開始日と終了日のパラメータ値が空白になり、「サブスクリプションに無効なパラメータ値が含まれています」というステータスメッセージ。 前の会計年度の開始日と終了日の値が変更されるまで、前の会計年度に作成された購読は1週間有効です。

答えて

0

あなたはおそらく最善のアプローチではありません日付パラメータ、のデフォルト値と値のデータセットを使用しています。

エンドユーザーが購読を許可し、購読が毎日、毎週、毎月のいずれであるかによってデフォルトの日付の値が異なるレポートを処理した方法は、これは可能です。

私がレポートに追加パラメータが、私は期間(またはレポート期間)を呼び出し、それがレポート内の最初のパラメータである必要があり、または少なくとも日付パラメータの前にリストされているものです。このパラメータのドロップダウンの唯一の値は、毎日、毎週、および毎月です(該当する場合)。これらはあなたが必要とするものでもかまいません。頻繁に変更する必要がないため、これらをレポートのパラメータに値オプションとして手動で入力します。サブスクリプションの作成時にエンド・ユーザーがこのパラメータに対して選択した内容に基づいて、デフォルトの日付値が変更されます。これは、期間ドロップダウンから選択された値を評価する日付パラメータのデフォルト値の式を介して行われます。だから、

エンドユーザーが日々の購読を希望する場合、彼らはPeriodパラメータのドロップダウンメニューから毎日選択し、開始日と終了日のパラメータのデフォルト値はわずかに変化する前の日あります。 Weeklyを選択すると、開始日と終了日のパラメータが前週のみになるように変更されます。

ここに、開始日パラメータのデフォルト値式の例を示します。終了日のパラメータについては

=Switch(Parameters!Period.Value = "Daily" , DateAdd(DateInterval.Day, -1, Today), 
Parameters!Period.Value = "Weekly" , DateAdd(DateInterval.WeekOfYear, -1, DateAdd(DateInterval.Day, -(DatePart(DateInterval.Weekday, Today, 0, 0)-1), Today)) , 
Parameters!Period.Value = "Monthly" , DateAdd(DateInterval.Month, -1, DateAdd(DateInterval.Day, -(DatePart(DateInterval.Day, Today, 0, 0)-1), Today))) 

...

=Switch(Parameters!Period.Value = "Daily" , Today, 
Parameters!Period.Value = "Weekly" , DateAdd(DateInterval.Day, -(DatePart(DateInterval.Weekday, Today, 0, 0)), Today) , 
Parameters!Period.Value = "Monthly" , DateAdd(DateInterval.Day, -(DatePart(DateInterval.Day, Today, 0, 0)), Today)) 

警告!レポートデザイナー(プレビュー)またはオンラインで期間値を変更しても、日付値は目の前で自動的に変更されません。ただし、サブスクリプションを作成(したがって実行)する際に使用されます。私はこれがなぜであるかを決して見たことがありません。私は他の、苦痛の少ない、私の時間を埋めるものがあります。

これを試してください。

関連する問題