あなたはおそらく最善のアプローチではありません日付パラメータ、のデフォルト値と値のデータセットを使用しています。
エンドユーザーが購読を許可し、購読が毎日、毎週、毎月のいずれであるかによってデフォルトの日付の値が異なるレポートを処理した方法は、これは可能です。
私がレポートに追加パラメータが、私は期間(またはレポート期間)を呼び出し、それがレポート内の最初のパラメータである必要があり、または少なくとも日付パラメータの前にリストされているものです。このパラメータのドロップダウンの唯一の値は、毎日、毎週、および毎月です(該当する場合)。これらはあなたが必要とするものでもかまいません。頻繁に変更する必要がないため、これらをレポートのパラメータに値オプションとして手動で入力します。サブスクリプションの作成時にエンド・ユーザーがこのパラメータに対して選択した内容に基づいて、デフォルトの日付値が変更されます。これは、期間ドロップダウンから選択された値を評価する日付パラメータのデフォルト値の式を介して行われます。だから、
エンドユーザーが日々の購読を希望する場合、彼らは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))
警告!レポートデザイナー(プレビュー)またはオンラインで期間値を変更しても、日付値は目の前で自動的に変更されません。ただし、サブスクリプションを作成(したがって実行)する際に使用されます。私はこれがなぜであるかを決して見たことがありません。私は他の、苦痛の少ない、私の時間を埋めるものがあります。
これを試してください。