групповые значения в 1-50, 51-100, 101-150 и т. д. в кристаллотчете - PullRequest
0 голосов
/ 04 июня 2018

У меня есть список значений (выбранных из БД), которые начинаются с 1, но конечный диапазон неизвестен, и я хочу сгруппировать эти значения в отчете о кристалле таким образом, чтобы значения находились в диапазоне от 1 до 50, затем от 51 до 100, затем от 101до 150 и т. д. до максимального значения.как мне сгруппировать ??

    eg: The selected values of the column rate are
         1,1.6,2,56,71.1,61.9,109,118 etc.
        i want to group like
       rate range(1-50)
            1
            1.6
            2
          -------------------------------
         rate range(51-100)
            56
           71.1
           61.9
         --------------------
       rate range(101-150)
        109
        118
    etc.
    but i don't know the exact max value of the list

Ответы [ 2 ]

0 голосов
/ 06 июня 2018

Создайте следующую формулу и сгруппируйте отчет по этой формуле.

Floor(({yourTable.Value}-1)/50)+1


Возвращает номер группы.Примеры:

  • для значения 23 возвращает 1
  • для значения 150.99 возвращает 3
  • для значения 543 возвращает 11.

Используйте следующую формулу в качестве заголовка группы:

"rate range(" & CStr({@GroupNumber}*50-49, "#") & "-" & CStr({@GroupNumber}*50, "#") & ")"
0 голосов
/ 04 июня 2018

Создайте формулу, подобную этой логике, и сгруппируйте отчет по этой формуле:

NumberVar YourValue := 300 ;
NumberVar FromValue := 50*Floor(YourValue/50) ;
NumberVar ToValue := FromValue + 50 ;
ToText(FromValue,0,"") & "-" & ToText(ToValue,0,"");
...