В случае, если кто-то еще может извлечь выгоду из этого. Наилучшее приближение, которое я нашел до сих пор, это (соответствующая выдержка из кода):
row6 = "Srel"
for col in SampleColumns:
colExp = "StdDev([{col}]) / Avg([{col}]) * 100".format(col = col)
colName = col + colExp[0:colExp.find("(")]
sT.Columns.AddCalculatedColumn(colName, colExp)
val = getFirstFloatValue(sT, colName)
row6 += TAB + str(val)
sT.Columns.Remove(colName)
row6 += EOL
Я создаю вычисляемый столбец для каждой комбинации выражения столбец, значение которого мне нужно. Затем я читаю первое значение вычисляемого столбца (все значения одинаковы):
def getFirstFloatValue(table, colName):
cursor = DataValueCursor.Create[float](table.Columns[colName])
for row in table.GetRows(cursor):
return cursor.CurrentValue
return
Я использую значение val
, а затем удаляю столбец.
Я считаю, что может быть лучшерешения, но я в любом случае публикую это, потому что это решение может принести пользу кому-то другому.