Я создаю отчет RDLC для пожертвований. У меня есть dataset1
, который включает в себя таблицу SVC
и таблицу DOR
. В моем выражении я могу получить суммы в долларах в таблице SVC
, однако мне не удалось получить названия организаций из таблицы DOR
. Что я пытаюсь сделать:
- Посмотрите на каждую запись, обозначенную
SVC_IDNUM
- Получить значения из полей пожертвований (пример
SVC_DN01PY, SVC_DN02PY, SVC_DN03PY
)
- Получить значение из
SVC_DONCOD
(код пожертвования) и сопоставить с кодом DOR_ORGNUM
и получить соответствующий DOR_ORGNAM
(название организации).
Сумма пожертвования работает, но название организации - нет. Я не очень хорошо разбираюсь в SSRS и искал решение. Что я пропускаю или делаю неправильно?
Я пытался использовать Join
, LookupSet
, чтобы попытаться достичь этого.
="Donations: " & Join(LookupSet(Fields!SVC_IDNUM.Value,Fields!SVC_IDNUM.Value,
IIF(Fields!SVC_DONCOD.Value = Fields!DOR_ORGNUM.Value, Fields!DOR_ORGNAM.Value &" ", " ") & IIF(Fields!SVC_DN01PY.Value > 0, Fields!SVC_DN01PY.Value &" ", " ") &
IIF(Fields!SVC_DONCOD.Value = Fields!DOR_ORGNUM.Value, Fields!DOR_ORGNAM.Value &" ", " ") & IIF(Fields!SVC_DN02PY.Value > 0, Fields!SVC_DN02PY.Value &" ", " ") &
IIF(Fields!SVC_DONCOD.Value = Fields!DOR_ORGNUM.Value, Fields!DOR_ORGNAM.Value &" ", " ") & IIF(Fields!SVC_DN03PY.Value > 0, Fields!SVC_DN03PY.Value &" ", " "),"DataSet1"))
Я также включил свой SQL-запрос для DataSet1. Это длительный запрос, потому что для отчета требуется много информации.
string query1 = "SELECT FJSSVBAT.SVB_BATNBR, FORMAT(FJSSVBAT.SVB_CHKDAT,'MM/dd/yyyy'),
FJSWHEEL.WHL_IDNUM, FJSWHEEL.WHL_FSTNAM, FJSWHEEL.WHL_MIDNAM, FJSWHEEL.WHL_LSTNAM,
FJSWHEEL.WHL_SUFFIX, FJSWHEEL.WHL_ADDR1, FJSWHEEL.WHL_ADDR2, FJSWHEEL.WHL_CITY,
FJSWHEEL.WHL_STATE, FJSWHEEL.WHL_ZIPCDE, FJSWHEEL.WHL_SUBPNL, FJSWHEEL.WHL_SELCNT,
FJSSVCTL.SVC_CHKNBR, FORMAT(FJSSVCTL.[SVC_CHKDAT],'MM/dd/yyyy'), FJSSVCTL.SVC_BATNBR,
FJSSVCTL.SVC_IDNUM, FJSSVCTL.SVC_ONEWAY, FJSSVCTL.SVC_TRVPAY, FJSSVCTL.SVC_REGPAY,
FJSSVCTL.SVC_HGHPAY, FJSSVCTL.SVC_HGHPY2, FJSSVCTL.SVC_HGHPY3, FJSSVCTL.SVC_PRKPAY,
FJSSVCTL.SVC_SBSPAY, FJSSVCTL.SVC_MSCPAY, FJSSVCTL.SVC_TOTPAY, FJSSVCTL.SVC_JURPAY,
FJSSVCTL.SVC_DONPAY, FJSSVCTL.SVC_DONCOD, FJSSVCTL.SVC_DN01PY, FJSSVCTL.SVC_DN02PY,
FJSSVCTL.SVC_DN03PY, FJSSVCTL.SVC_DN04PY, FJSSVCTL.SVC_DN05PY, FJSSVCTL.SVC_DN06PY,
FJSSVCTL.SVC_DN07PY, FJSSVCTL.SVC_DN08PY, FJSSVCTL.SVC_DN09PY, FJSSVCTL.SVC_DN10PY,
FJSSVCTL.SVC_DN11PY, FJSSVCTL.SVC_DN12PY, FJSSVCTL.SVC_DN13PY, FJSSVCTL.SVC_DN14PY,
FJSSVCTL.SVC_DN15PY, FJSSVCTL.SVC_DN16PY, FJSSVCTL.SVC_DN17PY, FJSSVCTL.SVC_DN18PY,
FJSSVCTL.SVC_DN19PY, FJSSVCTL.SVC_DN20PY, DONORG.DOR_ORGNUM, DONORG.DOR_ORGNAM,
FJSSVDTL.*, FJSDSCTL.DS_DSTNM1, FJSDSCTL.DS_DSTNM2 FROM FJSSVBAT JOIN FJSSVCTL ON
FJSSVBAT.SVB_BATNBR = @BatchNumber JOIN FJSWHEEL ON FJSSVCTL.SVC_IDNUM =
FJSWHEEL.WHL_IDNUM JOIN FJSSVDTL ON FJSWHEEL.WHL_IDNUM = FJSSVDTL.SVD_IDNUM AND
FJSSVDTL.SVD_BATNBR = @BatchNumber FULL OUTER JOIN DONORG CROSS JOIN FJSDSCTL WHERE
(FJSSVBAT.SVB_BATNBR = @BatchNumber) AND () ORDER BY FJSSVCTL.SVC_CHKNBR";
При SVC_DONCOD.Value
, равном 1, и DOR_ORGNUM.Value
, равном 1, DOR_ORNAM.Value
будет United Way и с SVC_DN01PY.Value
, равным 7,16 долл. США.
Результаты в текстовом поле должны быть United Way $ 7,16. Это скриншот части отчета, и это одна из записей в отчете. Красная линия указывает на одно текстовое поле, которое требуется моему работодателю и должно включать название организации, за которым следует пожертвованная сумма.