Фильтрация данных в Tablix на основе значения из другого набора данных на сервере отчетов - PullRequest
0 голосов
/ 24 ноября 2018

В моем отчете у меня есть два набора данных.Один из них возвращает имена автомобилей, а другой возвращает информацию о автомобилях.

Итак, для иллюстрации, поскольку реальные данные немного сложнее, первый набор данных имеет

[Car Name] [Row]
Honda       1
Toyota      2
BMW         3

второй набор данныхis

[Car Name] [Color] [Weight]
Honda      Blue    1500kg
Toyota     Red     1650kg

Я должен отметить, что оба DataSet являются динамическими, то есть они будут иметь разные выходные данные во всех столбцах.Окончательный результат, который я ищу, выглядит так:

[Car Name]

[Color]
[Weight]
...

Эти данные будут содержаться в нескольких прямоугольниках, которые будут создаваться динамически.Столбец [Car Name] в конечном результате является динамическим и связан со столбцом [Row] в первом наборе данных.Так, например, значение первого прямоугольника, который получает данные из DataSet1, имеет выражение

=First(IIf(Fields!Row.Value = 1, Fields!CarName.Value, 0),"DataSet1")

Поскольку эти данные являются динамическими, мне нужны следующие данные для отображения [Цвет] и [Вес]только для того [Car Name], которое является динамическим из DataSet1.Как я могу отфильтровать DataSet2, чтобы показать только то, что динамически установлено [Car Name]?Я пытался использовать фильтры в Tablix, но я не могу использовать ReportItems! TextBoxXX.Value, например.

Я не могу решить эту проблему на уровне SQL.

1 Ответ

0 голосов
/ 24 ноября 2018

Следующее выражение дает вам для одинаковых имен автомобилей в обоих наборах данных цвет из второго набора данных.Я не уверен, что вы хотите сделать, но это может помочь вам:

'For the car color
=Lookup(Fields!CarNameDataset1.Value, Fields!CarNameDataset2.Value, Fields!CarColorDataset2.Value, "Dataset2")

Вы также можете поместить это в выражение фильтра.

...