IsAggregatable属性的影响
在维度(Dimension)的每个特性(Attribute)中,都有一个IsAggregatable的属性。默认是设置为True的。该属性指示分析服务,该特性是可以聚合的。如果该属性为True,那么当该特性在被查询的时候,如果没有指定某个具体的成员(Member),那么会怎么办呢?分析服务会用一个所谓的"All Member"的特殊成员来显示。这个成员就是包含了所有该特殊叶级成员的聚合值。如果说没有这个特殊的成员,那么会尝试用该特性下面的第一个成员显示。
举个例子来说,Customer维度的Gender特性有两个成员,Female和Male。假设我们查询的时候,特别指定了Famale或者Male,当然没有啥问题,可以正确的计算出来。但如果是说我们没有明确指定呢?我们一般会希望它显示所有性别的总和值。是不是这样呢?
下面几个图比较了该属性设置为True或者False时的一些差别
Gender的IsAggregatable设置为false的情况,Gender已经展开(相当于是指定了具体的Gender查询),这个情况没有什么问题
Gender的IsAggregatable设置为false的情况,这时候Gender并没有明确指定。那么因为该特性没有聚合值,分析服务怎么办呢?我们发现它把第一个成员(Female)的值拿过来了。这可能会造成误会,不是么?
这是IsAggregatable设置为True的情况,很显然现在这样的结果才是我们需要的。
但是,到底什么时候会需要将该属性设置为False呢?
如果一个维度,具有两个或以上不做聚合的特性,那么可能会导致一些莫名其妙的情况
这个例子里面,我们把Education和Gender的IsAggregatable都设置为False,然后查询下来居然出现这样的情况。(很多单元都没有结果,但是再去展开的时候,又能看到)
为什呢?你觉得呢?:)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现