特定值的SSRS计算表达式

时间:2017-01-25 11:18:31

标签: reporting-services ssrs-2008 ssrs-2012

我正在考虑在SSRS中进行计算表达,但是我已经失去了。

我试图计算字段何时等于特定值,然后返回百分比计算。

这是我迄今为止所尝试过的:

public unsafe Color GetTextColour(Bitmap bitmap)
{
    BitmapData bitmapData = bitmap.LockBits(new Rectangle(0, 0, bitmap.Width, bitmap.Height), ImageLockMode.ReadOnly, PixelFormat.Format24bppRgb);
    try
    {
        const int bytesPerPixel = 3;
        const int red = 2;
        const int green = 1;

        int halfHeight = bitmap.Height / 2;

        byte* row = (byte*)_bitmapData.Scan0 + (halfHeight * _bitmapData.Stride);

        Color startingColour = Color.FromArgb(row[red], row[green], row[0]);
        for (int wi = bytesPerPixel, wc = _bitmapData.Width * bytesPerPixel; wi < wc; wi += bytesPerPixel)
        {
            Color thisColour = Color.FromArgb(row[wi + red], row[wi + green], row[wi]);
            if (thisColour != startingColour)
            {
                return thisColour;
            }
        }

        return Color.Empty; //Or some other default value
    }
    finally
    {
        bitmap.UnlockBits(bitmapData);
    }
}

显然这是不正确的,不起作用。表达式需要包含所有3种颜色。

1 个答案:

答案 0 :(得分:1)

更新看看是否有效。

按要求更新。我将声明放在最后False部分,但我不确定这是否是您真正想要的。

再次更新。在最后False声明中添加了IIF部分。

更新:删除了SUM功能。试试看它是否有效。您的IIF声明没有False个部分。此外,如果您想要总结,只需SUM一次。不知道您的数据,我不确定您是否希望%总结。

=IIF(Fields!location.Value="East" AND Fields!Alert.Value="Red",(FormatPercent(Count(Fields!Sales.Value) / 6532 ,0)),IIF(Fields!Alert.Value="Yellow",FormatPercent(Count(Fields!Sales.Value) / 2541 ,0),IIF(Fields!Alert.Value="Green",FormatPercent(Count(Fields!Sales.Value) / 1025,0),0)))