【问题标题】:Expressions to calculate Vacancy Rate计算空置率的表达式
【发布时间】:2016-01-25 16:50:44
【问题描述】:

假设我需要生成一个 SSRS 报告来按地区显示空置率,返回值如下:

  [Availability]    [District1]     [District2]   [District3]   [Position_Count]
Available Positions      2               4             2               8           
No Available Positions   2               6             8              12 
Total                    4               10           10              16  
Vacancy rate           0.5              0.4          0.2              0.5

行组是可用性,列组是地区。

我创建了两个数据集:“主要”和“可用职位”。

“主要”数据集的 sql:

select COUNT(Positions) as Position_Count, Availability, District
from Job_Positions GROUP BY Availability, District

'Available Positions' 的 sql:

select COUNT(Positions) as Position_Count, Availability, District
from Job_Positions where Availability='Available Positions'
GROUP BY Availability, District 

我为总空置率写了表达式:=Sum(Fields!Position_Count.Value, "Available Positions")/Sum(Fields!Position_Count.Value, "Main")

我的问题是如何编写表达式来计算每个地区的空置率。

提前谢谢你!

【问题讨论】:

  • 您需要可用职位率吗?
  • 是的。空缺率是可用职位率
  • 您在 tablix 中使用的数据集是什么?
  • 在报告中,我只使用了两个数据集:'Main'和'Available Positions',我用它们来计算总空置率(Available Position Rate)。

标签: reporting-services reporting ssrs-2008-r2 ssrs-2012


【解决方案1】:

试试:

=Sum(
IIF(Fields!Availability.Value="Available Positions",Fields!Position_Count.Value,0)
)/Sum(Fields!Position_Count.Value,"District")

"District"替换为Column组区的实际名称。

更新:

我已经重新创建了您的数据集并使用了具有这种数据排列的矩阵:

它没有经过测试,但应该可以工作,如果这有帮助,请告诉我。

对于Total,我使用了这个表达式:

=Sum(Fields!Position_count.Value,"District")

对于Rate,我使用了与我最初提出的相同的表达方式:

=Sum(
IIF(Fields!Availability.Value="Available Positions",Fields!Position_count.Value,0)
)/Sum(Fields!Position_count.Value,"District")

注意我只使用Main 数据集。

它会产生这个矩阵:

【讨论】:

  • 它没有用。我为每个地区创建了更多数据集。 SQL 是: select COUNT(Positions) as Position_Count, Availability, District from Job_Positions where district='District1' GROUP BY Availability, District 。我试过 =IIF(Fields!District.Value = "District1",Fields!Position_Count.Value/sum(Fields!Position_Count.Value,"District1"),Fields!Position_Count.Value/sum(Fields!Position_Count.Value,"District2 ")) ,结果仍然不正确,但它给了我三个不同的每个区的空置率数字。
  • 您不需要多个数据集来实现这一点。使用我的表达式会引发错误或显示错误数据?
  • @Cindy,检查我的更新,我只使用主数据集。
  • 嗨亚历杭德罗,这是我的错误。你的答案是正确的。非常感谢您的回答和更新!
  • @Cindy :不客气,如果我的回答解决了您的问题,您可以通过右键单击答案左侧的 正确 符号将其选为正确。 How to accept an answer.
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多