1週間のグーグル検索の後、私は自分の問題の解決策に近づいておらず、誰かが助けてくれることを望んでいます. 一生懸命探したのに回答されていたら、あらかじめお詫びします。
私たちが「高齢債務者」と呼んでいるものについてのレポートを作成しています。このレポートの一部では、昨年の合計、今年の合計、および列として 2 つのパーセンテージが必要です。もう 1 つの要件は、「今年」 (つまり、今日から 1 年前までさかのぼる日付) を 30 日延滞、60 日延滞、および 90 日以上延滞している勘定科目に分割することでした。次の列を持つ 1 つのデータセットにすべてのデータを返しました
(#) Accounts、Country、AccountType、OverdueAmount、OverdueTime (30、60、90 および昨年) および YearGroup (今年は TY、昨年は LY)
2 つの行グループ (Country および Account Type (Country のサブグループ)) と 2 つの列グループ (Total Overdue および Overdue time - 相互に関係なし...Overdue time は金額を 30、60、90 に分割します) を作成しました。日など 合計延滞は昨年と今年の数字を教えてくれます)
延滞合計は、次を使用してグループ内の 2 つの列に分割されます。
=format(iif(Fields!YearGroup.Value = "LY",Sum(Fields!OverdueAmount.Value), iif((Fields!YearGroup.Value = "TY"), Sum(Fields!OverdueAmount.Value), 0)), "C")
これはうまくいきます!私の問題は、クライアントが基本的に彼のためにパーセンテージを行うその横の列を望んでいることです-合計(今年-昨年)/昨年。だから基本的に私はこのレイアウトが欲しい
昨年、今年、パーセンテージ
グループに別の列を作成しようとしましたが、これは前の各列の隣に新しい列を挿入しただけなので、
昨年, コラム, 今年, コラム
次に、グループの横に列を作成し、「AccountType」行のスコープと iif ステートメントを使用して、昨年と今年を区別しようとしました
(iif(Fields!YearGroup.Value = "TY", sum(overdueamount.value), 0) -iif(fields!YearGroup.Value = "LY", sum(overdueamount.value), 0)
基本的な違いを取得しようとすると、すべてを追加したいようです-例は次のとおりです
Last year = $200
This Year = $100
差額は 100 ドルのはずですが、RS によると 300 ドルです。
(上記のように iif ステートメントをネストするなど、何度も繰り返してみました)
YearGroup の値が何であれ、すべてを合計しているようです - これが RS がグループをレンダリングする方法だと感じています - 年の値の 1 つが 0 の場合 (昨年は 200 ドルの口座タイプがあり、今年は$0) なら、私がやりたいことも「できる」ように見えます。
SQL でこれを行うことを検討しましたが、複雑すぎて 1 つのデータ セットで返すことができないと思います (現在、すべてを 1 つの DS に入れるためにいくつかの狂った結合を行っています)。
グループ内で動的に作成された 2 つの列の違いに基づいて % 値を計算する方法はありますか? 必要に応じて詳細を教えてください...