星期二, 十月 30, 2012

Google的多彩管道

我很愿意承认:我不喜欢大自然,倒是觉得钢筋水泥更加好看。比如,Google数据中心里这些多彩的管道。

数据中心内有数千英尺的管道,它们被涂上不同的颜色不仅仅是为了好看,更可以方便的区分出每个管道的用途。比如亮粉色的管道是从冷水机抽来的冷水,而绿色管道是送往室外冷却塔的热水。




俯瞰整个数据中心的冷却设备,其中的冷却水是来自海水。



星期日, 九月 23, 2012

回到页首 Go Top Button

对于较长的页面,非常有必要显示“回到页首”按钮,以帮助用户快速返回到页面的开头。

使用以下HTML代码,在页面底部显示“回到页首”图标:

使用以下CSS代码,让按钮浮动显示在固定位置--即使在页面滚动时也始终停留在可见范围内:

页面显示效果,如下图所示:

back_to_top

您也可以下载完整的示例文件。

星期六, 九月 22, 2012

听姚谦说文艺这回事

文艺最可贵的地方,在于它的独特、稀有却正中下怀的触动

从小我就常常想,为什么孤单、孤独不好?是负面的词?后来我发现,这是被教育出来的。

记得有个统计数据是,淡忘一个爱过的人,提起他的名字都不再波动,平均起来是需要十八个月的时间

爱情的本质只是你渴望在某个人身上的投射面,渴望变了,人还是那个人,爱情却消失了。而所有在爱情中写给对方的文字,都是跟自己的对话。

在一段时间内,两个人彼此在同一频率、平行行走、互相欣赏,你们的计划、价值和感受是那么的相同,这一段时间的情感叫做爱情。爱情是有寿命的,就像失恋、上帝给我们的躯体一样。而爱情过后,尽可能把那段时间内的感受、感激留下来,它们才是没有寿命的。

我不会期待找一个各个方面都跟我相契的灵魂伴侣,这样的人应该是不存在的。我只能希望在人生的某些时段,遇到不同的、某些方面和我相契的灵魂伴侣,相携一段时光

星期六, 九月 01, 2012

城市, 让记忆更荒芜

今天,游荡在中国的任何一个城市,总能看到拆除,总能看到快速发展的同时如何快速地遗忘。我们的记忆在哪里藏身呢?记忆可以是一首歌,可以是一个日记本,可以是一条街,可以是一座工厂,可以是一座城市,更可以是山河大地。我们必须保存我们一个又一个的记忆之盒,在这些盒子里保存的是我们成为人的依据。

--贾樟柯 《温暖的记忆

星期一, 八月 20, 2012

免费Windows字体管理软件 Font Xplorer

Font Xplorer 是一个免安装的绿色软件,用于管理Windows字体。它可以运行在 Windows 9x/Me/NT4/2000/XP 操作系统下,但不支持Windows Vista/7/8 。

在程序主界面中,可以利用树状结构,浏览已经安装和尚未安装的字体,并安装或删除选中的字体。

View_Folder

安装字体时,可以选择将字体文件保留在当前文件夹(leave where they are);将字体文件复制到系统字体目录(copy to Windows fonts folder);或者将字体文件复制到指定目录(copy to different folder)。

Install_Font

有时为了简短,字体文件的名字会变得不知所云(比如arialbi.ttf);利用Rename fonts to Full Name功能,可以将文件名改为字体的名称(Arial Bold Italic.ttf)。

Renam_Fonts_to_FullName

在字符表(Character Map)中,可以浏览所有字符或放大个别字符;可以根据字符集过滤字符;甚至能够将字符复制为格式文本或适量图像,并粘贴到其它程序中。

Preview_Font

注意:Font Xplorer 支持 TrueType 和 OpenType fonts with TrueType outlines;但不支持Adobe Type 1 fonts 和 OpenType fonts with PostScript outlines。

星期六, 八月 18, 2012

国家 / 人民

國家屬於人民,但並非人民屬於國家。

--黃耀明

星期六, 八月 04, 2012

VIM学习笔记 操作目录(Manipulate Directory)

在目录间移动

使用以下命令,可以显示当前所在的目录:

:pwd

使用以下命令,在Linux下可以进入HOME目录,而在Windows下则显示当前所在目录:

:cd

使用以下命令,可以进入指定的目录:

:cd D:\tepm

使用以下命令,可以返回前一个目录:

:cd -

使用以下命令,可以返回上一级目录:

:cd ..

我们还可以使用以下命令,创建新的目录:

:!mkdir my_project

利用wildmenu选择目录

在vimrc配置文件中,增加以下两条命令,可以在屏幕底部启用wildmenu菜单显示:

set wildmenu
set wildmode=list:longest,full

启用wildmenu菜单之后,在命令行中,第一次点击Tab时, 将列示所有可能与已输入字符相匹配的命令列表;第二次点击Tab时,则将在显示的wildmenu中遍历匹配项;然后点击回车键做出选择。

使用:help wildmode:help wildmenu命令,可以查看更多帮助信息。

在命令行中输入:e命令,紧接着输入一个空格,然后点击Tab键,将在屏幕底部的wildmenu中,显示当前目录下的子目录和文件列表:

wildmenu_e_tab

再次点击Tab键,可以选择下一个项目,点击Shift + Tab键则可以选择上一个项目 ;使用左右移动键,也可以在文件列表中进行选择;而使用上下移动键,则可以移动至上一层或下一层目录。点击回车键,将打开选中的文件或文件夹。

wildmenu_e_tab_tab

如果在命令行中输入:e命令,紧接着输入一个空格以及文件名的开头部分,然后点击Tab键,那么将在屏幕底部的wildmenu中显示与之相匹配的项目;如果只发现一个匹配项,那么将会直接补全文件名:

wildmenu_e_tab_filename

Ver: 1.0<上一篇 | 目录 下一篇>

星期五, 七月 06, 2012

VIM学习笔记 操作文件(Manipulate File)

:Explore

使用:Explore命令(注意开头E大写)打开文件浏览器,可以在其中切换目录并选择打开文件。

Explore

使用键盘移动光标至文件或文件夹名称上,然后点击Enter回车键,可以在当前窗口中打开该文件或文件夹;如果希望在新建窗口中打开文件或文件夹,那么可以点击o键。

直接使用鼠标点击文件或文件夹名称,也可以在当前窗口中打开该文件或文件夹。

点击大写R键,然后修改窗口底部信息中的第二个文件名,可以重命名当前光标下的文件。

Explore_R

点击大写D键,然后在窗口底部信息中进行确认,则可以删除当前光标下的文件。

Explore_D

点击/键,可以在文件列表中进行查找。

Explore_Search

goto file

如果当前文件中包含了其他文件名,那么我们可以移动到文件名位置,然后直接使用gf命令在新的缓冲区中打开链接的文件。例如下图所示,在HTML文件中引用了CSS文件,那么只需要在CSS文件名处执行gf命令,Vim就会在当前文件夹中查找并打开引用的CSS文件。

gf

如果文件名中没有指明扩展名称,那么可以使用以下命令来指定gf需要查找的文件类型:

:set suffixesadd+=.rb

如果我们希望gf在多个文件夹中尝试查找并打开文件,那么可以使用以下命令来定义文件夹列表:

:set path+=D:/Anthony_GitHub/learn-vim/**

使用以下命令可以查看当前path选项的设置:

:set path?

set_path

其中,“.”代表当前文件夹下的所有文件;“**”代表所有子文件夹;“,”用于分隔多个文件夹。

我们也可以使用ctrl-Wf命令,在新的分割窗口中打开光标下文件。

文件信息

使用以下命令,可以显示当前文件的名字、状态以及行列相关的信息:

:file

"test.txt" [Modified] 134 lines --55%--

使用以下命令,则可以显示当前文件的总行数:

:=

使用g-Ctrl-g命令,将在状态栏下方显示整个文档的字数和行数,以及当前所处的位置。

g-ctrl-g

如果想要统计当前行的字数,首先移动到行尾,然后使用v命令进入可视化模式,使用0命令移动到行头并选中整行文字,最后使用g-Ctrl-g命令显示选中文本的字数。

在插入模式下,使用<C-R>%命令,或者在常规模式下,使用"%p命令,可以将当前文件名粘贴到文本中。

使用以下命令,可以在文本中查找当前文件名:

/<C-R>%

查看文件

使用:view file命令,将以只读方式打开文件。

使用:set ro命令,会将当前文件置为只读状态。你在文件中进行的任何修改,都无法保存。当然我们也可以使用:write!命令,来强制保存文件。

E45

使用:set noma命令,可以将当前文件置为不可修改状态,Vim会阻止任何修改操作。

E21

新建文件

使用:vi file命令,在新建缓冲区中编辑名为file的新文件。如果当前文件没有保存,那么将会显示警告信息,此时可以输入:write命令,来保存当前文件。

E37

使用:vi! file命令,将不保存当前文件而强制开始编辑新文件。

另存文件

使用以下命令,可以将当前文件另存为以name命名的新文件,并在当前缓冲区中开始编辑新文件:

:file name

工作目录

使用以下命令,可以查看Vim所在的当前工作目录:

:pwd

切换目录

如果想要切换到其它目录,可以使用以下命令:

:cd dir

注意:如果没有指定目录,那么使用:cd命令,在Linux下,将回到home用户主目录;而在Windows下,则会显示当前工作目录。

如果想要回到前一个工作目录,可以使用以下命令:

:cd -

命令小结
:Explore打开文件浏览器
gf打开以当前光标下文字命名的文件
:file显示当前文件的名字、状态以及行列信息
:=显示当前文件的总行数
g-Ctrl-g显示行列信息和字数统计
:set ro将当前文件置为只读状态
:set noma将当前文件置为不可修改状态
:vi新建文件
:view以只读方式打开文件
:pwd显示当前工作目录
:cd切换目录

Ver: 2.0 | YYQ<上一篇 | 目录 下一篇>

星期三, 六月 27, 2012

这些天纠结的收放自如

类似常见问题(FAQ)的网页,通常都会首先显示所有问题列表,然后在用户点击某个问题时自动展开显示详细答案。收放自如的版式,既可以让读者在同一页面中查看大量信息,又不至于因为内容过多而使页面布局凌乱。

方案 1Toggle Visibility

可以使用以下代码,显示或隐藏指定区域。此方案的优势是,代码和结构都非常简单。而不足是,当区域显示后需要再次点击链接以重新隐藏内容。请查看在线实例

方案 2Simple Javascript Accordions

Dezinerfolio使用Javascript开发的Simple Javascript Accordions,提供了横向、纵向和标签页等多种形式的收放效果。此方案的优势是,利用插件减少开发成本。而不足是,需要在页面加载时启动此插件,可能与其它插件产生冲突。请查看在线实例

Simple Javascript Accordions

方案 3CSS3 Accordion Effect

CSS Ninja使用CSS3开发的Accordion Effect,提供了纯CSS并且支持多种浏览器(包括IE6+)的收放效果。此方案的优势是,CSS便于调试,并且不会与其它插件产生冲突。而不足是,收放效果在IE和非IE浏览器中稍有不同:在非IE中浏览器中,需要点击链接以展开内容;而在IE中,鼠标移动到标题行就会自动扩展显示。请查看在线实例

CSS3 Accordion Effect

注意:以上方案均需要为每段问答指定ID,代码维护成本较高。

星期一, 四月 02, 2012

VIM学习笔记 帮助信息(Help)

查看帮助

使用以下命令或直接按下F1键,可以查看帮助文件:

:help

help

使用查询命令,可以在帮助文件中查找特定主题的帮助信息。例如使用/mode命令,即可找到关于模式的帮助信息。

在帮助信息中的命令、选项或章节等链接上双击鼠标或点击ctrl-]键,就可以跳转到相关的帮助信息。点击ctrl-octrl-t则可以在查阅过的帮助信息之间进行跳转。

帮助目录

使用以下命令,可以显示用户手册的目录:

:help usr_toc

help_usr_toc

精确查找

如果你想要查看特定命令的帮助信息,那么可以直接在帮助命令中指定命令做为参数:

:help :undo

通过set wildmenu设置命令,可以在窗口底部显示菜单选项。当我们并不知道确切的命令名称时,可以只输入开头的几个字母,然后按下Tab键,就将在wildmenu中显示可能匹配的命令。继续按Tab键,可以在这些命令列表间移动,按下回车键就会显示选中命令的帮助信息。

help_wildmenu

使用:help ctrl<Tab>命令,可以列出所有和CTRL键相关的帮助主题。使用:help i_CTRL-R命令,则只显示在插入模式下CTRL-R的帮助信息;而:help c_CTRL-R命令,则显示在常规模式下CTRL-R的帮助信息。

模糊查询

如果不知道具体的命令名称,那么可以使用以下命令在所有帮助文件中查询相关信息。例如,使用此命令,将逐一显示所有与插入模式相关的帮助信息。

:helpgrep insert mode

helpgrep

可以使用:cnext命令,查看下一条帮助信息;使用:cprev命令,查看上一条帮助信息。

如果有很多相关的帮助信息,可以使用:clist命令,列示所有包含指定主题的帮助信息。

helpgrep_clist

使用:cwin命令,则可以在QuickFix窗口中列示所有相关帮助信息的条目。利用鼠标滚轴、方向键或j,k移动命令可以在条目间移动,按下回车键则可以打开当前条目的帮助信息。使用:cclose命令,可以关闭QuickFix窗口。

helpgrep_cwin

更多帮助资源

:help quickref命令,可以查看快速索引:

Help_quickref

:help tips命令,可以查看使用技巧:

Help_tips

我们还可以访问网页版的Vim帮助文件:English Version|中文版

命令小结
:help查看帮助
:helpgrep使用正则表达式模糊查询帮助信息

Ver: 1.0<上一篇 | 目录 下一篇>

星期六, 三月 03, 2012

VIM学习笔记 交换文件(swap)

在编辑文件的过程中,Vim将会在当前目录中自动生成一个以.swp结尾的临时交换文件,用于备份缓冲区中的内容,以便在意外退出时可以恢复之前编辑的内容。

启用/禁用交换文件

可以使用以下命令,设置生成交换文件:

:set swapfile

可以使用以下命令,设置Vim不产生交换文件:

:set noswapfile

注意,以上设置仅针对当前文件生效。

处理交换文件

当完成编辑并保存退出后,临时交换文件将会被删除;但如果Vim意外退出,那么这个临时文件就会留在硬盘中。当Vim再次启动时,会检查当前目录中是否存在交换文件。如果存在,则意味着Vim正在编辑此文件,或者在上次编辑过程中意外退出,这时Vim就会给出警告信息,并要求我们在以下四个选项中做出选择:

  • Open Read-Only(以只读方式打开):如果我们想要查看文件内容或是有另一个编辑过程正在运行,那么可以选择此选项;
  • Edit anyway(编辑文件):请尽量不要选择此选项。因为如果同时有两个或是多个编辑过程同时编辑一个文件,那么只有最后一个保存的编辑过程有效;
  • Recover(恢复):如果在编辑过程中vim意外退出,那么可以选择此选项尝试从交换文件恢复文档;
  • Quit(退出):选择此选项,将取消对此文件的修改。

查看交换文件

Vim意外退出时,并不会覆盖旧的交换文件,而是会重新生成新的交换文件。例如,第一次产生的交换文件名为“.file.txt.swp”;再次意外退出后,将会产生名为“.file.txt.swo”的交换文件;而第三次产生的交换文件则为“.file.txt.swn”;依此类推。

使用以下命令,可以查看当前交换文件的名称:

:swapname

也可以在命令行中使用以下命令,列示当前目录和临时目录下的交换文件:

vim -r

命令的执行结果,如下图所示:

vim -r

交换文件选项

根据默认设置,交换文件会每隔4000毫秒(4秒)或者200个字符保存一次。我们可以使用以下命令,修改保存交换文件的频率:

:set updatetime=23000

:set updatecount=400

注意,如果我们将updatecount的值为0,那么就将不保存交换文件。

Vim默认在当前文件所处的目录下产生交换文件,我们可以通过directory选项来更改交换文件产生的目录。例如,使用以下命令将交换文件存放在/tmp目录下:

:set directory=/tmp

注意,如果我们将交换文件存储在一个指定目录,那么当编辑不同目录下相同名称的文件时,就会产生命名冲突。我们可以将directory选项设置为一个以逗号分隔的目录列表,并将当前目录(.)设为目录列表的第一个选项,这样交换文件首先会被存放在当前目录下。

:set directory=.,/tmp

保存交换文件

使用以下命令,可以保存修改到交换文件中,而原始文件则保持不变(直到使用:write或ZZ命令退出时原始文件才会被重写)。也就是说,我们可以在丢失原始文件的情况下,使用交换文件来恢复文档。

:preserve

从交换文件恢复

可以使用以下命令,来修复指定的文件:

:recover temp.txt

如果存在多个交换文件,那么可以根据屏幕提示选择从指定的交换文件恢复:

recover

如果没有指定文件名,那么将默认恢复当前缓冲区中的文件。如果试图修复的文件正处于编辑状态,那么将返回错误。如果想要放弃所做的编辑并修复文档,那么可以使用以下命令进行强制修复:

:recover! temp.txt

在命令行下使用以下命令,可以从指定的交换文件进行恢复:

vim -r file.txt.swo

你可以使用以下命令,查看关于交换文件的帮助信息:

:help swap-file

命令小结
:swapname查看当前交换文件的名称
:preserve保存修改到交换文件
:recover从交换文件恢复
:set swapfile启用交换文件
:set noswapfile禁用交换文件
:set updatetime设置保存交换文件的时间频率
:set updatecount设置保存交换文件的字数频率
:set directory设置用于保存交换文件的文件夹

Ver: 1.0<上一篇 | 目录 下一篇>

星期五, 二月 10, 2012

INVENT & KILL

I am proud of the fact that I never invented weapons to kill.

--Thomas Edison

星期二, 一月 31, 2012

VIM学习笔记 光标(Cursor)

光标显示选项

可以通过以下命令设置guicursor选项,来定义图形界面下的光标显示:

:set guicursor=mode:style[-highlight],mode:style[-highlight],...

其中,mode是以下选项的组合:

n常规模式
v可视模式
ve可视模式但不包括selection
o操作符等待模式
i插入模式
r替换模式
c 命令行常规模式
ci命令行插入模式
cr命令行替换模式
sm插入模式下的显示匹配
a所有模式

其中,style如下:

horN水平栏,字符高度的N个百分比
verN垂直栏,字符宽度的N个百分比
block光标块,覆盖整个字符
blinkwaitN光标开始闪烁前的延迟
blinkonN光标显示的时间
blinkoffN光标不显示的时间

例如,以下命令会在常规、命令和插入模式下,将光标设置为相当于当前字符50%宽度的方块,并使用ncvCursor组高亮显示:

:set guicursor=n-c-v:ver50-ncvCursor

而以下命令则启用不闪烁的方块光标,在插入模式下,使用iCursor组高亮显示,而在可视化模式下,则使用vCursor高亮显示组。

:set guicursor=i:block-iCursor-blinkon0,v:block-vCursor

关于光标显示的更多信息,请使用以下命令查看帮助文档:

:help guicursor

光标颜色

利用以下命令,可以改变光标的前景色和背景色:

:highlight Cursor guifg=white guibg=black

:highlight iCursor guifg=white guibg=steelblue

光标行/列

利用以下命令,使用CursorLine组高亮显示光标所在的屏幕行:

:set cursorline

而利用以下命令,则使用CursorColumn组高亮显示光标所在的屏幕列:

:set cursorcolumn

使用以下命令同时启用光标行和光标列,将显示“十字架”光标,可以准确定位当前位置:

:set cursorline cursorcolumn

cursorline cursorcolumn

利用以下命令,可以改变光标所在行的颜色:

:highlight CursorLine guibg=lightblue ctermbg=lightgray

可以使用以下命令,取消高亮显示光标所在的行和列:

:set nocursorline nocursorcolumn

命令小结
:set guicursor设置光标选项
:set cursorline高亮光标所在的屏幕行
:set cursorcolumn高亮光标所在的屏幕列

Ver: 1.0<上一篇 | 目录 下一篇>

星期六, 一月 14, 2012

VIM学习笔记 配置文件(vimrc)

在vim启动过程中,首先将查找配置文件并执行其中的命令。而这些初始化文件一般有vimrc、gvimrc和exrc三种。

利用:version命令,可以得到配置文件的详细信息。

version-vimrc

注意:如果执行gvim,那么$VIMRUNTIME/menu.vim也会被执行。

配置文件位置

vimrc是主配置文件,它有全局和用户两种版本。

全局vimrc文件,存放在Vim的安装目录中。可以使用以下命令,确定Vim的安装目录:

:echo $VIM

默认情况下,系统vimrc存放在以下位置:

Linux: /usr/share/vim/vimrc

Windows: c:\program files\vimrc

用户vimrc文件,存放在用户主目录中。可以使用以下命令,确定用户主目录:

:echo $HOME

默认情况下,用户vimrc存放在以下位置:

Linux: /home/username/.vimrc

Windows: c:\documents and settings\username\_vimrc

注意:用户配置文件优先于系统配置文件。

gvimrc是GVIM的配置文件,它也有全局和用户两种版本,并且存放在与vimrc相同的目录中。

默认情况下,系统gvimrc存放在以下位置:

Linux: /usr/share/vim/gvimrc

Windows: c:\program files\vim\_gvimrc

默认情况下,用户gvimrc存放在以下位置:

Linux: /home/username/.gvimrc

Windows: c:\documents and settings\username\_gvimrc

exrc文件,仅用于向后兼容olvi/ex,它的全局和用户两种版本也放置于vimrc相同的目录里。除非你使用vi-compatible模式,否则不需要关注exrc配置文件。

注意:在Unix和Linux下,vim的配置文件被命名为以点开头的隐藏文件;而在Windows下,配置文件则以下划线开头命名。

编辑配置文件

可以使用以下命令,新建缓冲区来编辑配置文件:

:edit $MYVIMRC

也可以使用以下命令,新建标签页来编辑配置文件:

:tabedit $MYVIMRC

例如,我们可以在配置文件中使用以下命令,来设置vim的选项:

:syntax on "打开语法加亮功能

:set shiftwidth=4 "设置缩进宽度为4个空格

其中,单引号(")为注释内容。

应用配置文件

修改配置文件后,需要重新启动Vim,或使用:source命令来应用新的设置:

:source $MYVIMRC

我们可以在配置文件中增加以下命令,在保存后自动应用配置:

autocmd bufwritepost .vimrc source $MYVIMRC

配置文件实例

以下是本人的vim配置文件内容,供各位参考:

星期日, 一月 08, 2012

柱形图(Bar Chart)

柱形图(Bar Chart),适用于显示一段时间内数据的变化或各系列之间比较。(Show data values in comparison to one another.)

BAR CHART

柱形图不仅可表现单一的数据,也可将多种数据进行并列比较。同时,我们还可以对柱形进行艺术加工,柱形本身也能采用其他的象形符号来表现。另外,当参与比较的数据差异较大时,可将柱形转变为用圆形或正方形等紧凑的图形,通过其面积的不同来进行比较。更进一步的话,还能使用立方体\球体,用体积的形式来表示。折线图只能表现数据随时间变化的过程,而柱形图兼具这个功能。此外,饼围所表示的是数据在 100%中所占的比例,使用柱形图,也能在一条柱形中表现这样的比例关系。正因为柱形图是这样一种全能的统计图,所以它是统计图中最为基础的表现形式。

BarChart-2
图片来源:《图解力》

通过为柱形图设置3D效果,可以使显示风格更为现代:

Bar Chart-3D

将柱形图横置,可以突显数据对比和排序效果,但是时间概念就会削弱甚至丧失:

Bar Chart-Horizontal

下图统计了2011年度F1比赛中各位车手受到处罚的情况。汉密尔顿毫无意外地排名榜首。图表的纵轴表示受罚的次数,并且利用不同的色彩显示了受罚的类型(比如灰色表示通过维修站)。图表的横轴列示车手头像,从受罚最多到受罚最少依次排列,车手的驾驶风格也变得一目了然。通过增加形状、色彩和图像,原本死气沉沉的柱形也可以变得生动活泼,并且体现出更多数据和含义。

Bar Chart-F1

结合使用数字和颜色,在以下横向柱形图中,同时统计了2016年F1银石站车手进站和换胎的情况。纵轴列示了各位车手的姓名;而横轴则显示在全部52圈比赛中停站换胎的节奏:其中,数字表示进站圈数,而不同颜色的横轴则代表使用不同类型的轮胎。

BarChart-PitStop

卢夫斯·西格在其著作《欧洲地图集》(Atlas of Europe)中,使用艺术化的柱形图展示了西欧的原油消耗:

BarChart-AtlasOfEurope

星期三, 一月 04, 2012

使用SQL语句查看 Hyperion Planning 维度成员的UDA

使用以下语句,可以查询某个维度下成员的UDA属性:
select
O.Object_Name as Name,
OA.OBJECT_NAME as Alias,
U.UDA_VALUE as UDA
from hsp_member_to_uda M
inner join hsp_uda U
on M.UDA_ID=U.UDA_ID
inner join hsp_object O
on M.MEMBER_ID=O.OBJECT_ID
inner join hsp_alias A
on M.MEMBER_ID=A.MEMBER_ID
inner join hsp_object OA
on A.ALIAS_ID=OA.OBJECT_ID
inner join hsp_member D
on D.Member_Id=O.Object_Id
inner join hsp_object OD
on D.Dim_Id=OD.Object_Id
-- Specify Dimension
where OD.OBJECT_NAME='Entity'
order by O.Object_Name

显示效果如下图所示: