Reporting services 将表达式转换为与FetchXML报表兼容
我已经将一个SSRS报告从SQL转换为FETCHXML,该报告由内部部署的CRM 2011使用 现在,报告使用CRM 2013作为数据源 在本报告的旧版本中,我们有这样的表述:Reporting services 将表达式转换为与FetchXML报表兼容,reporting-services,dynamics-crm-2011,dynamics-crm-2013,Reporting Services,Dynamics Crm 2011,Dynamics Crm 2013,我已经将一个SSRS报告从SQL转换为FETCHXML,该报告由内部部署的CRM 2011使用 现在,报告使用CRM 2013作为数据源 在本报告的旧版本中,我们有这样的表述: =String.Format(新系统.全球化.文化信息(1033),chrw(123)&“0”&chrw(125)&“&chrw(40)&“Count”&chrw(58)&“&chrw(123)&chrw(123)&“1”&chrw(125)&chrw(41),IIf(IsNothing(Fields!stepname.
=String.Format(新系统.全球化.文化信息(1033),chrw(123)&“0”&chrw(125)&“&chrw(40)&“Count”&chrw(58)&“&chrw(123)&chrw(123)&“1”&chrw(125)&chrw(41),IIf(IsNothing(Fields!stepname.Value),“notspecified”,Fields!stepname.Value),CInt(Count(“”).ToString(First)(Fields!numbers!NumberFormat)&chrFormat\u 0\u Precision.Value,“dsnumbers-currencyInfo”),Code.GetCultureInfo())
我需要更新这个表达式以与在线实例兼容,但我不明白它应该做什么 我被告知cultureinfo是静态的,不会改变,所以可以硬编码
首先,Cint(Count(“”)有什么作用?我不明白这个表达式有什么作用 我可以解释不是因为为什么要这样做,而是因为什么是可能的输出IIF(无任何内容(字段!stepname.Value),“未指定”,字段!stepname.Value),CInt(计数(“”)。ToString(第一个字段!NumberFormat\u 0\u Precision.Value,“DSNumberAndCurrencyInfo”),code.GetCultureInfo())
如果当前组的行数在“组总数”行中,则会给出当前组的行数;如果有组,则如果没有组,则会始终给出1作为当前行数1) CInt(Count("") -
这里有两个参数 a)2) ToString(First(Fields!NumberFormat_0_Precision.Value, "DSNumberAndCurrencyInfo"), Code.GetCultureInfo()) -
它将是数字的格式 b) 第二个将是来自 系统类。但这是来自报告的自定义代码。您应该检查报告的自定义代码First(Fields!NumberFormat\u 0\u Precision.Value)
这里的表达式检查3) IIF(IsNothing(Fields!stepname.Value), "Not specified", Fields!stepname.Value)
列是否有值,如果为null,则返回stepname
否则返回值 所以我不知道为什么要这样做。如果您查看了,您可以进行更改,然后您会注意到您可以传递范围,这样就不会让下一个开发人员感到困惑。然后,如果您的自定义函数未指定
只是返回GetCultureInfo()
而没有任何条件或更改,那么您可以直接将其传递到表达式中,如下所示CultureInfo
你可以得到更多的信息 下一部分是表达式的开头,如下所示.ToString(First(Fields!NumberFormat_0_Precision.Value, "DSNumberAndCurrencyInfo"), new System.Globalization.CultureInfo("en-US"))
在.NETFramework 3.5中,可以使用反射强制对属性和方法的特定调用使用英语(美国)数据格式(区域设置ID 1033)。所以它只是为了使用数据格式New System.Globalization.CultureInfo(1033)
这都是用来显示不同的字符,使用字符代码,更多关于这个chrw(123)&"0"&chrw(125)&" "&chrw(40)&"Count"&chrw(58)&" "&chrw(123)&"1"&chrw(125)&chrw(41)
所以,所有这些大表达式基本上都是用来格式化字符串值,在数据库中指定的特定格式,并使用一些条件 非常感谢!我正试图找出如何以一种适用于fetchxml报告的方式进行行计数