Sapui5 饼图不能正确显示数据

Sapui5 饼图不能正确显示数据,sapui5,Sapui5,我的数据模型: { "UserData": { "firstName": "Pieter" "history": [ { "clientID": 2, "distance": "130" }, { "client": 3, "di

我的数据模型:

{
    "UserData": 
    {
        "firstName": "Pieter"
        "history": 
        [
            {
                "clientID": 2,
                "distance": "130"
            },

            {
                "client": 3,
                "distance": "300"
            }

            ,

            {
                "client": 4,
                "distance": "430"
            }
        ]
    }
}
                                        <content>
                        <viz:ui5.Pie>
                            <viz:dataset>
                                <viz:ui5.data.FlattenedDataset
                                    data="{/UserData/clockHistory}">
                                    <viz:dimensions>
                                        <viz:ui5.data.DimensionDefinition
                                            axis="1" name="Client" value="{clientID}">
                                        </viz:ui5.data.DimensionDefinition>
                                    </viz:dimensions>
                                    <viz:measures>
                                        <viz:ui5.data.MeasureDefinition
                                            name="Distance" value="{distance}">
                                        </viz:ui5.data.MeasureDefinition>
                                    </viz:measures>
                                </viz:ui5.data.FlattenedDataset>
                            </viz:dataset>
                        </viz:ui5.Pie>
                    </content>
查看

                                        <content>
                        <viz:ui5.Pie>
                            <viz:dataset>
                                <viz:ui5.data.FlattenedDataset
                                    data="{/UserData/clockHistory}">
                                    <viz:dimensions>
                                        <viz:ui5.data.DimensionDefinition
                                            axis="1" name="Client" value="{clientID}">
                                        </viz:ui5.data.DimensionDefinition>
                                    </viz:dimensions>
                                    <viz:measures>
                                        <viz:ui5.data.MeasureDefinition
                                            name="Distance" value="{distance}">
                                        </viz:ui5.data.MeasureDefinition>
                                    </viz:measures>
                                </viz:ui5.data.FlattenedDataset>
                            </viz:dataset>
                        </viz:ui5.Pie>
                    </content>

根据距离值,我预计饼图大小为三块。 然而,我得到了一个不同的结果:

                                        <content>
                        <viz:ui5.Pie>
                            <viz:dataset>
                                <viz:ui5.data.FlattenedDataset
                                    data="{/UserData/clockHistory}">
                                    <viz:dimensions>
                                        <viz:ui5.data.DimensionDefinition
                                            axis="1" name="Client" value="{clientID}">
                                        </viz:ui5.data.DimensionDefinition>
                                    </viz:dimensions>
                                    <viz:measures>
                                        <viz:ui5.data.MeasureDefinition
                                            name="Distance" value="{distance}">
                                        </viz:ui5.data.MeasureDefinition>
                                    </viz:measures>
                                </viz:ui5.data.FlattenedDataset>
                            </viz:dataset>
                        </viz:ui5.Pie>
                    </content>

                                        <content>
                        <viz:ui5.Pie>
                            <viz:dataset>
                                <viz:ui5.data.FlattenedDataset
                                    data="{/UserData/clockHistory}">
                                    <viz:dimensions>
                                        <viz:ui5.data.DimensionDefinition
                                            axis="1" name="Client" value="{clientID}">
                                        </viz:ui5.data.DimensionDefinition>
                                    </viz:dimensions>
                                    <viz:measures>
                                        <viz:ui5.data.MeasureDefinition
                                            name="Distance" value="{distance}">
                                        </viz:ui5.data.MeasureDefinition>
                                    </viz:measures>
                                </viz:ui5.data.FlattenedDataset>
                            </viz:dataset>
                        </viz:ui5.Pie>
                    </content>

如果在同一个客户端id的数组中有多个项目,饼图会自动将客户端分组并添加它们的距离吗?

首先,您的JSON格式不一致,客户端应该是客户端id,扁平数据集的绑定路径应该是
{/UserData/history}
而不是
{/UserData/clockHistory}

                                        <content>
                        <viz:ui5.Pie>
                            <viz:dataset>
                                <viz:ui5.data.FlattenedDataset
                                    data="{/UserData/clockHistory}">
                                    <viz:dimensions>
                                        <viz:ui5.data.DimensionDefinition
                                            axis="1" name="Client" value="{clientID}">
                                        </viz:ui5.data.DimensionDefinition>
                                    </viz:dimensions>
                                    <viz:measures>
                                        <viz:ui5.data.MeasureDefinition
                                            name="Distance" value="{distance}">
                                        </viz:ui5.data.MeasureDefinition>
                                    </viz:measures>
                                </viz:ui5.data.FlattenedDataset>
                            </viz:dataset>
                        </viz:ui5.Pie>
                    </content>
{
“用户数据”:
{
“名字”:“彼特”
“历史”:
[
{
“客户ID”:2,
“距离”:“130”
},
{
“客户ID”:3,
“距离”:“300”
}
,
{
“客户ID”:4,
“距离”:“430”
}
]
}
}
其次,饼图不会自动将客户端分组,并为同一个clientID添加它们的距离

                                        <content>
                        <viz:ui5.Pie>
                            <viz:dataset>
                                <viz:ui5.data.FlattenedDataset
                                    data="{/UserData/clockHistory}">
                                    <viz:dimensions>
                                        <viz:ui5.data.DimensionDefinition
                                            axis="1" name="Client" value="{clientID}">
                                        </viz:ui5.data.DimensionDefinition>
                                    </viz:dimensions>
                                    <viz:measures>
                                        <viz:ui5.data.MeasureDefinition
                                            name="Distance" value="{distance}">
                                        </viz:ui5.data.MeasureDefinition>
                                    </viz:measures>
                                </viz:ui5.data.FlattenedDataset>
                            </viz:dataset>
                        </viz:ui5.Pie>
                    </content>
有关详细信息,请运行并检查代码段

                                        <content>
                        <viz:ui5.Pie>
                            <viz:dataset>
                                <viz:ui5.data.FlattenedDataset
                                    data="{/UserData/clockHistory}">
                                    <viz:dimensions>
                                        <viz:ui5.data.DimensionDefinition
                                            axis="1" name="Client" value="{clientID}">
                                        </viz:ui5.data.DimensionDefinition>
                                    </viz:dimensions>
                                    <viz:measures>
                                        <viz:ui5.data.MeasureDefinition
                                            name="Distance" value="{distance}">
                                        </viz:ui5.data.MeasureDefinition>
                                    </viz:measures>
                                </viz:ui5.data.FlattenedDataset>
                            </viz:dataset>
                        </viz:ui5.Pie>
                    </content>

sap.ui.controller(“my.own.controller”{
onInit:function(){
风险值数据={
“用户数据”:{
“名字”:“彼特”,
“历史”:[{
“客户ID”:2,
“距离”:“130”
},
{
“客户ID”:3,
“距离”:“300”
}, {
“客户ID”:4,
“距离”:“430”
}
]
}
};
var oModel=new sap.ui.model.json.JSONModel();
oModel.setData(数据);
this.getView().byId(“samplepie”).setModel(oModel);
}
});
var myView=sap.ui.xmlview(“myView”{
viewContent:jQuery('#view1').html()
}); // 
myView.placeAt(“内容”);

是否有任何SAP UI5分组类,或者我是否必须通过解析JSON文件并修改它来对分组进行修改?您必须自己对数据进行分组。