这是那种程序中的?full 在sql中,用于 full joiniif 用于VB,Analysis Services中,作用等同于case when
filter  用于adodb.recordset对象,用于设置筛选条件,或用于Analysis Services

解决方案 »

  1.   

    Filter
    返回根据搜索条件对指定集合进行筛选所得到的集合。语法
    Filter(«Set», «Search Condition»)注释
    Filter 函数对 Set 中指定的集合的每个成员,评估多维表达式 (MDX) 逻辑表达式(该表达式在 Search Condition 中指定),并返回满足搜索条件的成员集合。Filter 函数的工作方式与 IIf 函数的类似。IIf 函数仅返回两个选项中的一个,返回其中哪个取决于 MDX 逻辑表达式的取值,而 Filter 函数返回满足指定搜索条件的一组成员。实际上,Filter 函数对该集合中的每个成员执行 IIf(«Search Criteria», «Member», NULL),并返回所得结果。如果所有成员都不满足搜索条件,则返回空集。示例
    如果这些城市从 1995 到 1996 级别的销售额下降,则以下示例返回 {Paris, Buffalo}:Filter(SampleSet, (Sales,[1996]) < (Sales, [1995]))
      

  2.   

    IIf
    返回由逻辑测试确定的两个数值或字符串值之一。语法
    数字
    IIf(&laquo;Logical Expression&raquo;, &laquo;Numeric Expression1&raquo;, &laquo;Numeric Expression2&raquo;)如果 &laquo;Logical Expression&raquo; 取值为 TRUE,则此函数返回 &laquo;Numeric Expression1&raquo;,否则,返回 &laquo;Numeric Expression2&raquo;。字符串
    IIf(&laquo;Logical Expression&raquo;, &laquo;String Expression1&raquo;, &laquo;String Expression2&raquo;)如果 &laquo;Logical Expression&raquo; 取值为 TRUE,则此函数返回 &laquo;String Expression1&raquo;,否则,返回 &laquo;String Expression2&raquo;。注释
    只有当 &laquo;Logical Expression&raquo; 的值为零时,才认为该表达式是 FALSE。任何其它值都被解释为 TRUE。不推荐用 Iif 函数基于搜索条件创建成员的集合。请改用 Filter 函数根据逻辑表达式评估指定集合中的每个成员,然后返回成员的子集合。示例
    数字
    如果 Measures.CurrentMember 是空单元,则下面的示例返回 0,否则返回 1:IIf(IsEmpty(Measures.CurrentMember), 0, 1)字符串
    如果 Measures.CurrentMember 是空单元,则下面的字符串返回字符串 "Yes",否则返回字符串 "No":IIf(IsEmpty(Measures.CurrentMember), "Yes", "No")
      

  3.   

    哦还真 忘记说了,这三个全是SQL里的,请问你回答的是吗
      

  4.   

    谢谢了,对于iif和Filter的注释我看过但上面的例子我用时就是提示出错
    不知道为什么
    对于full能不能在说的详细些
      

  5.   

    比如iif当前有个表t
    IIf(IsEmpty(select * from t),"Yes","No")
    我这么用老说IsEmpty附近有错误
    还有我直接用
    IIf(IsEmpty(Measures.CurrentMember), "Yes", "No")
    也说上面那句为什么呢????不应该是当前数据库的事吧
      

  6.   

    iif 用于VB,Analysis Services中
    -----------~~~~~~~~~~~~~~~~~~不要乱用
      

  7.   

    如果我直接用
    Filter(SampleSet, (Sales,[1996]) < (Sales, [1995]))
    也说  第 1 行: 'SampleSet' 附近有语法错误。
    到底是哪错了呀,另外Sales应该是字段名吧,那SampleSet是什么呢
    还有上面的Measures.CurrentMember是表名和字段名吗
      

  8.   

    哦,那这么说iif和Filter在SQL中使用不了吗
    那full呢能给了小例子说明一下吗
    谢谢了~~~~~~
      

  9.   

    都不是SQL中的函数,都用不了
      

  10.   

    邹大哥说的full join和INNER JOIN等一样吗
      

  11.   

    --full join
    select *
    from(select id=1)a full join(select id=2)b on a.id=b.id/*--结果:id          id          
    ----------- ----------- 
    1           NULL
    NULL        2(所影响的行数为 2 行)
    --*/--inner join
    select *
    from(select id=1)a inner join(select id=2)b on a.id=b.id/*--结果:id          id          
    ----------- ----------- (所影响的行数为 0 行)
    --*/