我在我在我的SSRS報告文本框的一個下面的表達式:如何在SSRS
=IIF(IsNothing(Lookup(Trim(Fields!venta_Cod_vendedor.Value) & "-" & ReportItems!Textbox233.Value, Fields!AgregarVentas.Value, Fields!venta_prom_sem.Value, "EfectividadDeFrecuencias_Ventas")) = True
,"0"
,IIF(Lookup(Trim(Fields!venta_Cod_vendedor.Value) & "-" & ReportItems!Textbox233.Value, Fields!Agregar.Value, Fields!total_cant_pos.Value, "EfectividadDeFrecuencias_Total") <> "0"
,FormatNumber(Lookup(Trim(Fields!venta_Cod_vendedor.Value) & "-" & ReportItems!Textbox233.Value, Fields!AgregarVentas.Value, Fields!venta_frecuencia.Value, "EfectividadDeFrecuencias_Ventas")
/Lookup(Trim(Fields!venta_Cod_vendedor.Value) & "-" & ReportItems!Textbox233.Value, Fields!Agregar.Value, Fields!total_cant_pos.Value, "EfectividadDeFrecuencias_Total"),2)
,"0"))
該部門會給我一個Int64數,15個數字(如果這樣的數學運算給出了這個小數位數)。
所以結果是:
現在這裏是棘手的部分: 我後面的代碼抓住數據集做了全面,轉換成十進制數,然後顯示到水晶報表。
dr.venta_prom_sem = (Convert.ToDouble(dr.total_cant_pos) != 0 ? (Math.Round((Convert.ToDouble(dr.venta_frecuencia)/Convert.ToDouble(dr.total_cant_pos)), 2)).ToString() : "0");
因此,這會給我:
,你可以看到,如果我使用的格式數的1.3將轉換爲1,30,這將是錯誤的,同1( 1,00)。現在1,339 ...等會給我1,34,那很好。
但檢查1.065,與FormatNumber,這將給我1.07而不是1.06。
所以問題是,如何將我的數字格式化爲小數點後的最後一個非零數字,如果(在本例中)第三個數值爲5,而不是1.07爲1.06,則選擇較低的數值。我想如果我使用天花板或地板它給我整數部分。
將數字乘以100,使用floor然後除以100? –
真的很好!,除了1,339等會給我1.33而不是1.34 – Nickso
你想上哪個點?通常劃界是005,你想要0051還是006? –