full,iif,Filter

futulove 2004-07-03 08:48:33
以前看到过这三人函数,可能是小弟太笨不太会使,Full没看懂,剩下的两个看是看懂了,可一用起来总提示出错,哪位大哥给解释一下最好带个小例子就可以,小弟运行成功后结贴,一个五分哈哈
...全文
188 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
futulove 2004-07-05
  • 打赏
  • 举报
回复
太感谢了
futulove 2004-07-03
  • 打赏
  • 举报
回复
邹大哥说的full join和INNER JOIN等一样吗
pbsql 2004-07-03
  • 打赏
  • 举报
回复
都不是SQL中的函数,都用不了
futulove 2004-07-03
  • 打赏
  • 举报
回复
哦,那这么说iif和Filter在SQL中使用不了吗
那full呢能给了小例子说明一下吗
谢谢了~~~~~~
futulove 2004-07-03
  • 打赏
  • 举报
回复
如果我直接用
Filter(SampleSet, (Sales,[1996]) < (Sales, [1995]))
也说 第 1 行: 'SampleSet' 附近有语法错误。
到底是哪错了呀,另外Sales应该是字段名吧,那SampleSet是什么呢
还有上面的Measures.CurrentMember是表名和字段名吗
zjcxc 元老 2004-07-03
  • 打赏
  • 举报
回复
iif 用于VB,Analysis Services中
-----------~~~~~~~~~~~~~~~~~~

不要乱用
futulove 2004-07-03
  • 打赏
  • 举报
回复
比如iif当前有个表t
IIf(IsEmpty(select * from t),"Yes","No")
我这么用老说IsEmpty附近有错误
还有我直接用
IIf(IsEmpty(Measures.CurrentMember), "Yes", "No")
也说上面那句为什么呢????不应该是当前数据库的事吧
futulove 2004-07-03
  • 打赏
  • 举报
回复
谢谢了,对于iif和Filter的注释我看过但上面的例子我用时就是提示出错
不知道为什么
对于full能不能在说的详细些
futulove 2004-07-03
  • 打赏
  • 举报
回复
哦还真 忘记说了,这三个全是SQL里的,请问你回答的是吗
zjcxc 元老 2004-07-03
  • 打赏
  • 举报
回复
IIf
返回由逻辑测试确定的两个数值或字符串值之一。

语法
数字
IIf(«Logical Expression», «Numeric Expression1», «Numeric Expression2»)

如果 «Logical Expression» 取值为 TRUE,则此函数返回 «Numeric Expression1»,否则,返回 «Numeric Expression2»。

字符串
IIf(«Logical Expression», «String Expression1», «String Expression2»)

如果 «Logical Expression» 取值为 TRUE,则此函数返回 «String Expression1»,否则,返回 «String Expression2»。

注释
只有当 «Logical Expression» 的值为零时,才认为该表达式是 FALSE。任何其它值都被解释为 TRUE。

不推荐用 Iif 函数基于搜索条件创建成员的集合。请改用 Filter 函数根据逻辑表达式评估指定集合中的每个成员,然后返回成员的子集合。

示例
数字
如果 Measures.CurrentMember 是空单元,则下面的示例返回 0,否则返回 1:

IIf(IsEmpty(Measures.CurrentMember), 0, 1)

字符串
如果 Measures.CurrentMember 是空单元,则下面的字符串返回字符串 "Yes",否则返回字符串 "No":

IIf(IsEmpty(Measures.CurrentMember), "Yes", "No")

zjcxc 元老 2004-07-03
  • 打赏
  • 举报
回复
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]))

zjcxc 元老 2004-07-03
  • 打赏
  • 举报
回复
这是那种程序中的?

full 在sql中,用于 full join

iif 用于VB,Analysis Services中,作用等同于case when
filter 用于adodb.recordset对象,用于设置筛选条件,或用于Analysis Services
zjcxc 元老 2004-07-03
  • 打赏
  • 举报
回复
联机帮助上大把例子,自己看去.
zjcxc 元老 2004-07-03
  • 打赏
  • 举报
回复
--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 行)
--*/
futulove 2004-07-03
  • 打赏
  • 举报
回复
没人能给个Full的小例子吗

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧