好的,到此为止。
我有一个事实表 (Fact_Sales)。有时,某些销售被标记为 SPECIAL(整个发票,而不仅仅是发票行)。所以字段 IsSpecial 是 TRUE 特定发票的每个发票行。
这是一个 TRUE/FALSE 标志(所以我想在我的事实表中使用一个位)。
这是一个数据示例:( 忘记示例,我不能发布表格,也不能发布 HTML 表格,也不能将文本格式化为带空格的表格)......想象一下......
现在,我的 SSAS2005 多维数据集很好并且运行良好。
第一次尝试:将 InvoiceID 或 NULL 放在 FLAG 字段中,并 DISTINCT COUNT 它
在我的第一次尝试中,我将 InvoiceID 或 NULL 放入 IsSpecial 字段(这不是一个字节),然后直接通过将我的度量添加到新的度量组来执行 DISTINCT COUNT(因此这里没有 MDX)。但是,SSAS 并没有那么亮,将 NULL 算作一次出现。所以我总是将“1”视为最小值(发现很多“NULL”出现,因此计数为 1)。我尝试将基本度量源修改为 Preserve Null 或 ZeroOrBlank,但它仍然会在任何地方显示值“1”(除非真的有 IsSpecial)。
第二次尝试:创建一个 MDX 查询,它将对 IsSpecial 'measure' 进行 DISTINCT 计数
我在这里读到:http: //ask.sqlservercentral.com/questions/50286/calculated-member-to-get-distinct-count-on-a-condi.html。我的问题是没有可比较的维度。我的意思是,我会指望什么?
第三次尝试:创建维度。 不。记下我想走的路。我的客户不想将他们的每一项措施分成 2 个成员:特殊发票和普通发票。他们只想要 1 个新度量,名为“特殊发票的 Nb”。
您可能已经注意到,我的 SSAS 能力不是那么好,因为我 3-4 年没有接触过,我的客户希望我这样做......
谢谢