请注意,虽然这个问题是完全不同的问题,但它直接与this question.
相关以下是返回SSRS图表数据集的脚本:
<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="false" aggregate="true">
<entity name="account">
<attribute name="bio_employeesworldwide" alias="TotalWorldWideEmployees" aggregate="sum" />
<filter>
<condition attribute="customertypecode" operator="eq" value="2" />
</filter>
<link-entity name="contact" from="parentcustomerid" to="accountid" alias="contact">
<attribute name="bio_webuseraccountstatus" alias="count_bio_webuseraccountstatus" aggregate="countcolumn" />
<attribute name="bio_webuseraccountstatus" alias="bio_webuseraccountstatusgroupby" groupby="true" />
</link-entity>
</entity>
</fetch>
bio_webuseraccountstatus的值可以是Active, Inactive, Disabled, Pending, etc..
在FetchXML中有一种方法可以做一个case语句,你可以在其中使用#34; InActive&#34;对于每个不等于&#34;活跃&#34;吗
正如您所看到的,我一直在尝试解决此问题within the reporting layer,但我遇到了很多&#34;字符串格式&#34;的问题。
可以用数据集层(fetchxml)来完成吗?
答案 0 :(得分:1)
FetchXml中没有等效功能。相反,您需要返回每个字段值,并在调用代码中处理CASE逻辑。如果要在报表中使用此FetchXml,则可以在报表的计算字段中实现CASE逻辑。
答案 1 :(得分:0)
您总是可以在返回时解析fetchxml的输出。 因此,无需将状态isreceivetravelalerts的原始记录字段推送到屏幕,报告或数据库,而是检查状态(零或一)并重写它,然后将新变量添加到输出中。笨拙,但有用。
if ($record->isreceivetravelalerts == 1)
{
$travel_alerts = "Active";
}
$travel_alerts = "Inactive";