|
|
1
2
这是我的经验: 我一直认为dw应该是所有数据所在的位置。然后 任何 客户机工具可以使用该dw并得到相同的答案。 我在最近的一个项目中遇到了同样的问题:生成“去年同一天”类型的计算(以及YTD、FIN YTD等)。SQL Server似乎是放置这些“稀疏”事实的显而易见的地方,但正如我发现的(正如您所发现的),稀疏度随着维度的增加而变得越来越大和越来越复杂,最终会使大小膨胀。 和 不断地回来追查那些遗漏的稀奇古怪的事实,最糟糕的是,必须想出奇怪的“分配”规则,将措施降低到所需的详细程度。 IMHO DAX是这样做的地方,但是在学习语言时有很多痛苦,特别是你来自传统的关系背景。但是我真的认为这是自SQL以来最好的事情,如果你能越过学习曲线的话。 使用DAX而不是DW的一个最明显的优点是DAX在运行时识别出客户机工具(在Power BI、Excel或其他工具中)中当前的过滤器是什么,并且可以自动调整它的计算。很明显,你不能用DW中的数字来实现这一点。例如,您可以识别特定日期筛选的人员、图表或行,因此您当前的年度/以前的计算将根据日期自动计算正确的本年迄今。 DAX有许多“日历”类型的功能(称为“时间智能”),但它们只适用于特定类型的日历,并且有很多 constraints ,所以通常您最终需要创建自己的日历表并围绕该日历表构建函数。 我的建议是从这里开始: https://www.daxpatterns.com/ 尝试在DAX中生成一些YTD计算
PowerBi已经有了一个(必需的)建模层,可以在内部有效地使用SSAS表格,因此 已经 有一个额外的逻辑层。它与报告层使用相同的工具。区别在于,目前仅在PowerBI中进行建模并不是“企业”方法。Power BI不支持诸如模型版本控制、分区负载、高级行级安全性等功能(尽管谁知道下个月会带来什么) 只要你控制层,它们就不是坏事。否则,我们应该回到单块COBOL程序。 当然有可能 开始 只在Power BI中进行建模,然后在后期需要特性、控制和可伸缩性时,迁移到SSAS表格。 需要考虑的一点是,在Azure中,SSAS表格式PaaS提供的服务可能会非常昂贵,但是如果您需要分区加载(即,仅在本周将数据加载到具有大量历史记录的非常大的多维数据集中),则需要使用它。
我想体系结构将在视图中定义记录。这有很多明显的下降。有一个“稀疏”指示符,但它只是为具有大量空值的字段优化存储,这种情况甚至可能不是这样。
您肯定需要一个定义会计年度的综合日历表
如果您只想按日历期间(1月1日至12月31日)报告,那么内置时间智能是“固有的”,但是如果您想按会计期间报告,则不能使用时间智能。不管怎样,您仍然需要定义DAX计算。他们可以得到 真的? 大的 |
|
2
2
首先,SSAS表格和POWER BI使用相同的引擎。所以它们同样适用。 使用大量分类属性中的任何一个,定义可以跨数据片计算的度量值的能力,是您希望在SQL Server前面使用SSAS表格或Power BI之类的东西的主要原因之一。(其他功能包括缓存、简化最终用户报告、跨源混合数据的能力以及自定义安全性。) 理想情况下,SQL Server应该提供事实以及到任何维度表(包括日期维度表)的单列联接。然后,power-bi/ssas表格将DAX度量定义、过滤器流行为以及可能的行级安全性分层。 |
|
|
RRG · 雪花数据仓库模式中的多个公共表? 8 年前 |
|
|
Rachel · 如何使用维度中的代理项键填充事实表 8 年前 |
|
|
WhatsUp · 数据仓库设计-多个查找值 8 年前 |
|
|
user2263025 · Azure SQL数据仓库计算列错误 8 年前 |
|
|
boethius · 在包含连接的表上执行增量Sqoop? 8 年前 |
|
|
Ahmad Qasim · 如何使用talend获得这样的输出 8 年前 |
|
|
dead mah · 有人能帮我解决这个错误吗 9 年前 |