【发布时间】:2014-05-22 16:14:54
【问题描述】:
有一个名为 DimAufbau 的表
如您所见,此表使用“关系”字段保存父子关系来保存父级的 id。
此表中的每个节点都可以持有更多节点或持有账户。
如您所见,Betriebliche 关联了一些帐户,但 Erlöse 和 GuV 不能拥有帐户(实际上这是我使用 SSAS 发现的限制,但现在这不是问题)
DimAufabu 和 Accounts 之间的关联如下:
现在,问题来了:我们有一个名为 ReportKore 的 SSRS 报告,它必须显示 Aufbau 表的树结构,显示一些字段的总和。
填写该报告的数据集使用以下查询,但它不显示父母点头的总和,因为他们没有关联的帐户:
;WITH aufbautree(id, relation, Bezeichnung, AufbauLevel) AS (
SELECT
id,
relation,
Bezeichnung,
1 AufbauLevel
FROM [dbo].[DimAufbau]
WHERE
relation IS NULL
and ([DimAufbau].id in (@aufbau))
UNION ALL
SELECT
da.id,
da.relation,
da.Bezeichnung,
tr.AufbauLevel + 1
FROM
[dbo].[DimAufbau] da
INNER JOIN aufbautree tr
ON da.relation = tr.id)
SELECT
at.*,
fk.BetragIst,
fk.BetragPlan,
dkbez.Bezeichnung AS KontoBezeichnung
FROM
aufbautree at
LEFT JOIN DimAufbauKonto auk
ON auk.AufbauId = at.id
LEFT JOIN DimKonto dk
ON auk.KontoID = dk.id
LEFT JOIN DimKontoBezeichnung AS dkbez
ON dkbez.Id = dk.BezeichnungId
LEFT JOIN FaktKore fk
ON fk.DimKontoId = dk.id
LEFT JOIN DimKostenstelle AS dko
ON fk.DimKostenstelleId = dko.Id
LEFT JOIN DimMandant AS dm
ON fk.DimMandantId = dm.Id
LEFT JOIN DimZeit AS dz
ON fk.DimZeitId = dz.Id
我确实尝试了很多方法来查看如何同时显示父节点的总和,但我的 CTE 知识有限。希望有人可以帮助我。
【问题讨论】:
-
你不能在 SSRS 中配置这个吗?至少这是我的第一个想法。也许这有帮助? msdn.microsoft.com/en-us/library/dd220511.aspx
标签: sql sql-server reporting-services