Posting for me to find later and in case it helps anyone.
We have a custom SSRS report for DMR tags, based on material tags. I spent this afternoon gnashing at it. The final error was “Value cannot be null (Parameter: key)”.
I’ve gone through all the things, recreated relationships, added calculated fields, etc.
In the end, new functionality saved me. We’ve all heard of the thou-shalt-not button (Sync Dataset) and I have noticed the replacement “Analyze and Include RDD” which at first seemed to do nothing.
Turns out, it’s actually an awesome tool, but needs to be used more than once.
So running it on my existing custom RDD returned “No issues found” despite the report not working.
If I deleted tables from the RDD it did find them and added them back.
Long story short, I finally took the working OOB RDD from the standard upgraded SSRS Mtl Tag report, which works; copied it and pointed the DMR Tag report style at it, and then ran “Analyze and Include RDD” on it. It found and added one missing table.
I also noticed that Attribute Set (which we don’t use) has forced itself into our custom Print Tags dialog, and even if I delete and bring over that customization, Attribute Set appears. Attribute Set has never been in my RDD, but sure enough its table DynAttrValueSet appears as a linked table choice. I added it manually and then after saving, it populated two of its fields automatically. I still got an error.
It then struck me that other tables were multiple joins away from DMRHead, so without really thinking about it I re-ran “Analyze and Include RDD” and this time, it found multiple tables and fields to add.
And then, the damn thing worked.