...
锚 |
---|
| 4mME-1736836550714 |
---|
| 4mME-1736836550714 |
---|
|

锚 |
---|
q9mj-1736414897624 | q9mj-1736414897624 |
说那么多,不是搞的比旧数据集还复杂吗,那为啥要用模型啊,这就不得不说mdx那强大的计算功能了,像那些时间计算,同期值、同比值等等,你SQL写的出来吗?不太能行吧,人家mdx就厉害在这,他只要一条语句就搞定了,当然肯定不单单只有这些好处,具体啊,咱就不多说了,大家可以看看我们官方文档:https://wiki.smartbi.com.cn/pages/viewpage.action?smt_poid=43&pageId=101877299
锚 |
---|
| Hh02-1736415156207 |
---|
| Hh02-1736415156207 |
---|
|
言归正传,当出现数据不对的情况,我该怎么去拿SQL来排查? 锚 |
---|
2PIj-1736419215726 | 2PIj-1736419215726 | 当模型走SQL引擎的时候,这个时候是不会有mdx的,我们可以按上面旧数据集的方式进行排查,具体什么时候回走SQL引擎呢,请看下图,如果是想要SQL引擎更详细的介绍,可以看我们的wiki:https://wiki.smartbi.com.cn/pages/viewpage.action?smt_poid=43&pageId=113542956
锚 |
---|
| uv8b-1736419358324 |
---|
| uv8b-1736419358324 |
---|
|
Image Modified
锚 |
---|
| nVWp-1736419358329 |
---|
| nVWp-1736419358329 |
---|
|
当走OLAP,这个时候要获取执行SQL就略微复杂了,你会发现下面这一堆东西,看不懂啊,这个时候我们就要切换另一个工具去辅助看SQL了,即:OLAP监控页面。
锚 |
---|
| HmLz-1736419631674 |
---|
| HmLz-1736419631674 |
---|
|
Image Modified
锚 |
---|
| f8kn-1736419631678 |
---|
| f8kn-1736419631678 |
---|
|
OLAP监控默认是没有配置的,下面来告诉大家怎么去配置OLAP监控,配过的话,那也可以再复习下。 锚 |
---|
| cVlm-1736471966035 |
---|
| cVlm-1736471966035 |
---|
|
首先去系统监控中,点击左上角的设置,接着点击添加服务器,会新增一条记录,再根据实际配置改改ip端口就好了。配置好之后可以点击右侧测试链接,删除隔壁那个就是测试按钮,如果没问题会提示链接成功。
锚 |
---|
| gBjt-1736472246505 |
---|
| gBjt-1736472246505 |
---|
|
Image Modified
锚 |
---|
| ipmS-1736471980604 |
---|
| ipmS-1736471980604 |
---|
|
而这个地址呢,他在哪儿呢?看图说话,要注意那个地址,别复制多了啊:
锚 |
---|
| zV4E-1736475374620 |
---|
| zV4E-1736475374620 |
---|
|
Image Modified
锚 |
---|
| wV4s-1736475374624 |
---|
| wV4s-1736475374624 |
---|
|
配置完之后就可以看到这里多了个服务,点击打开就进到了OLAP监控了。什么,密码是多少?这咱也不知道啊。别急别急,现场如果是自己第一次访问OLAP页面配置的,他会提示你没配置,给个链接你点击跳转过去配置。忘记了啊,那要么重置下吧,删除下面图中那行记录,保存,重新访问下OLAP的这个地址,http://ip:18081/smartbiOLAP/manager/index.jsp
,他会让你重新配置的。
锚 |
---|
| B5DU-1736476719547 |
---|
| B5DU-1736476719547 |
---|
|
Image Modified
锚 |
---|
| aTE1-1736475852959 |
---|
| aTE1-1736475852959 |
---|
|
配完了点开之后我们就能进到OLAP的监控界面了:
锚 |
---|
| aUl6-1736478693768 |
---|
| aUl6-1736478693768 |
---|
|
Image Modified
锚 |
---|
| 6NY6-1736478693772 |
---|
| 6NY6-1736478693772 |
---|
|
右侧资源树有三个我们要特别注意的,分别是SQL监控、MDX查询监控、MDX运行示例。怎么会有这么多?这就要说道说道了。 锚 |
---|
| QTqT-1736494266740 |
---|
| QTqT-1736494266740 |
---|
|
首先如前所说,这是先经过了OLAP引擎,会有MDX生成,所以是先进到MDX查询监控,因为也是能看到全局的,为了避免眼花缭乱,还是记得先选当前会话:
锚 |
---|
| OkCg-1736497676434 |
---|
| OkCg-1736497676434 |
---|
|
Image Modified
锚 |
---|
| qY5y-1736494362549 |
---|
| qY5y-1736494362549 |
---|
|
选好了之后,可能还是很多,那可以先点击右上角的清空,接着回去清空缓存,重新刷新一下报表啊,预览下数据啥的,再切回来,就能看到对应的mdx了,看不到就点下刷新,等等他就来了,然后复制这个红框的编号,带着它去到SQL监控:
锚 |
---|
| SqZP-1736732640190 |
---|
| SqZP-1736732640190 |
---|
|
Image Modified 锚 |
---|
| Cynq-1736498481478 |
---|
| Cynq-1736498481478 |
---|
|
粘贴在SQL监控里的MDX查询ID上即可,或者没有的话,可以粘贴完了回个车啊,或者点个刷新啊,这里也就出来了:
锚 |
---|
| MqsG-1736732779920 |
---|
| MqsG-1736732779920 |
---|
|
Image Modified
锚 |
---|
| m6Lj-1736732779925 |
---|
| m6Lj-1736732779925 |
---|
|
是不是好多条,都是干嘛用的?我实际也没这么多条SQL啊!别急别急,容我解释下。我们先看描述。
锚 |
---|
| OCxR-1736733061714 |
---|
| OCxR-1736733061714 |
---|
|
描述里,
SQLTupleReader.readTuples开头的,比如我们在即席查询里勾选了【产品类别】和【产品名称】,那么这里就是表示是按照我们勾选的【产品类别】和【产品名称】维度进行聚合,获取的是【产品类别】和【产品名称】两个维度的组合,这样多维引擎,也就是OLAP,就构造了一个包含【产品类别】和【产品名称】两个维度的立方体,就从这个立方体里取数。通常这里的很少用到这里的,可先忽略不计。
锚 |
---|
| QBhU-1736733318518 |
---|
| QBhU-1736733318518 |
---|
|
另一个描述,
Segment.load,则是我们需要关注的SQL,那么多条,是因为要分页取数,行数不太一样是因为要查询的条件不一样,这里我们可以先取
SQLTupleReader.readTuples最近的一条,复制了之后去数据模型那边的SQL查询选下数据源执行,或者是去JDBC方式连接的数据库工具里跑跑看看数据对不对啊啥的,数据库工具就比如是
,DBeaver,DBvisualizer等等:
锚 |
---|
| Ttbc-1736733254507 |
---|
| Ttbc-1736733254507 |
---|
|
Image Modified
锚 |
---|
| jrBI-1736733254511 |
---|
| jrBI-1736733254511 |
---|
|
那,MDX运行示例是用来干啥的?这个是检查MDX的,可以从MDX查询监控那里点击测试MDX直接跳转,就会带着监控里对应的MDX跳转过来了,有显示生成的MDX和对应的运行结果,至于里面的MDX怎么看,就涉及到MDX语法啥的啦,想要了解的朋友可以移步我们官方支持的文档,或者去看看微软官方的关于多维查询的介绍,这里就不长篇大论了:
锚 |
---|
| S8j6-1736734615324 |
---|
| S8j6-1736734615324 |
---|
|
Image Modified
锚 |
---|
| 2Apo-1736734615328 |
---|
| 2Apo-1736734615328 |
---|
|
来个例子 锚 |
---|
| 7pfR-1736817356858 |
---|
| 7pfR-1736817356858 |
---|
|
长篇大论这么多,估计还是很懵逼,到底怎么查。来个例子套一套公式你就知道了。小帅在做透视分析,发现怎么只有华北的数据,但是数据库也不止华北啊,报表我也没有参数条件,到底是谁偷了其他数据。
锚 |
---|
| rmIQ-1736820968435 |
---|
| rmIQ-1736820968435 |
---|
|
Image Modified 锚 |
---|
| zh1t-1736821491995 |
---|
| zh1t-1736821491995 |
---|
|
Image Modified
锚 |
---|
| dtgk-1736821491999 |
---|
| dtgk-1736821491999 |
---|
|
然后我们按上面方式监控,SQL监控是下面这种情况,也就是,现在走的是多维模型,那就得去OLAP监控那边看了,那就转战OLAP监控。
锚 |
---|
| ADv8-1736820803942 |
---|
| ADv8-1736820803942 |
---|
|
Image Modified
锚 |
---|
| 2YdR-1736820803947 |
---|
| 2YdR-1736820803947 |
---|
|
首先我们看到了MDX查询监控中,找到对应查询的语句,然后获取到那个编号,再切换到SQL监控中。
锚 |
---|
| BW3I-1736821171962 |
---|
| BW3I-1736821171962 |
---|
|
Image Modified
锚 |
---|
| LQCB-1736821246385 |
---|
| LQCB-1736821246385 |
---|
|
接着我们把那个查询编号,去SQL监控中,查询出来对应编号的SQL,现在是有两条,其中下面那个就是上面说到查询维度的,我们可以先不看,我们看上面那条,这里我们发现,模型实际上是有个条件,过滤了华北的,这个时候我们再倒回模型去看。
锚 |
---|
| HFZB-1736821357999 |
---|
| HFZB-1736821357999 |
---|
|
Image Modified
锚 |
---|
| 14YR-1736821238465 |
---|
| 14YR-1736821238465 |
---|
|
首先我们打开模型看到,是一个SQL查询来的,那问题估计就是出现在SQL查询里面了,我们打开看看。
锚 |
---|
| dWQM-1736821894575 |
---|
| dWQM-1736821894575 |
---|
|
Image Modified
锚 |
---|
| nin3-1736821660536 |
---|
| nin3-1736821660536 |
---|
|
打开SQL查询后,欸,怎么有个华北的值,执行出来这里那就是只有华北的数据了,问题就在这了。
锚 |
---|
| kCJO-1736821738048 |
---|
| kCJO-1736821738048 |
---|
|
Image Modified
锚 |
---|
| NCge-1736821738053 |
---|
| NCge-1736821738053 |
---|
|
这里就衍生出另一个问题,为啥我这里配置了参数,报表层面没得让我勾选呢?这就要说说我们的参数定义了,我们的参数定义啊,你可以理解为,里面的子查询,也就是SQL查询、可视化SQL查询这些,里面得先占个参数的坑。占好之后,得要有个正主来用,那就要到模型那里参数设置,映射出来,就是模型工具栏的设置参数。
锚 |
---|
| QfGr-1736822192004 |
---|
| QfGr-1736822192004 |
---|
|
Image Modified
锚 |
---|
| IFfk-1736822161656 |
---|
| IFfk-1736822161656 |
---|
|
进去之后那就简单了,有个一键映射的按钮,点击之后,会自动把里面子查询的参数映射出来,那这个时候该修改控件类型就修改控件类型,该改备选值就改备选值。
锚 |
---|
| aNUW-1736822236601 |
---|
| aNUW-1736822236601 |
---|
|
Image Modified
锚 |
---|
| XUKj-1736822236605 |
---|
| XUKj-1736822236605 |
---|
|
映射好保存好,报表层面资源树那里就可以去勾选参数了,勾选了用户就能自己去切换了。
锚 |
---|
| B9uZ-1736822450130 |
---|
| B9uZ-1736822450130 |
---|
|
Image Modified
锚 |
---|
| uUUi-1736822450134 |
---|
| uUUi-1736822450134 |
---|
|
怎么样,结合例子来看其实没这么复杂了,上面的例子只是简单的入个门,如果想要了解更多的排查例子,可以移步我们官网wiki里翻一翻了。
锚 |
---|
wba7-1736824033657 | wba7-1736824033657 | 我们后续会带来更多的分享,各位可以多多关注~在我们新的一篇分享来之前,要准备春节了,这里就先预祝各位新春快乐,身体健康,万事如意,下回年后再见!