2011-10-03 16 views
6

De modo que tengo un gráfico de barras en los informes de cristal. En este gráfico tengo una etiqueta de datos adjunta a cada uno de los gráficos que muestra el valor del gráfico en segundos, que aparece así: enter image description here Lo que me gustaría hacer es formatear esta etiqueta de datos en un formato de hora. Por lo tanto, para cada barra del gráfico, la etiqueta de datos aparecerá en el siguiente formato:Cómo formatear el valor de tiempo en HH: MM: SS en la etiqueta de datos

HH: MM: SS.

estoy en condiciones de obtener el tiempo de formato a aparecer utilizando la siguiente fórmula:

local NumberVar Sec; 
local NumberVar ss; 
local NumberVar mm; 
local NumberVar hh; 
local StringVar SSS; 
local StringVar MMM; 

Sec := Sum ({GetAlarmSummaryDataSet2Response/GetAlarmSummaryDataSet2Result/Items/AlarmSummaryItem2.StopTime}, {GetAlarmSummaryDataSet2Response/GetAlarmSummaryDataSet2Result/Items/AlarmSummaryItem2.Section}) ; 
hh := Int (Sec/3600); 
mm :=Int ((Sec/60)- (60* Int(Sec/3600))); 
If mm<10 then MMM := "0" & ToText (mm,0); 
If mm>9 Then MMM := ToText(mm,0) ; 

ss :=Sec-(3600 * hh) - (60 * mm) ; 
If ss<10 then SSS := "0" & ToText (ss,0); 
If ss>9 Then SSS := ToText(ss,0) ; 

ToText (hh,0) & ":" & MMM & ":" & SSS 

pero lo que estoy seguro de es cómo implementar esta fórmula en una etiqueta de datos.

Cualquier ayuda o sugerencia es muy apreciada.

Gracias

Respuesta

1

Puede optar por mostrar el nombre del grupo, y se puede mostrar y dar formato al valor resumido calculado por el gráfico, pero no se puede proporcionar una fórmula personalizada. Simplemente no es posible usar la biblioteca de gráficos en CR XI.

Mi eventual solución para este problema:

  1. modifique la fórmula valor para eliminar la función de agregado. (Esto es necesario porque Crystal no permitirá una función de agregado en un campo de nombre de grupo; consulte el n. ° 2).
  2. Para el nombre del grupo, especifique una fórmula con el texto que desea visualizar en el canal vertical. Incluya tanto la etiqueta como el valor formateado, separados por Chr(13) & Chr(10) para colocarlos en líneas separadas.
  3. Configure el elevador para mostrar la etiqueta, no el valor.

aplicar esto a su problema que había necesidad de hacer estos cambios:

  1. Eliminar la función de agregado. Por supuesto que no sé si esto será posible usando su configuración. Quizás si está usando un DBMS, podría usar un comando SQL o un procedimiento almacenado para calcular la suma antes de que los datos lleguen a Crystal.
  2. Imprima la etiqueta y el valor junto con, ya sea en la tarjeta vertical o en el eje X.

Si eso no es lo suficientemente bueno para su aplicación, es posible considerar CRChart, un sustituto comercial que trata de abordar las limitaciones a veces paralizantes de la biblioteca gráfica de cristal. (Pensé que era demasiado caro). Creo que la macro @APPEND_DATATEXT le permite colocar un valor personalizado en una tarjeta vertical, pero aún tendría que mover el resumen al servidor.

Cuestiones relacionadas