sql - 如何在SSAS多维中显示实际上没有值的维度成员?

标签 sql ssas olap

我的票务管理应用程序中有两个表:“ExpositionPeriods”和“OrganizedVisits”。

ExpositionPeriods - 定义可以购买门票的时间段。

OrganizedVisits - 存储购买的门票信息。

在下面的示例中,我们有 5 个可用时段,并且已购买其中 2 个时段的门票。

enter image description here

客户想要一份显示“每个可用时段的访问者数量”的报告。这意味着,如果对于没有访客的任何时间段,该时间段的报告应显示“0”。像这样的东西。

enter image description here

到目前为止一切顺利。由于生产数据库非常庞大(~500 GB),因此不建议直接报告该数据库。当我根据此架构创建 OLAP 多维数据集并尝试在多维数据集中实现相同的报表功能时,事情变得具有挑战性。看来多维数据集实际上执行类似于 SQL INNER JOIN 的操作,而不是 LEFT OUTER JOIN,因此我看不到那些没有售票的期间。

enter image description here

这就是 SSAS 的实际行为方式吗?我是否遗漏了任何特定设置,这些设置将指示 SSAS 引擎以不同的方式处理多维数据集,以便也包含丢失的周期?请注意,最终客户无权访问 MDX/DAX 脚本,他们只能通过拖放度量和维度来使用多维数据集,就像在 Excel 数据透视表中一样。

最佳答案

在您的图像中,浏览器正在对日期维度上的行执行非空操作。如果您想显示没有访问者的日期,请选择显示空单元格的选项。

关于sql - 如何在SSAS多维中显示实际上没有值的维度成员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55862821/

相关文章:

ssas - 为什么我的筛选器无法与 Power BI、Power Pivot Excel 中的计算度量一起使用?

ssas - 加速运行总计 MDX 计算测量?

SSAS -> 一个人的年龄 -> 属性或度量或两者?

mysql - 如何比较不同字段的日期字段?

sql - 如何获得每天 2 列总计数的百分比?

sql - 更新和插入存储过程

sql - 数据仓库和OLAP、ROLAP

SSAS - 将 MDX 报告参数传递给 MDX 数据集查询

java - 如何通过 saiku 直接运行 MDX 查询

php - 当尝试按关系中的多个记录进行排序时,GROUP BY 子句并包含非聚合列