2011-12-21 58 views
2

在Crystal Reports中,我可以定義一個公式來評估每個細節行。舉例來說,如果我有一個查詢將返回PatientId,一個ObsTerm名稱和ObsTerm價值,我可以定義一個名爲{} @Hispanic公式的值爲:如何在SQL Server Reporting Services中執行CR類型公式?

If {Command.OBSNAME} = "HISPANIC" Then 
    {Command.OBSVALUE} 
Else 
    " " 

然後,組頁腳,我可以取最大值({@Hanspanic},{Command.PATIENTID})來查看我是否得到了一個爲患者種族返回的值 - 要麼我得到這個值(假設只有一個,因爲這就是我建立查詢)或空白。

我試圖將CR報告轉換爲SSRS 2008R2:我將如何執行上述操作?謝謝。

回答

2

計算字段添加到數據源(稱爲「西班牙裔」或其他)本的公式:

=IIF(Fields!OBSNAME.Value="Hispanic",Fields!OBSVALUE.Value,"") 

在報表中,父組添加到你的細節行並鍵入[最大(西班牙裔)]到組行中的一個字段。然後您可能想要隱藏詳細信息行並只顯示彙總數據。我認爲可能有更簡單的方法來做你想做的事情,但是從你的問題來看並不清楚。

我從水晶過渡到SSRS,這是一條艱難的道路。你需要忘掉所有的水晶(特別是格式化)。

+1

可愛。這就回答了我問的問題。我有一個後續問題:由於歷史原因,本報告從三個地方提取數據以獲得一個答案。在組頁腳的表情,我有\t \t (INSTR(IIF(不IsNothing(MAX(字段!Ethnicity.Value, 「PatientId」)) ,MAX(字段!Ethnicity.Value, 「PatientId」) ,IIF (Max(Fields!obsEthnicity.Value,「PatientId」) ) ),「Max(Fields!obsEthnicity.Value,」PatientId「) ,非「)> 0) 重複5次。任何方式來簡化?如果是這樣,我會發佈一個新問題。 – SarekOfVulcan 2011-12-27 14:24:54

相關問題