- SQL code
MDX语句是这样:SELECT NON EMPTY { [Measures].[sold amount]} ON COLUMNS, NON EMPTY { ( [dim d_Date].[Full Date Alternate Key].[Full Date Alternate Key].ALLMEMBERS * [dim d_prov].[prov_id].[prov_id].ALLMEMBERS * [dim d_city].[city_id].[city_id].ALLMEMBERS ) }FROM [TTSLPMRPT_MINOS]where ([dim d_Date].[Date SID].&[2011022110])
其中,d_Date,dim d_country和dim d_prov分别为维度表时间,省和市。省与市有层次关系,市维度表中有一个prov_id为外键。
不过按上面的MDX写法,省与市好像做乘法了?应该如何关联这两个维度表呢,就像SQL一样:where d_prov.prov_id = d_city.prov_id?
求赐教~
------解决方案--------------------
乘法或者用Crossjoin函数,相当于是笛卡尔积,在家nonempty函数, 就已经能到达你要的结果了。
------解决方案--------------------
- SQL code
不懂,帮顶,学习,蹭分.
------解决方案--------------------
有时间真得学学BI。
------解决方案--------------------
省和市。省与市有层次关系,市维度表中有一个prov_id为外键。
===========
你的立方有问题.
1.省市应该放到一个地区表.
2.区分地区类型,在属性里,标注出.筛选时再过滤.
------解决方案--------------------
*不是乘法,是笛卡尔积
你的mdx也没写对,语法错误