[已解决] cube公式中如何实现模糊查询-mdx

  [复制链接]
查看177561 | 回复152 | 2020-11-5 23:32:31 | 显示全部楼层 |阅读模式
各位请教:
现在遇到一个问题,我将数据透视表-数据源为powerbi,转变为cube公式后,想要查询信息:含有沃尔玛名字的门店销售量:

门店名字字段记录内容:
沃尔玛1店
沃尔玛2店
大润发

现在cube公式如下:
=CUBEVALUE("localhost_35044",CUBEMEMBER("localhost_35044","[门店].[门店名].&[沃尔玛1店]"),CUBEMEMBER("localhost_35044","[Measures].[门店_销售额]")

我只能求出沃尔玛1店销量,如何求出含有沃尔玛 三个字的门店销量?

万分感激,这个问题我搜索了很久没有搜索到,已经困扰我2年了;
回复

使用道具 举报

graven | 2020-11-5 23:41:31 | 显示全部楼层
=CUBEVALUE("localhost_35044",CUBESET("localhost_35044","FILTER([门店].[门店名].MEMBERS,INSTR([门店].[门店名].MEMBERVALUE,'沃尔玛')),CUBEMEMBER("localhost_35044","[Measures].[门店_销售额]")
回复

使用道具 举报

tdgg6683 | 2020-11-5 23:45:32 | 显示全部楼层
感谢,正好昨天我也在QQ群里遇到了一个mdx高手,正是上面答案,太感谢了;
=CUBEVALUE("localhost_35044",CUBESET("localhost_35044","FILTER([门店].[门店名].MEMBERS,INSTR([门店].[门店名].MEMBERVALUE,'沃尔玛'))”),"[Measures].[门店_销售额]")
回复

使用道具 举报

yuailing | 2020-11-5 23:47:32 | 显示全部楼层
=CUBEVALUE("localhost_35044",CUBESET("localhost_35044","FILTER([门店].[门店名].MEMBERS,INSTR([门店]. ...


测试时候,发现个神奇的事情,CUBESET("localhost_35044","filter([日期表].[年月数].members,[日期表].[年月数].membervalue>=201905)") 得到的是相当于没有筛选的所有结果,似乎全是true

将>=换成= 结果正确;将>=换成=201905 后面再加上 and [日期表].[年月数].membervalue<=201909 结果正确;太神奇了
回复

使用道具 举报

彬彬 | 2020-11-5 23:56:32 | 显示全部楼层
测试时候,发现个神奇的事情,CUBESET("localhost_35044","filter([日期表].[年月数].members,[日期表].[ ...


原因找到:
正确写法:
cubeset("数据源","filter([门店].[门店数].[all].children,[门店].[门店数].membervalue>1 and [门店].[门店数].membervalue1的时候,错误写法总是返回所有值,因为all子集包括在[门店].[门店数]下面,而all这个值大于任何数值,所以出现大于号会显示所有数据的情况,所以要再all子集内部比较(all下面包括所有子集内容)
以上问题是wdx223大牛协助解决,非常感谢!

切记在filter的时候,加上all,否则>比较就会出错,真是大坑啊!
回复

使用道具 举报

graven | 2021-5-22 21:11:08 | 显示全部楼层
这个不错,学习了
回复

使用道具 举报

szxrszxr | 2021-6-3 17:17:23 来自手机 | 显示全部楼层
有空大家一起交流一下
回复

使用道具 举报

穷疯了 | 2021-6-5 08:42:06 | 显示全部楼层
回个帖子,下班咯~
回复

使用道具 举报

石埠十三少 | 2021-6-8 14:12:46 | 显示全部楼层
LZ是天才,坚定完毕
回复

使用道具 举报

阿豪 | 2021-7-8 23:44:11 | 显示全部楼层
感謝云发教育!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则