原文towardsdatascience.com/the-ten-commandments-for-power-bi-reporting-508cbe81f7e7?sourcecollection_archive---------5-----------------------#2024-12-03我曾多次被问及创建报告解决方案时的一些基本规则。通常我会回答“嗯这并不简单。”但现在我开始写下这些规则了。https://medium.com/salvatorecagliari?sourcepost_page---byline--508cbe81f7e7--------------------------------https://towardsdatascience.com/?sourcepost_page---byline--508cbe81f7e7-------------------------------- Salvatore Cagliari·发布于Towards Data Science ·阅读时间 11 分钟 ·2024 年 12 月 3 日–https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/05db6557dd53a262f95b359d9e8da4be.png图片来自Mark Duffel 在Unsplash引言虽然我不是宗教信徒但拥有一组漂亮且均衡的规则数量这个原则令人着迷。因此在这里你会看到为创建报告解决方案制定的十条规则。作为一名 Power BI 专家我对这个工具最为了解但我会尽力以最通用的方式制定规则。如果我做得不够完美请耐心等待。1. 你应当向用户询问他的问题以便回答。当开始一个新的 BI/报告/AI 项目时必须向客户、利益相关者或用户提出的核心问题是你希望用新的解决方案回答哪些问题如果我们不知道请求的内容就无法判断数据是否能够支持提供答案。否则我们无法评估从源系统中需要哪些数据。不要害怕问更多问题而不是更少的问题。一个额外的问题可以让你避免失败或比预期做更多的工作。2. 你应当了解数据在加载之前我们应该分析数据以了解其结构和模式。我们应该找出可能的层次结构、关键列最重要的是找出可以作为关系的关键列候选项。此外我们应该检查表之间关系中不匹配和缺失的键。如果数据作为一张大表提供处理起来会更容易因为如果我们保持这种形式就不会有任何关系。但更多细节将在第四条命令中讨论。3. 你应尽早对数据进行处理通常在将数据加载到我们选择的报告工具中时我们必须对其进行处理。无论使用何种工具我们都必须尽早执行这些数据处理操作。如果可能在从源系统提取数据时进行处理。如果不可能在加载过程中处理数据例如如果源是关系型数据库可以通过编写包含数据处理的 SQL 语句来进行处理。如果可能建立一个中介数据存储例如数据仓库以尽可能最干净的方式存储数据。如果这不可行使用报告工具中包含的工具。例如在使用 Power BI 时可以在 Power Query 中处理数据。作为最后的手段使用工具的功能例如计算列或表。有时在将数据加载到数据模型之前进行处理是不可能的或者太复杂。例如我们可能需要根据聚合或复杂的业务逻辑来计算数据。当然这是一个有效的例外理由。我见过最糟糕的情况是在从数据仓库加载数据时Power Query 中有大量的数据处理。这种加载过程非常缓慢我们必须计划使用 SQL 查询重建加载过程。4. 你应坚持使用简单的星型模式星型模式是在构建用户友好的报告数据模型时的首选方法。这里是一个简化的星型模式图https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/d87e0741f716ca4d2963e72181548c5d.png图 1 — 简单的星型模式包含一个事实表、一个日期表和四个维度表图示由作者提供如果你不了解这种方法这里有一个简短的介绍星型模式至少包含一个事实表。事实表位于中心包含所有可度量值的列。例如它可以是金额的数值或单位的计数。此外它还包含指向维度表的外键。一个事实表包含一系列事件。事件可以是交易、测量或旅行预订。维度表包含主键和描述性数据例如关于客户、产品、商店等的信息。事实表通过键列与维度表相连接。如上图所示每个星型模式至少包含一个日期表。日期表包含日期列表事实表中的每个事件都分配给一个日期。如果事件必须按小时或分钟级别进行分析则需要一个时间表时间表包含小时、分钟必要时还包括秒。维度表的优势在于某一个人或团队可以专注于一个维度而其他人则可以处理另一个维度。例如产品团队负责产品维度而客户中心则处理客户维度。通过这种方式最有能力的人可以专注于他们的专业以交付最佳的结果。关于星型模式还有很多内容值得了解。你可以在下面的参考部分找到关于 Microsoft Data Warehouse Toolkit 的链接。尽管这篇文章相对较旧且是在考虑微软产品的情况下写的但其中描述的原则依然有效且有价值。4.1. 你不应害怕数据冗余这是第四条戒律的一个子集因此它是 4.1。请看以下数据模型https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/7a8d8858476ed9b3afb2ebb9e4c96aa5.png图 2 — Power BI 中的数据模型。数据模型中标红的部分表示地理维度的双重使用。这可能会导致问题图由作者提供请查看标红的部分。如你所见地理维度与门店和客户维度相连接。虽然从数据库的角度来看这样做有意义可以减少冗余但在同时试图按门店地理和客户地理分析数据时这可能会导致问题。此外根据所使用的工具这可能需要额外的编码因为这两个关系在数据模型中会引起歧义事实表通过地理表从客户和门店维度都可以访问。一种解决方案是将所有需要的属性从地理维度复制到门店和客户这两个表中。尽管这会导致数据冗余但它使得报告工作更加轻松。此外数据模型的用户例如报告设计师或数据分析师更容易理解哪个国家/地区属性与门店或客户相关联。现在数据模型如下所示https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/94fb9b654274d421c6e89e4dec76fe0b.png图 3 — 没有地理维度但有冗余内容的数据模型。注意在门店和客户维度中都有的 ContinentName 属性图由作者提供5. 你应为数据模型的易用性做好准备正如第一条戒律所提到的核心问题是“如何回答用户的问题”因此数据模型应该在此基础上构建我如何才能最好地支持数据分析或者我该如何构建数据模型来支持答案的搜索此外在我的项目中我几乎总是收到来自业务用户的相同问题我如何创建自己的报告或数据分析我需要在技术要求之外构建数据模型以满足这一需求。我必须考虑用户的需求更重要的是考虑他们的能力、习惯和观点。这让我想起了第四条戒律构建星型模式。这种方法的优势在于它将描述性数据与事务和业务事件分开这使得搜索特定属性变得更加容易。6. 你应尽可能保持计算的简单性当你遵循第三条戒律时这可能是一个简单的任务。只要你将计算尽可能多地卸载到数据源和数据模型之间保持数据模型中的计算简洁这样有助于减少模型中的复杂计算。这在任何情况下都可能不实用也并不总是最佳方法如这里所述## Power BI 的预计算聚合 — 为什么你应该避免它们我的一个客户总是希望在他的 Excel 文件中预计算聚合以便生成报告。这里是我们应该避免的原因……towardsdatascience.com然而这可能是具有挑战性的。我在 Power BI 中的方法是添加附加列或创建计算列来支持我的度量值。例如我在日期表中创建了额外的列使得我的时间智能计算更加容易## 通过扩展日期表来改进报告的三种方式时间是最关键的报告维度。你可以通过一个良好的日期表扩展你的报告功能。towardsdatascience.com有时复杂的计算是不可避免的。在最后一天我遇到了一个度量值的挑战。随着开发进度的推进我在某一点停下了因为代码变得越来越复杂。我休息了一下和同事们聊了聊找到了一个更简单的方法。新的方法将 DAX 代码缩短到了原来的一三。避免编写复杂的表达式的陷阱。可能会有更优雅、更直接的解决方案。7. 你应该为你的标准报告页面定义一个模板当作为团队工作并开发多个报告时这一点非常重要。从模板开始。在 Power BI 中我们可以从现有报告创建模板[## 在 Power BI Desktop 中创建并使用报告模板 - Power BI学习如何使用 Power BI Desktop 模板通过为新报告的布局创建报告模板来简化工作…learn.microsoft.com](https://learn.microsoft.com/en-us/power-bi/create-reports/desktop-templates?sourcepost_page-----508cbe81f7e7--------------------------------)这样的模板应该包含你公司使用的默认字体。默认颜色按照你的企业设计。其他元素如公司标志或背景图片根据你的企业形象和设计。如果你正在构建数据模型一个标准的日期表。每个开发者都应该使用的其他表格。只要你不使用版本控制工具如 GitHub、GitLab、Azure DevOps 或其他任何工具可以添加一个带有更改日志的报告页面或其他存储更改日志的地方。确保所有开发者都知道模板存放的位置并且他们正在使用它。8. 你不应该在报告中过度使用颜色。你知道 IBCS 吗## IBCS - 国际商业沟通标准对于外观各异的报告、演示文稿和仪表板感到厌倦了吗采用#SolidOutlinedHatched全球…www.ibcs.com这是描述如何设计高效报告的一套规则。一个规则是谨慎使用颜色。一旦开始使用颜色就要考虑视力障碍用户。我的意思是那些患有色盲的人。看看这些统计数据了解多少人患有色盲## 色盲的流行情况全球和地区统计色盲或色觉缺陷CVD影响全球数百万人。它的特点是…www.visioncenter.org创建一个没有颜色且仅使用灰度的 PDF。如果你在区分颜色上有困难可能需要考虑更改颜色。此外任何在日常生活中有意义的颜色在与不同含义一起使用时应该避免。例如红色、绿色和黄色。这些颜色在日常生活中有明确的含义应根据实际情况使用红色代表负数黄色代表警告绿色代表正数。如果你想展示一个没有意义的数字使用蓝色。例如在没有定义的情况下显示偏差时正数是好是坏。不要使用过于明亮的颜色如霓虹绿或类似颜色。它们会让用户分心无法关注你想通过报告传达的信息。9. 你应该专注于回答用户的问题。如第一条和第五条命令所述用户是中心。展示数据是很容易的只要让它看起来吸引人。然而当数字及其呈现方式对用户没有用时它们是毫无意义的并且浪费时间。问他们需要了解什么。尽早在项目中进行。强调他们决策的重要性。确保理解工作流程以及他们需要了解的内容。和他们交谈你从用户那里获得的见解越多项目就越有可能成功。当你花费了无数小时和天数构建一个好的解决方案而没有人使用它时这真的很遗憾。10. 你不应严格遵循任何规则总是有例外。当你开始项目时上述大多数命令都会受到审视。有时当偏离严格规则会带来更好的效果时遵循规则就显得毫无意义。艺术在于知道何时以及在什么程度上应偏离规则。但要利用你的知识和直觉来判断在你的特定场景和现有需求下哪种方法是正确的。这不是一门宗教这些规则没有教条。但要注意过早偏离可能是错误的做法。我曾经经历过一个情况我过早偏离了我的标准做法结果发现那是错误的决定。结论我希望你在阅读这篇文章时能像我写这篇文章时一样享受其中。这里列出了所有的命令你应该向用户询问问题以便回答你应该了解数据你应该尽早处理你的数据你应该坚持使用简单的星型模式你应该准备好易于使用的数据模型你应该尽可能简化计算你应该为标准报告页面定义一个模板你不应在报告中过度使用颜色你应该集中精力回答用户的问题你不应严格遵循任何规则制定这些我本能地遵循的规则是一项挑战。我还意识到了一点第十条命令是最重要的。作为顾问我最喜欢的回答是“这取决于情况。”尽管有些命令是基础性的比如第一、第二和第九条。其他命令则有一定的灵活性。例如拿第四条命令来说。我会尽量遵守它。但有时星型模式有性能缺陷只有通过替代建模才能解决。当报告的性能更好时没人会因为你的建模方法而对你做出不好的评价。然而在构建报告解决方案时无论使用什么工具都应从这些命令开始以建立一个坚实的基础。然后随着你知识的增长你将获得信心知道何时偏离这些规则。https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/4dd364c93428a6503411f10cdf8c4c16.png图片由Highlight ID提供来源于Unsplash参考文献《微软数据仓库工具包》[## 《微软数据仓库工具包》第二版 - 金博尔集团Joy Mundy 和 Warren Thornthwaite 共同编写了这本关于构建成功商业智能系统的指南……www.kimballgroup.com](https://www.kimballgroup.com/data-warehouse-business-intelligence-resources/books/microsoft-data-warehouse-dw-toolkit/?sourcepost_page-----508cbe81f7e7--------------------------------)Power BI 中日期表的要求[## Power BI Desktop 中日期表的设计指南 - Power BIPower BI Desktop 中创建日期表的技巧与指南。learn.microsoft.com](https://learn.microsoft.com/en-us/power-bi/guidance/model-date-tables?sourcepost_page-----508cbe81f7e7--------------------------------)我将我的文章开放给所有人即使 Medium 有付费墙。这让我能为每个读者赚取一点收入但我关闭了这个功能确保你可以免费阅读我的文章。我在晚上和周末写这些文章工作量很大。你可以通过以下方式支持我的工作buymeacoffee.com/salvatorecagliari或者扫描此二维码https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/e7ac062070dcd7a00dcf995ad7e95434.png任何支持都非常感激能帮助我腾出更多时间为你创作更多内容。非常感谢。
Power BI 报告的十条命令
原文towardsdatascience.com/the-ten-commandments-for-power-bi-reporting-508cbe81f7e7?sourcecollection_archive---------5-----------------------#2024-12-03我曾多次被问及创建报告解决方案时的一些基本规则。通常我会回答“嗯这并不简单。”但现在我开始写下这些规则了。https://medium.com/salvatorecagliari?sourcepost_page---byline--508cbe81f7e7--------------------------------https://towardsdatascience.com/?sourcepost_page---byline--508cbe81f7e7-------------------------------- Salvatore Cagliari·发布于Towards Data Science ·阅读时间 11 分钟 ·2024 年 12 月 3 日–https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/05db6557dd53a262f95b359d9e8da4be.png图片来自Mark Duffel 在Unsplash引言虽然我不是宗教信徒但拥有一组漂亮且均衡的规则数量这个原则令人着迷。因此在这里你会看到为创建报告解决方案制定的十条规则。作为一名 Power BI 专家我对这个工具最为了解但我会尽力以最通用的方式制定规则。如果我做得不够完美请耐心等待。1. 你应当向用户询问他的问题以便回答。当开始一个新的 BI/报告/AI 项目时必须向客户、利益相关者或用户提出的核心问题是你希望用新的解决方案回答哪些问题如果我们不知道请求的内容就无法判断数据是否能够支持提供答案。否则我们无法评估从源系统中需要哪些数据。不要害怕问更多问题而不是更少的问题。一个额外的问题可以让你避免失败或比预期做更多的工作。2. 你应当了解数据在加载之前我们应该分析数据以了解其结构和模式。我们应该找出可能的层次结构、关键列最重要的是找出可以作为关系的关键列候选项。此外我们应该检查表之间关系中不匹配和缺失的键。如果数据作为一张大表提供处理起来会更容易因为如果我们保持这种形式就不会有任何关系。但更多细节将在第四条命令中讨论。3. 你应尽早对数据进行处理通常在将数据加载到我们选择的报告工具中时我们必须对其进行处理。无论使用何种工具我们都必须尽早执行这些数据处理操作。如果可能在从源系统提取数据时进行处理。如果不可能在加载过程中处理数据例如如果源是关系型数据库可以通过编写包含数据处理的 SQL 语句来进行处理。如果可能建立一个中介数据存储例如数据仓库以尽可能最干净的方式存储数据。如果这不可行使用报告工具中包含的工具。例如在使用 Power BI 时可以在 Power Query 中处理数据。作为最后的手段使用工具的功能例如计算列或表。有时在将数据加载到数据模型之前进行处理是不可能的或者太复杂。例如我们可能需要根据聚合或复杂的业务逻辑来计算数据。当然这是一个有效的例外理由。我见过最糟糕的情况是在从数据仓库加载数据时Power Query 中有大量的数据处理。这种加载过程非常缓慢我们必须计划使用 SQL 查询重建加载过程。4. 你应坚持使用简单的星型模式星型模式是在构建用户友好的报告数据模型时的首选方法。这里是一个简化的星型模式图https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/d87e0741f716ca4d2963e72181548c5d.png图 1 — 简单的星型模式包含一个事实表、一个日期表和四个维度表图示由作者提供如果你不了解这种方法这里有一个简短的介绍星型模式至少包含一个事实表。事实表位于中心包含所有可度量值的列。例如它可以是金额的数值或单位的计数。此外它还包含指向维度表的外键。一个事实表包含一系列事件。事件可以是交易、测量或旅行预订。维度表包含主键和描述性数据例如关于客户、产品、商店等的信息。事实表通过键列与维度表相连接。如上图所示每个星型模式至少包含一个日期表。日期表包含日期列表事实表中的每个事件都分配给一个日期。如果事件必须按小时或分钟级别进行分析则需要一个时间表时间表包含小时、分钟必要时还包括秒。维度表的优势在于某一个人或团队可以专注于一个维度而其他人则可以处理另一个维度。例如产品团队负责产品维度而客户中心则处理客户维度。通过这种方式最有能力的人可以专注于他们的专业以交付最佳的结果。关于星型模式还有很多内容值得了解。你可以在下面的参考部分找到关于 Microsoft Data Warehouse Toolkit 的链接。尽管这篇文章相对较旧且是在考虑微软产品的情况下写的但其中描述的原则依然有效且有价值。4.1. 你不应害怕数据冗余这是第四条戒律的一个子集因此它是 4.1。请看以下数据模型https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/7a8d8858476ed9b3afb2ebb9e4c96aa5.png图 2 — Power BI 中的数据模型。数据模型中标红的部分表示地理维度的双重使用。这可能会导致问题图由作者提供请查看标红的部分。如你所见地理维度与门店和客户维度相连接。虽然从数据库的角度来看这样做有意义可以减少冗余但在同时试图按门店地理和客户地理分析数据时这可能会导致问题。此外根据所使用的工具这可能需要额外的编码因为这两个关系在数据模型中会引起歧义事实表通过地理表从客户和门店维度都可以访问。一种解决方案是将所有需要的属性从地理维度复制到门店和客户这两个表中。尽管这会导致数据冗余但它使得报告工作更加轻松。此外数据模型的用户例如报告设计师或数据分析师更容易理解哪个国家/地区属性与门店或客户相关联。现在数据模型如下所示https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/94fb9b654274d421c6e89e4dec76fe0b.png图 3 — 没有地理维度但有冗余内容的数据模型。注意在门店和客户维度中都有的 ContinentName 属性图由作者提供5. 你应为数据模型的易用性做好准备正如第一条戒律所提到的核心问题是“如何回答用户的问题”因此数据模型应该在此基础上构建我如何才能最好地支持数据分析或者我该如何构建数据模型来支持答案的搜索此外在我的项目中我几乎总是收到来自业务用户的相同问题我如何创建自己的报告或数据分析我需要在技术要求之外构建数据模型以满足这一需求。我必须考虑用户的需求更重要的是考虑他们的能力、习惯和观点。这让我想起了第四条戒律构建星型模式。这种方法的优势在于它将描述性数据与事务和业务事件分开这使得搜索特定属性变得更加容易。6. 你应尽可能保持计算的简单性当你遵循第三条戒律时这可能是一个简单的任务。只要你将计算尽可能多地卸载到数据源和数据模型之间保持数据模型中的计算简洁这样有助于减少模型中的复杂计算。这在任何情况下都可能不实用也并不总是最佳方法如这里所述## Power BI 的预计算聚合 — 为什么你应该避免它们我的一个客户总是希望在他的 Excel 文件中预计算聚合以便生成报告。这里是我们应该避免的原因……towardsdatascience.com然而这可能是具有挑战性的。我在 Power BI 中的方法是添加附加列或创建计算列来支持我的度量值。例如我在日期表中创建了额外的列使得我的时间智能计算更加容易## 通过扩展日期表来改进报告的三种方式时间是最关键的报告维度。你可以通过一个良好的日期表扩展你的报告功能。towardsdatascience.com有时复杂的计算是不可避免的。在最后一天我遇到了一个度量值的挑战。随着开发进度的推进我在某一点停下了因为代码变得越来越复杂。我休息了一下和同事们聊了聊找到了一个更简单的方法。新的方法将 DAX 代码缩短到了原来的一三。避免编写复杂的表达式的陷阱。可能会有更优雅、更直接的解决方案。7. 你应该为你的标准报告页面定义一个模板当作为团队工作并开发多个报告时这一点非常重要。从模板开始。在 Power BI 中我们可以从现有报告创建模板[## 在 Power BI Desktop 中创建并使用报告模板 - Power BI学习如何使用 Power BI Desktop 模板通过为新报告的布局创建报告模板来简化工作…learn.microsoft.com](https://learn.microsoft.com/en-us/power-bi/create-reports/desktop-templates?sourcepost_page-----508cbe81f7e7--------------------------------)这样的模板应该包含你公司使用的默认字体。默认颜色按照你的企业设计。其他元素如公司标志或背景图片根据你的企业形象和设计。如果你正在构建数据模型一个标准的日期表。每个开发者都应该使用的其他表格。只要你不使用版本控制工具如 GitHub、GitLab、Azure DevOps 或其他任何工具可以添加一个带有更改日志的报告页面或其他存储更改日志的地方。确保所有开发者都知道模板存放的位置并且他们正在使用它。8. 你不应该在报告中过度使用颜色。你知道 IBCS 吗## IBCS - 国际商业沟通标准对于外观各异的报告、演示文稿和仪表板感到厌倦了吗采用#SolidOutlinedHatched全球…www.ibcs.com这是描述如何设计高效报告的一套规则。一个规则是谨慎使用颜色。一旦开始使用颜色就要考虑视力障碍用户。我的意思是那些患有色盲的人。看看这些统计数据了解多少人患有色盲## 色盲的流行情况全球和地区统计色盲或色觉缺陷CVD影响全球数百万人。它的特点是…www.visioncenter.org创建一个没有颜色且仅使用灰度的 PDF。如果你在区分颜色上有困难可能需要考虑更改颜色。此外任何在日常生活中有意义的颜色在与不同含义一起使用时应该避免。例如红色、绿色和黄色。这些颜色在日常生活中有明确的含义应根据实际情况使用红色代表负数黄色代表警告绿色代表正数。如果你想展示一个没有意义的数字使用蓝色。例如在没有定义的情况下显示偏差时正数是好是坏。不要使用过于明亮的颜色如霓虹绿或类似颜色。它们会让用户分心无法关注你想通过报告传达的信息。9. 你应该专注于回答用户的问题。如第一条和第五条命令所述用户是中心。展示数据是很容易的只要让它看起来吸引人。然而当数字及其呈现方式对用户没有用时它们是毫无意义的并且浪费时间。问他们需要了解什么。尽早在项目中进行。强调他们决策的重要性。确保理解工作流程以及他们需要了解的内容。和他们交谈你从用户那里获得的见解越多项目就越有可能成功。当你花费了无数小时和天数构建一个好的解决方案而没有人使用它时这真的很遗憾。10. 你不应严格遵循任何规则总是有例外。当你开始项目时上述大多数命令都会受到审视。有时当偏离严格规则会带来更好的效果时遵循规则就显得毫无意义。艺术在于知道何时以及在什么程度上应偏离规则。但要利用你的知识和直觉来判断在你的特定场景和现有需求下哪种方法是正确的。这不是一门宗教这些规则没有教条。但要注意过早偏离可能是错误的做法。我曾经经历过一个情况我过早偏离了我的标准做法结果发现那是错误的决定。结论我希望你在阅读这篇文章时能像我写这篇文章时一样享受其中。这里列出了所有的命令你应该向用户询问问题以便回答你应该了解数据你应该尽早处理你的数据你应该坚持使用简单的星型模式你应该准备好易于使用的数据模型你应该尽可能简化计算你应该为标准报告页面定义一个模板你不应在报告中过度使用颜色你应该集中精力回答用户的问题你不应严格遵循任何规则制定这些我本能地遵循的规则是一项挑战。我还意识到了一点第十条命令是最重要的。作为顾问我最喜欢的回答是“这取决于情况。”尽管有些命令是基础性的比如第一、第二和第九条。其他命令则有一定的灵活性。例如拿第四条命令来说。我会尽量遵守它。但有时星型模式有性能缺陷只有通过替代建模才能解决。当报告的性能更好时没人会因为你的建模方法而对你做出不好的评价。然而在构建报告解决方案时无论使用什么工具都应从这些命令开始以建立一个坚实的基础。然后随着你知识的增长你将获得信心知道何时偏离这些规则。https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/4dd364c93428a6503411f10cdf8c4c16.png图片由Highlight ID提供来源于Unsplash参考文献《微软数据仓库工具包》[## 《微软数据仓库工具包》第二版 - 金博尔集团Joy Mundy 和 Warren Thornthwaite 共同编写了这本关于构建成功商业智能系统的指南……www.kimballgroup.com](https://www.kimballgroup.com/data-warehouse-business-intelligence-resources/books/microsoft-data-warehouse-dw-toolkit/?sourcepost_page-----508cbe81f7e7--------------------------------)Power BI 中日期表的要求[## Power BI Desktop 中日期表的设计指南 - Power BIPower BI Desktop 中创建日期表的技巧与指南。learn.microsoft.com](https://learn.microsoft.com/en-us/power-bi/guidance/model-date-tables?sourcepost_page-----508cbe81f7e7--------------------------------)我将我的文章开放给所有人即使 Medium 有付费墙。这让我能为每个读者赚取一点收入但我关闭了这个功能确保你可以免费阅读我的文章。我在晚上和周末写这些文章工作量很大。你可以通过以下方式支持我的工作buymeacoffee.com/salvatorecagliari或者扫描此二维码https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/e7ac062070dcd7a00dcf995ad7e95434.png任何支持都非常感激能帮助我腾出更多时间为你创作更多内容。非常感谢。