diff --git a/PBIXInspectorCLI/PBIXInspectorCLI.csproj b/PBIXInspectorCLI/PBIXInspectorCLI.csproj
index 8188006..225d664 100644
--- a/PBIXInspectorCLI/PBIXInspectorCLI.csproj
+++ b/PBIXInspectorCLI/PBIXInspectorCLI.csproj
@@ -8,9 +8,9 @@
Program
False
True
- 1.9.3.0
- 1.9.3
- 1.9.3
+ 1.9.4.0
+ 1.9.4
+ 1.9.4
$(VersionPrefix)
$(AssembblyName)
pbiinspector.ico
diff --git a/PBIXInspectorCLI/Program.cs b/PBIXInspectorCLI/Program.cs
index 671a75e..c1c9a17 100644
--- a/PBIXInspectorCLI/Program.cs
+++ b/PBIXInspectorCLI/Program.cs
@@ -1,7 +1,5 @@
using PBIXInspectorLibrary;
-using PBIXInspectorLibrary.Output;
using PBIXInspectorWinLibrary;
-using PBIXInspectorWinLibrary.Drawing;
using PBIXInspectorWinLibrary.Utils;
internal partial class Program
@@ -9,7 +7,7 @@ internal partial class Program
private static Args _parsedArgs = null;
private static void Main(string[] args)
- {
+ {
#if DEBUG
Console.WriteLine("Attach debugger to process? Press any key to continue.");
Console.ReadLine();
@@ -20,7 +18,7 @@ private static void Main(string[] args)
_parsedArgs = ArgsUtils.ParseArgs(args);
Welcome();
-
+
PBIXInspectorWinLibrary.Main.WinMessageIssued += Main_MessageIssued;
PBIXInspectorWinLibrary.Main.Run(_parsedArgs);
@@ -76,7 +74,7 @@ private static String FormatConsoleMessage(MessageTypeEnum messageType, string m
string template = _parsedArgs.ADOOutput ? Constants.ADOLogIssueTemplate : "{0}";
string msgType = _parsedArgs.ADOOutput ? messageType.ToString().ToLower() : messageType.ToString();
string msgSeparator = _parsedArgs.ADOOutput ? "" : ": ";
- string messageTypeFormat = string.Format(template,msgType);
+ string messageTypeFormat = string.Format(template, msgType);
return string.Concat(messageTypeFormat, msgSeparator, message);
}
diff --git a/PBIXInspectorLibrary/CustomRules/CountRule.cs b/PBIXInspectorLibrary/CustomRules/CountRule.cs
index 150642e..408152a 100644
--- a/PBIXInspectorLibrary/CustomRules/CountRule.cs
+++ b/PBIXInspectorLibrary/CustomRules/CountRule.cs
@@ -16,7 +16,7 @@ public class CountRule : Json.Logic.Rule
public CountRule(Json.Logic.Rule input)
{
- Input = input;
+ Input = input;
}
///
diff --git a/PBIXInspectorLibrary/CustomRules/DrillVariableRule.cs b/PBIXInspectorLibrary/CustomRules/DrillVariableRule.cs
index f0be026..41f3c3a 100644
--- a/PBIXInspectorLibrary/CustomRules/DrillVariableRule.cs
+++ b/PBIXInspectorLibrary/CustomRules/DrillVariableRule.cs
@@ -1,9 +1,8 @@
using Json.Logic;
+using Json.Pointer;
using System.Text.Json;
using System.Text.Json.Nodes;
using System.Text.Json.Serialization;
-using Json.Pointer;
-using System.Net.Http.Headers;
namespace PBIXInspectorLibrary.CustomRules;
@@ -67,7 +66,7 @@ internal DrillVariableRule(Json.Logic.Rule path, Json.Logic.Rule defaultValue)
{
//remove single quotes from beginning and end of string if any.
string strVal;
- if (val.ToString()!.StartsWith("'") && val.ToString()!.EndsWith("'"))
+ if (val.ToString()!.StartsWith("'") && val.ToString()!.EndsWith("'"))
{
strVal = val.ToString()!.Substring(1, val.ToString()!.Length - 2);
}
diff --git a/PBIXInspectorLibrary/CustomRules/RectangleOverlap.cs b/PBIXInspectorLibrary/CustomRules/RectangleOverlap.cs
index dc204ab..ca5d486 100644
--- a/PBIXInspectorLibrary/CustomRules/RectangleOverlap.cs
+++ b/PBIXInspectorLibrary/CustomRules/RectangleOverlap.cs
@@ -1,7 +1,7 @@
using Json.Logic;
using System.Drawing;
-using System.Text.Json.Nodes;
using System.Text.Json;
+using System.Text.Json.Nodes;
using System.Text.Json.Serialization;
namespace PBIXInspectorLibrary.CustomRules
diff --git a/PBIXInspectorLibrary/Exceptions/PbiFileEntryNotFoundException.cs b/PBIXInspectorLibrary/Exceptions/PbiFileEntryNotFoundException.cs
index e2d324b..339ca68 100644
--- a/PBIXInspectorLibrary/Exceptions/PbiFileEntryNotFoundException.cs
+++ b/PBIXInspectorLibrary/Exceptions/PbiFileEntryNotFoundException.cs
@@ -1,10 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace PBIXInspectorLibrary.Exceptions
+namespace PBIXInspectorLibrary.Exceptions
{
internal class PbiFileEntryNotFoundException : Exception
{
diff --git a/PBIXInspectorLibrary/Inspector.cs b/PBIXInspectorLibrary/Inspector.cs
index ee4d3e1..97068a7 100644
--- a/PBIXInspectorLibrary/Inspector.cs
+++ b/PBIXInspectorLibrary/Inspector.cs
@@ -4,9 +4,7 @@
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using PBIXInspectorLibrary.Output;
-using System.Linq.Expressions;
using System.Text;
-using System.Text.Json;
using System.Text.Json.Nodes;
namespace PBIXInspectorLibrary
@@ -39,7 +37,7 @@ public Inspector(string pbiFilePath, InspectionRules inspectionRules) : base(pbi
this._inspectionRules = inspectionRules;
AddCustomRulesToRegistry();
}
-
+
///
///
///
@@ -49,7 +47,7 @@ public Inspector(string pbiFilePath, string rulesFilePath) : base(pbiFilePath, r
{
this._pbiFilePath = pbiFilePath;
this._rulesFilePath = rulesFilePath;
-
+
try
{
var inspectionRules = this.DeserialiseRules(rulesFilePath);
@@ -83,19 +81,19 @@ private PbiFile InitPbiFile(string pbiFilePath)
//}
//else
//{
- switch (PbiFile.PBIFileType(pbiFilePath))
- {
- case PbiFile.PBIFileTypeEnum.PBIX:
- return new PbixFile(pbiFilePath);
- break;
- case PbiFile.PBIFileTypeEnum.PBIP:
- return new PbipFile(pbiFilePath);
- break;
- case PbiFile.PBIFileTypeEnum.PBIPReport:
- return new PbipReportFile(pbiFilePath);
- default:
- throw new PBIXInspectorException(string.Format("Could not determine the extension of PBI file with path \"{0}\".", pbiFilePath));
- }
+ switch (PbiFile.PBIFileType(pbiFilePath))
+ {
+ case PbiFile.PBIFileTypeEnum.PBIX:
+ return new PbixFile(pbiFilePath);
+ break;
+ case PbiFile.PBIFileTypeEnum.PBIP:
+ return new PbipFile(pbiFilePath);
+ break;
+ case PbiFile.PBIFileTypeEnum.PBIPReport:
+ return new PbipReportFile(pbiFilePath);
+ default:
+ throw new PBIXInspectorException(string.Format("Could not determine the extension of PBI file with path \"{0}\".", pbiFilePath));
+ }
//}
}
@@ -135,7 +133,7 @@ public IEnumerable Inspect()
{
string pbiEntryPath;
- switch (pbiFile.FileType)
+ switch (pbiFile.FileType)
{
case PbiFile.PBIFileTypeEnum.PBIX:
pbiEntryPath = entry.PbixEntryPath;
@@ -211,7 +209,7 @@ public IEnumerable Inspect()
var forEachDisplayName = !string.IsNullOrEmpty(rule.ForEachPathDisplayName) ? ExecuteTokensPath((JObject?)forEachToken, rule.Name, rule.ForEachPathDisplayName, rule.PathErrorWhenNoMatch) : null;
var strForEachDisplayName = forEachDisplayName != null ? forEachDisplayName[0].ToString() : string.Empty;
-
+
try
{
var tokens = ExecuteTokensPath(forEachToken, rule.Name, rule.Path, rule.PathErrorWhenNoMatch);
@@ -289,7 +287,7 @@ public IEnumerable Inspect()
}
}
- return testResults;
+ return testResults;
}
private MessageTypeEnum ConvertRuleLogType(string ruleLogType)
@@ -516,7 +514,7 @@ private JsonArray ConvertToJsonArray(List? tokens)
{
if (item.Value is JsonValue)
{
-
+
var value = item.Value.AsValue().Stringify();
//TODO: enable navigation to parent path
//while (value.StartsWith("."))
diff --git a/PBIXInspectorLibrary/MessageIssuedEventArgs.cs b/PBIXInspectorLibrary/MessageIssuedEventArgs.cs
index 79090c1..5d00552 100644
--- a/PBIXInspectorLibrary/MessageIssuedEventArgs.cs
+++ b/PBIXInspectorLibrary/MessageIssuedEventArgs.cs
@@ -10,7 +10,7 @@ public MessageIssuedEventArgs(string message, MessageTypeEnum messageType)
public string Message { get; private set; }
public MessageTypeEnum MessageType { get; private set; }
- public bool DialogOKResponse { get; set;}
+ public bool DialogOKResponse { get; set; }
}
public enum MessageTypeEnum
diff --git a/PBIXInspectorLibrary/PbiFile.cs b/PBIXInspectorLibrary/PbiFile.cs
index a8f5390..5df8e5d 100644
--- a/PBIXInspectorLibrary/PbiFile.cs
+++ b/PBIXInspectorLibrary/PbiFile.cs
@@ -1,11 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.IO.Compression;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace PBIXInspectorLibrary
+namespace PBIXInspectorLibrary
{
internal abstract class PbiFile : IDisposable
{
diff --git a/PBIXInspectorLibrary/PbixFile.cs b/PBIXInspectorLibrary/PbixFile.cs
index f39fab1..81176dc 100644
--- a/PBIXInspectorLibrary/PbixFile.cs
+++ b/PBIXInspectorLibrary/PbixFile.cs
@@ -1,11 +1,10 @@
-using System.Data;
-using System.IO.Compression;
+using System.IO.Compression;
namespace PBIXInspectorLibrary
{
internal class PbixFile : PbiFile, IDisposable
{
-
+
private ZipArchive _za = null;
private bool disposedValue;
@@ -63,7 +62,7 @@ protected virtual void Dispose(bool disposing)
}
}
-
+
// TODO: set large fields to null
disposedValue = true;
}
@@ -76,6 +75,6 @@ public override void Dispose()
GC.SuppressFinalize(this);
}
-
+
}
}
\ No newline at end of file
diff --git a/PBIXInspectorTests/AppUtilsTests.cs b/PBIXInspectorTests/AppUtilsTests.cs
new file mode 100644
index 0000000..458962b
--- /dev/null
+++ b/PBIXInspectorTests/AppUtilsTests.cs
@@ -0,0 +1,15 @@
+using PBIXInspectorWinLibrary.Utils;
+
+namespace PBIXInspectorTests
+{
+ [TestFixture]
+ public class AppUtilsTests
+ {
+ [Test]
+ public void AboutTest()
+ {
+ var about = AppUtils.About();
+ Assert.That(string.IsNullOrEmpty(about), Is.False);
+ }
+ }
+}
diff --git a/PBIXInspectorTests/CLIArgsUtilsTest.cs b/PBIXInspectorTests/CLIArgsUtilsTest.cs
index 92e44f8..4fb8bab 100644
--- a/PBIXInspectorTests/CLIArgsUtilsTest.cs
+++ b/PBIXInspectorTests/CLIArgsUtilsTest.cs
@@ -109,12 +109,12 @@ public void TestCLIArgsUtilsDefaults()
parsedArgs = ArgsUtils.ParseArgs(args);
- Assert.IsTrue(parsedArgs.CONSOLEOutput
- && !parsedArgs.Verbose
- && parsedArgs.DeleteOutputDirOnExit
+ Assert.IsTrue(parsedArgs.CONSOLEOutput
+ && !parsedArgs.Verbose
+ && parsedArgs.DeleteOutputDirOnExit
&& !string.IsNullOrEmpty(parsedArgs.OutputDirPath)
- && !parsedArgs.HTMLOutput
- && !parsedArgs.JSONOutput
+ && !parsedArgs.HTMLOutput
+ && !parsedArgs.JSONOutput
&& !parsedArgs.PNGOutput);
}
@@ -207,6 +207,63 @@ public void TestCLIArgsUtilsResolvePbiFilePathInput2()
Assert.IsTrue(resolvedPath == expectedPath);
}
+ [Test]
+ public void TestCLIArgsUtilsResolvePbiFilePathInput3()
+ {
+ string inputPath = @"C:\TEMP\VisOps\Sales - custom colours.Report\report.pbix";
+ string expectedPath = @"C:\TEMP\VisOps\Sales - custom colours.Report\report.pbix";
+ string resolvedPath = ArgsUtils.ResolvePbiFilePathInput(inputPath);
+
+ Assert.IsTrue(resolvedPath == expectedPath);
+ }
+
+ [Test]
+ public void TestCLIArgsUtilsSuccess_FormatsOption()
+ {
+ string[] args = "-pbipreport pbipPath -rules rulesPath -formats CONSOLE,HTML,PNG,JSON -verbose true".Split(" ");
+ var parsedArgs = ArgsUtils.ParseArgs(args);
+
+ Assert.True(parsedArgs.PBIFilePath.Equals("pbipPath", StringComparison.OrdinalIgnoreCase) && parsedArgs.RulesFilePath.Equals("rulesPath", StringComparison.OrdinalIgnoreCase) && parsedArgs.CONSOLEOutput && parsedArgs.HTMLOutput && parsedArgs.PNGOutput && parsedArgs.JSONOutput && parsedArgs.Verbose);
+ }
+
+ [Test]
+ public void TestCLIArgsUtilsSuccess_FormatsOptionMissing()
+ {
+ string[] args = "-pbipreport pbipPath -rules rulesPath -verbose true".Split(" ");
+ var parsedArgs = ArgsUtils.ParseArgs(args);
+
+ Assert.True(parsedArgs.PBIFilePath.Equals("pbipPath", StringComparison.OrdinalIgnoreCase) && parsedArgs.RulesFilePath.Equals("rulesPath", StringComparison.OrdinalIgnoreCase) && parsedArgs.CONSOLEOutput && !parsedArgs.HTMLOutput && !parsedArgs.PNGOutput && !parsedArgs.JSONOutput && parsedArgs.Verbose);
+ }
+
+ [Test]
+ public void TestCLIArgsUtilsSuccess_FormatsOptionUnparseable()
+ {
+ string[] args = "-pbipreport pbipPath -rules rulesPath -formats XYZ -verbose true".Split(" ");
+ var parsedArgs = ArgsUtils.ParseArgs(args);
+
+ Assert.True(parsedArgs.PBIFilePath.Equals("pbipPath", StringComparison.OrdinalIgnoreCase) && parsedArgs.RulesFilePath.Equals("rulesPath", StringComparison.OrdinalIgnoreCase) && parsedArgs.CONSOLEOutput && !parsedArgs.HTMLOutput && !parsedArgs.PNGOutput && !parsedArgs.JSONOutput && parsedArgs.Verbose);
+ }
+
+ [Test]
+ public void TestCLIArgsUtilsSuccess_VerboseOption()
+ {
+ string[] args = "-pbipreport pbipPath -rules rulesPath -verbose true".Split(" ");
+ var parsedArgs = ArgsUtils.ParseArgs(args);
+
+ Assert.True(parsedArgs.PBIFilePath.Equals("pbipPath", StringComparison.OrdinalIgnoreCase) && parsedArgs.RulesFilePath.Equals("rulesPath", StringComparison.OrdinalIgnoreCase) && parsedArgs.Verbose);
+ }
+
+ [Test]
+ public void TestCLIArgsUtilsSuccess_VerboseOptionFalse2()
+ {
+ string[] args = "-pbipreport pbipPath -rules rulesPath -verbose false".Split(" ");
+ var parsedArgs = ArgsUtils.ParseArgs(args);
+
+ Assert.True(parsedArgs.PBIFilePath.Equals("pbipPath", StringComparison.OrdinalIgnoreCase) && parsedArgs.RulesFilePath.Equals("rulesPath", StringComparison.OrdinalIgnoreCase) && !parsedArgs.Verbose);
+ }
+
+
}
}
-#pragma warning restore CS8602
\ No newline at end of file
+
+#pragma warning restore CS8602
\ No newline at end of file
diff --git a/PBIXInspectorTests/CustomRulesTests.cs b/PBIXInspectorTests/CustomRulesTests.cs
index 04cf991..41bee33 100644
--- a/PBIXInspectorTests/CustomRulesTests.cs
+++ b/PBIXInspectorTests/CustomRulesTests.cs
@@ -1,5 +1,5 @@
-using System.Text.Json.Nodes;
-using PBIXInspectorLibrary.CustomRules;
+using PBIXInspectorLibrary.CustomRules;
+using System.Text.Json.Nodes;
namespace PBIXInspectorTests
{
diff --git a/PBIXInspectorTests/Files/Inventory sample - fails.pbix b/PBIXInspectorTests/Files/Inventory sample - fails.pbix
index 1e16128..de67c05 100644
Binary files a/PBIXInspectorTests/Files/Inventory sample - fails.pbix and b/PBIXInspectorTests/Files/Inventory sample - fails.pbix differ
diff --git a/PBIXInspectorTests/Files/Inventory sample - passes.pbix b/PBIXInspectorTests/Files/Inventory sample - passes.pbix
new file mode 100644
index 0000000..638f742
Binary files /dev/null and b/PBIXInspectorTests/Files/Inventory sample - passes.pbix differ
diff --git a/PBIXInspectorTests/ImageUtilsTest.cs b/PBIXInspectorTests/ImageUtilsTest.cs
new file mode 100644
index 0000000..acfab19
--- /dev/null
+++ b/PBIXInspectorTests/ImageUtilsTest.cs
@@ -0,0 +1,27 @@
+using PBIXInspectorLibrary.Output;
+using PBIXInspectorWinLibrary.Drawing;
+
+namespace PBIXInspectorTests
+{
+ [TestFixture]
+ internal class ImageUtilsTest
+ {
+ [Test]
+ public void ConvertBitmapToBase64Test()
+ {
+ var bitmapPath = string.Empty;
+
+ ArgumentException ex = Assert.Throws(
+ () => ImageUtils.ConvertBitmapToBase64(bitmapPath));
+ }
+ [Test]
+ public void DrawReportPagesTest()
+ {
+ var fieldMapResults = new List();
+ var testResults = new List();
+ var outputDir = "";
+ ImageUtils.DrawReportPages(fieldMapResults, testResults, outputDir);
+ Assert.IsTrue(string.IsNullOrEmpty(outputDir));
+ }
+ }
+}
diff --git a/PBIXInspectorTests/JsonAssert.cs b/PBIXInspectorTests/JsonAssert.cs
index bb52323..d95f21a 100644
--- a/PBIXInspectorTests/JsonAssert.cs
+++ b/PBIXInspectorTests/JsonAssert.cs
@@ -20,8 +20,8 @@
//OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
//SOFTWARE.
-using System.Text.Json.Nodes;
using Json.More;
+using System.Text.Json.Nodes;
namespace PBIXInspectorTests
{
diff --git a/PBIXInspectorTests/PBIXInspectorTests.csproj b/PBIXInspectorTests/PBIXInspectorTests.csproj
index eb48b85..850c4dd 100644
--- a/PBIXInspectorTests/PBIXInspectorTests.csproj
+++ b/PBIXInspectorTests/PBIXInspectorTests.csproj
@@ -9,12 +9,37 @@
-
+
+ Never
+
+
+ Never
+
+
+ Never
+
+
+ Always
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+ PreserveNewest
+
+
+
+ PreserveNewest
+
+
PreserveNewest
-
-
+
+
PreserveNewest
-
+
@@ -46,6 +71,9 @@
PreserveNewest
+
+ PreserveNewest
+
PreserveNewest
@@ -88,7 +116,21 @@
-
+
+
+
+
+
+
+
+ Never
+
+
+ Never
+
+
+ PreserveNewest
+
diff --git a/PBIXInspectorTests/SuiteRunner.cs b/PBIXInspectorTests/SuiteRunner.cs
index 66f9010..e77770f 100644
--- a/PBIXInspectorTests/SuiteRunner.cs
+++ b/PBIXInspectorTests/SuiteRunner.cs
@@ -23,6 +23,7 @@
using PBIXInspectorLibrary;
using PBIXInspectorLibrary.Output;
using System.Text.Json;
+using System.Text.Json.Nodes;
namespace PBIXInspectorTests;
@@ -51,7 +52,7 @@ public void RunPbixTest(TestResult testResult)
#region PbipTestSuite
public static IEnumerable PbipTestSuite()
{
- string PBIPFilePath = @"Files\pbip\Inventory test.pbip";
+ string PBIPFilePath = @"Files\pbip\Inventory test.Report";
string RulesFilePath = @"Files\Inventory rules test.json";
Console.WriteLine("Running test suite...");
@@ -65,6 +66,153 @@ public void RunPbipTest(TestResult testResult)
}
#endregion
+ #region BasePassSuite
+ public static IEnumerable BasePassPBIXSuite()
+ {
+ string PBIXFilePath = @"Files\Inventory sample - passes.pbix";
+ string RulesFilePath = @"Files\Base-rules.json";
+
+ Console.WriteLine("Running base pass PBIX suite...");
+ return Suite(PBIXFilePath, RulesFilePath);
+ }
+
+ [TestCaseSource(nameof(BasePassPBIXSuite))]
+ public void RunBasePassPBIX(TestResult testResult)
+ {
+ Assert.True(testResult.Pass, testResult.Message);
+ }
+ #endregion
+
+ #region BaseFailSuite
+ public static IEnumerable BaseFailPBIXSuite()
+ {
+ string PBIXFilePath = @"Files\Inventory sample - fails.pbix";
+ string RulesFilePath = @"Files\Base-rules.json";
+
+ Console.WriteLine("Running base fail PBIX suite...");
+ return Suite(PBIXFilePath, RulesFilePath);
+ }
+
+ [TestCaseSource(nameof(BaseFailPBIXSuite))]
+ public void RunBaseFailPBIX(TestResult testResult)
+ {
+ RunBaseFail(testResult);
+ }
+
+ public static IEnumerable BaseFailPBIPSuite()
+ {
+ string PBIPFilePath = @"Files\pbip\Inventory sample - fails.Report";
+ string RulesFilePath = @"Files\Base-rules.json";
+
+ Console.WriteLine("Running base fail PBIP suite...");
+ return Suite(PBIPFilePath, RulesFilePath);
+ }
+
+ [TestCaseSource(nameof(BaseFailPBIPSuite))]
+ public void RunBaseFailPBIP(TestResult testResult)
+ {
+ RunBaseFail(testResult);
+ }
+
+ private void RunBaseFail(TestResult testResult)
+ {
+ string expected = "[]";
+ switch (testResult.RuleName)
+ {
+ case "Remove custom visuals which are not used in the report.":
+ expected = "[\"Aquarium1442671919391\"]";
+ JsonAssert.AreEquivalent(testResult.Actual, JsonNode.Parse(expected));
+ break;
+ case "Reduce the number of visible visuals on the page":
+ if (testResult.ParentName == "ReportSectionfb0835fa991786b43a3f")
+ {
+ Assert.False(testResult.Pass, testResult.Message);
+ }
+ else
+ {
+ Assert.True(testResult.Pass, testResult.Message);
+ }
+ break;
+ case "Reduce the number of objects within visuals":
+ if (testResult.ParentName == "ReportSection4602098ba1ff5a3805a9")
+ {
+ Assert.False(testResult.Pass, testResult.Message);
+ }
+ else
+ {
+ Assert.True(testResult.Pass, testResult.Message);
+ }
+ break;
+ case "Reduce usage of TopN filtering visuals by page":
+ if (testResult.ParentName == "ReportSection3440cc1dc4ec63ca3d06")
+ {
+ Assert.False(testResult.Pass, testResult.Message);
+ }
+ else
+ {
+ Assert.True(testResult.Pass, testResult.Message);
+ }
+ break;
+ case "Reduce usage of Advanced filtering visuals by page":
+ if (testResult.ParentName == "ReportSectiond7d52b137add50d28b88")
+ {
+ Assert.False(testResult.Pass, testResult.Message);
+ }
+ else
+ {
+ Assert.True(testResult.Pass, testResult.Message);
+ }
+ break;
+ case "Reduce number of pages per report":
+ Assert.True(testResult.Pass, testResult.Message);
+ break;
+ case "Avoid setting ‘Show items with no data’ on columns":
+ expected = "[\"797168e1f1e7658ceae6\",\"97ad01a2b8fbfca3220c\"]";
+ if (testResult.ParentName == "ReportSection5f326c8a8185db501ad9")
+ {
+ JsonAssert.AreEquivalent(testResult.Actual, JsonNode.Parse(expected));
+ }
+ else
+ {
+ Assert.True(testResult.Pass, testResult.Message);
+ }
+ break;
+ case "Tooltip and Drillthrough pages should be hidden":
+ if (testResult.ParentName == "ReportSectionadc267c0d12e40458799"
+ || testResult.ParentName == "ReportSection8952e5fd70dcea579d3b")
+ {
+ Assert.False(testResult.Pass, testResult.Message);
+ }
+ else
+ {
+ Assert.True(testResult.Pass, testResult.Message);
+ }
+ break;
+ case "Ensure charts use theme colours":
+ if (testResult.ParentName == "ReportSection6c3c3f97279fafdeeb57")
+ {
+ expected = "[\"1a67964cf02b6170c3b8\"]";
+ JsonAssert.AreEquivalent(testResult.Actual, JsonNode.Parse(expected));
+ }
+ else
+ {
+ Assert.True(testResult.Pass, testResult.Message);
+ }
+ break;
+ case "Ensure pages do not scroll vertically":
+ expected = "[\"Scrolling page\"]";
+ JsonAssert.AreEquivalent(testResult.Actual, JsonNode.Parse(expected));
+ break;
+ case "Ensure alternativeText has been defined for all visuals":
+ Assert.False(testResult.Pass, testResult.Message);
+ break;
+ default:
+ Assert.True(testResult.Pass, testResult.Message);
+ break;
+ }
+ }
+ #endregion
+
#region JsonLogicSuite
///
/// Test PBIX using the base JsonLogicTest file to make sure we didn't break JsonLogic
@@ -120,7 +268,6 @@ public static IEnumerable SampleSuite()
Console.WriteLine("Running sample suite...");
return Suite(PBIXFilePath, RulesFilePath);
}
-
[TestCaseSource(nameof(SampleSuite))]
public void RunSample(TestResult testResult)
@@ -146,25 +293,6 @@ public void RunBase(TestResult testResult)
}
#endregion
- #region BaseFailSuite
- //public static IEnumerable BaseFailSuite()
- //{
- // string PBIXFilePath = @"Files\Inventory sample - fails.pbix";
- // string RulesFilePath = @"Files\Base-rules.json";
-
- // Console.WriteLine("Running base fail suite...");
- // return Suite(PBIXFilePath, RulesFilePath);
- //}
-
-
- //[TestCaseSource(nameof(BaseFailSuite))]
- //public void RunFailSample(TestResult testResult)
- //{
- // Assert.False(testResult.Pass, testResult.Message);
- // //Assert.True(testResult.Actual)
- //}
- #endregion
-
public static IEnumerable Suite(string PBIXFilePath, string RulesFilePath)
{
try
diff --git a/PBIXInspectorWinForm/Files/pbip/Inventory sample - fails.Dataset/item.config.json b/PBIXInspectorWinForm/Files/pbip/Inventory sample - fails.Dataset/item.config.json
index 2fd6a4e..14daf22 100644
--- a/PBIXInspectorWinForm/Files/pbip/Inventory sample - fails.Dataset/item.config.json
+++ b/PBIXInspectorWinForm/Files/pbip/Inventory sample - fails.Dataset/item.config.json
@@ -1,4 +1,4 @@
{
"version": "1.0",
- "logicalId": "827e7cf1-5390-489a-a165-157063cc91cf"
+ "logicalId": "5aa99bad-2284-473f-85db-27ddd3d0bbae"
}
\ No newline at end of file
diff --git a/PBIXInspectorWinForm/Files/pbip/Inventory sample - fails.Report/item.config.json b/PBIXInspectorWinForm/Files/pbip/Inventory sample - fails.Report/item.config.json
index 6cdb1d8..068fbaa 100644
--- a/PBIXInspectorWinForm/Files/pbip/Inventory sample - fails.Report/item.config.json
+++ b/PBIXInspectorWinForm/Files/pbip/Inventory sample - fails.Report/item.config.json
@@ -1,4 +1,4 @@
{
"version": "1.0",
- "logicalId": "bb48391f-ebd1-4dd6-9359-5800bc5891ee"
+ "logicalId": "1000013e-6374-4adb-9417-9edf0b95be00"
}
\ No newline at end of file
diff --git a/PBIXInspectorWinForm/Files/pbip/Inventory sample - fails.Report/report.json b/PBIXInspectorWinForm/Files/pbip/Inventory sample - fails.Report/report.json
index a528dac..3f718b1 100644
--- a/PBIXInspectorWinForm/Files/pbip/Inventory sample - fails.Report/report.json
+++ b/PBIXInspectorWinForm/Files/pbip/Inventory sample - fails.Report/report.json
@@ -1,5 +1,5 @@
{
- "config": "{\"version\":\"5.42\",\"themeCollection\":{\"baseTheme\":{\"name\":\"CY22SU11\",\"version\":\"5.40\",\"type\":2}},\"activeSectionIndex\":12,\"defaultDrillFilterOtherVisuals\":true,\"slowDataSourceSettings\":{\"isCrossHighlightingDisabled\":false,\"isSlicerSelectionsButtonEnabled\":false,\"isFilterSelectionsButtonEnabled\":false,\"isFieldWellButtonEnabled\":false,\"isApplyAllButtonEnabled\":false},\"linguisticSchemaSyncVersion\":2,\"settings\":{\"isPersistentUserStateDisabled\":true,\"hideVisualContainerHeader\":false,\"useStylableVisualContainerHeader\":true,\"exportDataMode\":1,\"useNewFilterPaneExperience\":true,\"optOutNewFilterPaneExperience\":false,\"defaultFilterActionIsDataFilter\":true,\"useCrossReportDrillthrough\":false,\"allowChangeFilterTypes\":true,\"allowInlineExploration\":false,\"disableFilterPaneSearch\":false,\"enableDeveloperMode\":false,\"useEnhancedTooltips\":true,\"useDefaultAggregateDisplayName\":true},\"objects\":{\"section\":[{\"properties\":{\"verticalAlignment\":{\"expr\":{\"Literal\":{\"Value\":\"'Middle'\"}}}}}],\"outspacePane\":[{\"properties\":{\"expanded\":{\"expr\":{\"Literal\":{\"Value\":\"false\"}}}}}]}}",
+ "config": "{\"version\":\"5.42\",\"themeCollection\":{\"baseTheme\":{\"name\":\"CY22SU11\",\"version\":\"5.40\",\"type\":2}},\"activeSectionIndex\":6,\"defaultDrillFilterOtherVisuals\":true,\"slowDataSourceSettings\":{\"isCrossHighlightingDisabled\":false,\"isSlicerSelectionsButtonEnabled\":false,\"isFilterSelectionsButtonEnabled\":false,\"isFieldWellButtonEnabled\":false,\"isApplyAllButtonEnabled\":false},\"linguisticSchemaSyncVersion\":2,\"settings\":{\"isPersistentUserStateDisabled\":true,\"hideVisualContainerHeader\":false,\"useStylableVisualContainerHeader\":true,\"exportDataMode\":1,\"useNewFilterPaneExperience\":true,\"optOutNewFilterPaneExperience\":false,\"defaultFilterActionIsDataFilter\":true,\"useCrossReportDrillthrough\":false,\"allowChangeFilterTypes\":true,\"allowInlineExploration\":false,\"disableFilterPaneSearch\":false,\"enableDeveloperMode\":false,\"useEnhancedTooltips\":true,\"useDefaultAggregateDisplayName\":true},\"objects\":{\"section\":[{\"properties\":{\"verticalAlignment\":{\"expr\":{\"Literal\":{\"Value\":\"'Middle'\"}}}}}],\"outspacePane\":[{\"properties\":{\"expanded\":{\"expr\":{\"Literal\":{\"Value\":\"false\"}}}}}]}}",
"layoutOptimization": 0,
"pods": [
{
@@ -119,14 +119,32 @@
"ordinal": 4,
"visualContainers": [
{
- "config": "{\"name\":\"0e1feb172e192d6ea8cf\",\"layouts\":[{\"id\":0,\"position\":{\"x\":0,\"y\":430.93333333333334,\"z\":0,\"width\":1280,\"height\":288.7111111111111,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"columnChart\",\"projections\":{\"Category\":[{\"queryRef\":\"Inventory.Item\",\"active\":true}],\"Y\":[{\"queryRef\":\"Sum(Inventory.Quantity)\"}]},\"prototypeQuery\":{\"Version\":2,\"From\":[{\"Name\":\"i\",\"Entity\":\"Inventory\",\"Type\":0}],\"Select\":[{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Item\"},\"Name\":\"Inventory.Item\"},{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0},\"Name\":\"Sum(Inventory.Quantity)\"}],\"OrderBy\":[{\"Direction\":2,\"Expression\":{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0}}}]},\"drillFilterOtherVisuals\":true,\"hasDefaultSort\":true,\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Quantity Column chart'\"}}}}}],\"subTitle\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"true\"}}}}}]}}}",
+ "config": "{\"name\":\"0e1feb172e192d6ea8cf\",\"layouts\":[{\"id\":0,\"position\":{\"x\":0,\"y\":430.87027914614123,\"z\":0,\"width\":438.2266009852217,\"height\":288.9983579638752,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"columnChart\",\"projections\":{\"Category\":[{\"queryRef\":\"Inventory.Item\",\"active\":true}],\"Y\":[{\"queryRef\":\"Sum(Inventory.Quantity)\"}]},\"prototypeQuery\":{\"Version\":2,\"From\":[{\"Name\":\"i\",\"Entity\":\"Inventory\",\"Type\":0}],\"Select\":[{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Item\"},\"Name\":\"Inventory.Item\"},{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0},\"Name\":\"Sum(Inventory.Quantity)\"}],\"OrderBy\":[{\"Direction\":2,\"Expression\":{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0}}}]},\"drillFilterOtherVisuals\":true,\"hasDefaultSort\":true,\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Quantity Column chart'\"}}}}}],\"subTitle\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"true\"}}}}}]}}}",
"filters": "[{\"expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Entity\":\"Inventory\"}},\"Property\":\"Item\"}},\"filter\":{\"Version\":2,\"From\":[{\"Name\":\"subquery\",\"Expression\":{\"Subquery\":{\"Query\":{\"Version\":2,\"From\":[{\"Name\":\"i\",\"Entity\":\"Inventory\",\"Type\":0}],\"Select\":[{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Item\"},\"Name\":\"field\"}],\"OrderBy\":[{\"Direction\":2,\"Expression\":{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0}}}],\"Top\":2}}},\"Type\":2},{\"Name\":\"i\",\"Entity\":\"Inventory\",\"Type\":0}],\"Where\":[{\"Condition\":{\"In\":{\"Expressions\":[{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Item\"}}],\"Table\":{\"SourceRef\":{\"Source\":\"subquery\"}}}}}]},\"type\":\"TopN\",\"howCreated\":0,\"isHiddenInViewMode\":false}]",
- "height": 288.71,
- "width": 1280.00,
+ "height": 289.00,
+ "width": 438.23,
"x": 0.00,
- "y": 430.93,
+ "y": 430.87,
"z": 0.00
},
+ {
+ "config": "{\"name\":\"20d6273040453a220300\",\"layouts\":[{\"id\":0,\"position\":{\"x\":875.7126567844925,\"y\":430.55872291904217,\"z\":5002,\"width\":404.2873432155074,\"height\":288.98517673888256,\"tabOrder\":5002}}],\"singleVisual\":{\"visualType\":\"tableEx\",\"projections\":{\"Values\":[{\"queryRef\":\"Inventory.Item\"},{\"queryRef\":\"Sum(Inventory.Quantity)\"}]},\"prototypeQuery\":{\"Version\":2,\"From\":[{\"Name\":\"i\",\"Entity\":\"Inventory\",\"Type\":0}],\"Select\":[{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Item\"},\"Name\":\"Inventory.Item\"},{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0},\"Name\":\"Sum(Inventory.Quantity)\"}],\"OrderBy\":[{\"Direction\":2,\"Expression\":{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0}}}]},\"drillFilterOtherVisuals\":true,\"hasDefaultSort\":true,\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Quantity Column chart'\"}}}}}],\"subTitle\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"true\"}}}}}]}}}",
+ "filters": "[{\"expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Entity\":\"Inventory\"}},\"Property\":\"Item\"}},\"filter\":{\"Version\":2,\"From\":[{\"Name\":\"subquery\",\"Expression\":{\"Subquery\":{\"Query\":{\"Version\":2,\"From\":[{\"Name\":\"i\",\"Entity\":\"Inventory\",\"Type\":0}],\"Select\":[{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Item\"},\"Name\":\"field\"}],\"OrderBy\":[{\"Direction\":2,\"Expression\":{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0}}}],\"Top\":2}}},\"Type\":2},{\"Name\":\"i\",\"Entity\":\"Inventory\",\"Type\":0}],\"Where\":[{\"Condition\":{\"In\":{\"Expressions\":[{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Item\"}}],\"Table\":{\"SourceRef\":{\"Source\":\"subquery\"}}}}}]},\"type\":\"TopN\",\"howCreated\":0,\"isHiddenInViewMode\":false}]",
+ "height": 288.99,
+ "width": 404.29,
+ "x": 875.71,
+ "y": 430.56,
+ "z": 5002.00
+ },
+ {
+ "config": "{\"name\":\"3336fb99a3600998d408\",\"layouts\":[{\"id\":0,\"position\":{\"x\":437.1756978653531,\"y\":430.87027914614123,\"z\":5001,\"width\":438.2266009852217,\"height\":288.9983579638752,\"tabOrder\":5001}}],\"singleVisual\":{\"visualType\":\"donutChart\",\"projections\":{\"Category\":[{\"queryRef\":\"Inventory.Item\",\"active\":true}],\"Y\":[{\"queryRef\":\"Sum(Inventory.Quantity)\"}]},\"prototypeQuery\":{\"Version\":2,\"From\":[{\"Name\":\"i\",\"Entity\":\"Inventory\",\"Type\":0}],\"Select\":[{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Item\"},\"Name\":\"Inventory.Item\"},{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0},\"Name\":\"Sum(Inventory.Quantity)\"}],\"OrderBy\":[{\"Direction\":2,\"Expression\":{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0}}}]},\"drillFilterOtherVisuals\":true,\"hasDefaultSort\":true,\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Quantity doughnut chart'\"}}}}}],\"subTitle\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"true\"}}}}}]}}}",
+ "filters": "[{\"expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Entity\":\"Inventory\"}},\"Property\":\"Item\"}},\"filter\":{\"Version\":2,\"From\":[{\"Name\":\"subquery\",\"Expression\":{\"Subquery\":{\"Query\":{\"Version\":2,\"From\":[{\"Name\":\"i\",\"Entity\":\"Inventory\",\"Type\":0}],\"Select\":[{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Item\"},\"Name\":\"field\"}],\"OrderBy\":[{\"Direction\":2,\"Expression\":{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0}}}],\"Top\":2}}},\"Type\":2},{\"Name\":\"i\",\"Entity\":\"Inventory\",\"Type\":0}],\"Where\":[{\"Condition\":{\"In\":{\"Expressions\":[{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Item\"}}],\"Table\":{\"SourceRef\":{\"Source\":\"subquery\"}}}}}]},\"type\":\"TopN\",\"howCreated\":0,\"isHiddenInViewMode\":false}]",
+ "height": 289.00,
+ "width": 438.23,
+ "x": 437.18,
+ "y": 430.87,
+ "z": 5001.00
+ },
{
"config": "{\"name\":\"3b2c4e90a78f9bf92492\",\"layouts\":[{\"id\":0,\"position\":{\"x\":263.1111111111111,\"y\":0,\"z\":3000,\"width\":207.64444444444445,\"height\":109.5111111111111,\"tabOrder\":0}}],\"singleVisual\":{\"visualType\":\"card\",\"projections\":{\"Values\":[{\"queryRef\":\"Sum(Inventory.Quantity)\"}]},\"prototypeQuery\":{\"Version\":2,\"From\":[{\"Name\":\"i\",\"Entity\":\"Inventory\",\"Type\":0}],\"Select\":[{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0},\"Name\":\"Sum(Inventory.Quantity)\"}],\"OrderBy\":[{\"Direction\":2,\"Expression\":{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0}}}]},\"columnProperties\":{\"Sum(Inventory.Quantity)\":{\"displayName\":\"Quantity\"}},\"drillFilterOtherVisuals\":true,\"hasDefaultSort\":true}}",
"filters": "[]",
@@ -212,7 +230,7 @@
"z": 4000.00
},
{
- "config": "{\"name\":\"e78a74b8026f736154be\",\"layouts\":[{\"id\":0,\"position\":{\"x\":0,\"y\":142.22222222222223,\"z\":3000,\"width\":1280,\"height\":288.7111111111111,\"tabOrder\":3000}}],\"singleVisual\":{\"visualType\":\"clusteredBarChart\",\"projections\":{\"Category\":[{\"queryRef\":\"Inventory.Item\",\"active\":true},{\"queryRef\":\"Inventory.Colour\",\"active\":true}],\"Y\":[{\"queryRef\":\"Sum(Inventory.Quantity)\"},{\"queryRef\":\"Sum(Inventory.Cost per item)\"},{\"queryRef\":\"Inventory.Sum of Qty\"}]},\"prototypeQuery\":{\"Version\":2,\"From\":[{\"Name\":\"i\",\"Entity\":\"Inventory\",\"Type\":0}],\"Select\":[{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Item\"},\"Name\":\"Inventory.Item\"},{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Colour\"},\"Name\":\"Inventory.Colour\",\"NativeReferenceName\":\"Colour\"},{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0},\"Name\":\"Sum(Inventory.Quantity)\"},{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Cost per item\"}},\"Function\":0},\"Name\":\"Sum(Inventory.Cost per item)\",\"NativeReferenceName\":\"Cost per item\"},{\"Measure\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Sum of Qty\"},\"Name\":\"Inventory.Sum of Qty\",\"NativeReferenceName\":\"Sum of Qty\"}],\"OrderBy\":[{\"Direction\":2,\"Expression\":{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0}}}]},\"drillFilterOtherVisuals\":true,\"hasDefaultSort\":true,\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Quantity Bar Chart'\"}}}}}],\"subTitle\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"true\"}}}}}]}}}",
+ "config": "{\"name\":\"e78a74b8026f736154be\",\"layouts\":[{\"id\":0,\"position\":{\"x\":0,\"y\":142.22222222222223,\"z\":3000,\"width\":1280,\"height\":288.7111111111111,\"tabOrder\":3000}}],\"singleVisual\":{\"visualType\":\"clusteredBarChart\",\"projections\":{\"Category\":[{\"queryRef\":\"Inventory.Item\",\"active\":true},{\"queryRef\":\"Inventory.Colour\",\"active\":true}],\"Y\":[{\"queryRef\":\"Sum(Inventory.Quantity)\"},{\"queryRef\":\"Sum(Inventory.Cost per item)\"},{\"queryRef\":\"Inventory.Sum of Qty\"},{\"queryRef\":\"Avg(Inventory.Cost per item)\"},{\"queryRef\":\"Avg(Inventory.Quantity)\"}]},\"prototypeQuery\":{\"Version\":2,\"From\":[{\"Name\":\"i\",\"Entity\":\"Inventory\",\"Type\":0}],\"Select\":[{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Item\"},\"Name\":\"Inventory.Item\"},{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Colour\"},\"Name\":\"Inventory.Colour\",\"NativeReferenceName\":\"Colour\"},{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0},\"Name\":\"Sum(Inventory.Quantity)\"},{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Cost per item\"}},\"Function\":0},\"Name\":\"Sum(Inventory.Cost per item)\",\"NativeReferenceName\":\"Cost per item\"},{\"Measure\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Sum of Qty\"},\"Name\":\"Inventory.Sum of Qty\",\"NativeReferenceName\":\"Sum of Qty\"},{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Cost per item\"}},\"Function\":1},\"Name\":\"Avg(Inventory.Cost per item)\",\"NativeReferenceName\":\"Average of Cost per item\"},{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":1},\"Name\":\"Avg(Inventory.Quantity)\",\"NativeReferenceName\":\"Average of Quantity\"}],\"OrderBy\":[{\"Direction\":2,\"Expression\":{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0}}}]},\"drillFilterOtherVisuals\":true,\"hasDefaultSort\":true,\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Quantity Bar Chart'\"}}}}}],\"subTitle\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"true\"}}}}}]}}}",
"filters": "[]",
"height": 288.71,
"width": 1280.00,
@@ -251,7 +269,7 @@
"z": 4250.00
},
{
- "config": "{\"name\":\"797168e1f1e7658ceae6\",\"layouts\":[{\"id\":0,\"position\":{\"x\":0,\"y\":142.22222222222223,\"z\":3000,\"width\":1280,\"height\":288.7111111111111,\"tabOrder\":3000}}],\"singleVisual\":{\"visualType\":\"barChart\",\"projections\":{\"Category\":[{\"queryRef\":\"Inventory.Item\",\"active\":true}],\"Y\":[{\"queryRef\":\"Sum(Inventory.Quantity)\"}]},\"prototypeQuery\":{\"Version\":2,\"From\":[{\"Name\":\"i\",\"Entity\":\"Inventory\",\"Type\":0}],\"Select\":[{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Item\"},\"Name\":\"Inventory.Item\"},{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0},\"Name\":\"Sum(Inventory.Quantity)\"}],\"OrderBy\":[{\"Direction\":2,\"Expression\":{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0}}}]},\"queryOptions\":{\"keepProjectionOrder\":true},\"showAllRoles\":[\"Category\"],\"drillFilterOtherVisuals\":true,\"hasDefaultSort\":true,\"objects\":{\"dataPoint\":[{\"properties\":{\"fill\":{\"solid\":{\"color\":{\"expr\":{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Entity\":\"Inventory\"}},\"Property\":\"Colour\"}},\"Function\":3}}}}}},\"selector\":{\"data\":[{\"dataViewWildcard\":{\"matchingOption\":1}}]}},{\"properties\":{\"fill\":{\"solid\":{\"color\":{\"expr\":{\"Literal\":{\"Value\":\"'#118DFF'\"}}}}}},\"selector\":{\"data\":[{\"scopeId\":{\"Comparison\":{\"ComparisonKind\":0,\"Left\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Entity\":\"Inventory\"}},\"Property\":\"Colour\"}},\"Right\":{\"Literal\":{\"Value\":\"'Green'\"}}}}}]}}],\"categoryAxis\":[{\"properties\":{\"reverseStackOrder\":{\"expr\":{\"Literal\":{\"Value\":\"false\"}}}}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Quantity Bar Chart'\"}}}}}],\"subTitle\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"true\"}}}}}]}}}",
+ "config": "{\"name\":\"797168e1f1e7658ceae6\",\"layouts\":[{\"id\":0,\"position\":{\"x\":0,\"y\":142.22222222222223,\"z\":3000,\"width\":1280,\"height\":288.7111111111111,\"tabOrder\":3000}}],\"singleVisual\":{\"visualType\":\"barChart\",\"projections\":{\"Category\":[{\"queryRef\":\"Inventory.Item\",\"active\":true}],\"Y\":[{\"queryRef\":\"Sum(Inventory.Quantity)\"}]},\"prototypeQuery\":{\"Version\":2,\"From\":[{\"Name\":\"i\",\"Entity\":\"Inventory\",\"Type\":0}],\"Select\":[{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Item\"},\"Name\":\"Inventory.Item\"},{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0},\"Name\":\"Sum(Inventory.Quantity)\"}],\"OrderBy\":[{\"Direction\":2,\"Expression\":{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0}}}]},\"queryOptions\":{\"keepProjectionOrder\":true},\"showAllRoles\":[\"Category\"],\"drillFilterOtherVisuals\":true,\"hasDefaultSort\":true,\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Quantity Bar Chart'\"}}},\"titleWrap\":{\"expr\":{\"Literal\":{\"Value\":\"true\"}}}}}],\"subTitle\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"true\"}}}}}],\"background\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"true\"}}},\"transparency\":{\"expr\":{\"Literal\":{\"Value\":\"0D\"}}}}}]}}}",
"filters": "[]",
"height": 288.71,
"width": 1280.00,
@@ -346,6 +364,63 @@
],
"width": 1280.00
},
+ {
+ "config": "{\"relationships\":[{\"source\":\"1ccdc7fd6ca0178e6096\",\"target\":\"bbc75e5df52527942a69\",\"type\":1},{\"source\":\"12bdabcb27a547b75d69\",\"target\":\"bbc75e5df52527942a69\",\"type\":1},{\"source\":\"12bdabcb27a547b75d69\",\"target\":\"1954ea05ff0aabedcca0\",\"type\":1},{\"source\":\"1954ea05ff0aabedcca0\",\"target\":\"bbc75e5df52527942a69\",\"type\":1}]}",
+ "displayName": "Interactions",
+ "displayOption": 1,
+ "filters": "[]",
+ "height": 720.00,
+ "name": "ReportSection6b18d49925d7cb5d47ab",
+ "ordinal": 13,
+ "visualContainers": [
+ {
+ "config": "{\"name\":\"12bdabcb27a547b75d69\",\"layouts\":[{\"id\":0,\"position\":{\"x\":0,\"y\":430.93333333333334,\"z\":1000,\"width\":1280,\"height\":288.7111111111111,\"tabOrder\":0}}],\"singleVisual\":{\"visualType\":\"columnChart\",\"projections\":{\"Category\":[{\"queryRef\":\"Inventory.Item\",\"active\":true}],\"Y\":[{\"queryRef\":\"Sum(Inventory.Quantity)\"}]},\"prototypeQuery\":{\"Version\":2,\"From\":[{\"Name\":\"i\",\"Entity\":\"Inventory\",\"Type\":0}],\"Select\":[{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Item\"},\"Name\":\"Inventory.Item\"},{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0},\"Name\":\"Sum(Inventory.Quantity)\"}],\"OrderBy\":[{\"Direction\":2,\"Expression\":{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0}}}]},\"drillFilterOtherVisuals\":true,\"hasDefaultSort\":true,\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Quantity Column chart'\"}}}}}],\"subTitle\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"true\"}}}}}]}}}",
+ "filters": "[]",
+ "height": 288.71,
+ "width": 1280.00,
+ "x": 0.00,
+ "y": 430.93,
+ "z": 1000.00
+ },
+ {
+ "config": "{\"name\":\"1954ea05ff0aabedcca0\",\"layouts\":[{\"id\":0,\"position\":{\"x\":995.6908665105386,\"y\":0,\"z\":4000,\"width\":284.1217798594848,\"height\":75.0351288056206,\"tabOrder\":10}}],\"singleVisual\":{\"visualType\":\"slicer\",\"projections\":{\"Values\":[{\"queryRef\":\"Inventory.Item\",\"active\":true}]},\"prototypeQuery\":{\"Version\":2,\"From\":[{\"Name\":\"i\",\"Entity\":\"Inventory\",\"Type\":0}],\"Select\":[{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Item\"},\"Name\":\"Inventory.Item\"}]},\"drillFilterOtherVisuals\":true,\"objects\":{\"data\":[{\"properties\":{\"mode\":{\"expr\":{\"Literal\":{\"Value\":\"'Dropdown'\"}}}}}],\"general\":[{\"properties\":{}}]}}}",
+ "filters": "[]",
+ "height": 75.04,
+ "width": 284.12,
+ "x": 995.69,
+ "y": 0.00,
+ "z": 4000.00
+ },
+ {
+ "config": "{\"name\":\"1ccdc7fd6ca0178e6096\",\"layouts\":[{\"id\":0,\"position\":{\"x\":0,\"y\":142.22222222222223,\"z\":3000,\"width\":1280,\"height\":288.7111111111111,\"tabOrder\":5}}],\"singleVisual\":{\"visualType\":\"barChart\",\"projections\":{\"Category\":[{\"queryRef\":\"Inventory.Item\",\"active\":true}],\"Y\":[{\"queryRef\":\"Sum(Inventory.Quantity)\"}]},\"prototypeQuery\":{\"Version\":2,\"From\":[{\"Name\":\"i\",\"Entity\":\"Inventory\",\"Type\":0}],\"Select\":[{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Item\"},\"Name\":\"Inventory.Item\"},{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0},\"Name\":\"Sum(Inventory.Quantity)\"}],\"OrderBy\":[{\"Direction\":2,\"Expression\":{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0}}}]},\"drillFilterOtherVisuals\":true,\"hasDefaultSort\":true,\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Quantity Bar Chart'\"}}}}}],\"subTitle\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"true\"}}}}}],\"general\":[{\"properties\":{\"altText\":{\"expr\":{\"Literal\":{\"Value\":\"'Bar chart showing sum of quantity by item. '\"}}}}}]}}}",
+ "filters": "[]",
+ "height": 288.71,
+ "width": 1280.00,
+ "x": 0.00,
+ "y": 142.22,
+ "z": 3000.00
+ },
+ {
+ "config": "{\"name\":\"bbc75e5df52527942a69\",\"layouts\":[{\"id\":0,\"position\":{\"x\":0,\"y\":0,\"z\":4500,\"width\":184.47761194029852,\"height\":100.29850746268656,\"tabOrder\":20}}],\"singleVisual\":{\"visualType\":\"image\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"imageUrl\":{\"expr\":{\"ResourcePackageItem\":{\"PackageName\":\"RegisteredResources\",\"PackageType\":1,\"ItemName\":\"pbilogo011716949638171492.png\"}}}}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"false\"}}},\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Logo'\"}}}}}]}}}",
+ "filters": "[]",
+ "height": 100.30,
+ "width": 184.48,
+ "x": 0.00,
+ "y": 0.00,
+ "z": 4500.00
+ },
+ {
+ "config": "{\"name\":\"f761d8a73589b14e3f57\",\"layouts\":[{\"id\":0,\"position\":{\"x\":263.1111111111111,\"y\":0,\"z\":4250,\"width\":207.64444444444445,\"height\":109.5111111111111,\"tabOrder\":15}}],\"singleVisual\":{\"visualType\":\"card\",\"projections\":{\"Values\":[{\"queryRef\":\"Sum(Inventory.Quantity)\"}]},\"prototypeQuery\":{\"Version\":2,\"From\":[{\"Name\":\"i\",\"Entity\":\"Inventory\",\"Type\":0}],\"Select\":[{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0},\"Name\":\"Sum(Inventory.Quantity)\"}],\"OrderBy\":[{\"Direction\":2,\"Expression\":{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0}}}]},\"columnProperties\":{\"Sum(Inventory.Quantity)\":{\"displayName\":\"Quantity\"}},\"drillFilterOtherVisuals\":true,\"hasDefaultSort\":true}}",
+ "filters": "[]",
+ "height": 109.51,
+ "width": 207.64,
+ "x": 263.11,
+ "y": 0.00,
+ "z": 4250.00
+ }
+ ],
+ "width": 1280.00
+ },
{
"config": "{}",
"displayName": "Deneb custom visual",
@@ -356,7 +431,7 @@
"ordinal": 12,
"visualContainers": [
{
- "config": "{\"name\":\"1a67964cf02b6170c3b8\",\"layouts\":[{\"id\":0,\"position\":{\"x\":548.5714285714286,\"y\":8.407224958949097,\"z\":0,\"width\":731.4285714285714,\"height\":692.5451559934319}}],\"singleVisual\":{\"visualType\":\"deneb7E15AEF80B9E4D4F8E12924291ECE89A\",\"projections\":{\"dataset\":[{\"queryRef\":\"Inventory.Colour\"},{\"queryRef\":\"Inventory.Sum of Qty\"}]},\"prototypeQuery\":{\"Version\":2,\"From\":[{\"Name\":\"i\",\"Entity\":\"Inventory\",\"Type\":0}],\"Select\":[{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Colour\"},\"Name\":\"Inventory.Colour\",\"NativeReferenceName\":\"Colour\"},{\"Measure\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Sum of Qty\"},\"Name\":\"Inventory.Sum of Qty\",\"NativeReferenceName\":\"Sum of Qty\"}],\"OrderBy\":[{\"Direction\":2,\"Expression\":{\"Measure\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Sum of Qty\"}}}]},\"drillFilterOtherVisuals\":true,\"objects\":{\"display\":[{\"properties\":{\"viewportHeight\":{\"expr\":{\"Literal\":{\"Value\":\"682.5451559934319D\"}}},\"viewportWidth\":{\"expr\":{\"Literal\":{\"Value\":\"721.4285714285714D\"}}}}}],\"developer\":[{\"properties\":{\"version\":{\"expr\":{\"Literal\":{\"Value\":\"'1.5.1.0'\"}}},\"showVersionNotification\":{\"expr\":{\"Literal\":{\"Value\":\"false\"}}}}}],\"vega\":[{\"properties\":{\"provider\":{\"expr\":{\"Literal\":{\"Value\":\"'vegaLite'\"}}},\"jsonSpec\":{\"expr\":{\"Literal\":{\"Value\":\"'{\\n \\\"data\\\": {\\\"name\\\": \\\"dataset\\\"},\\n \\\"layer\\\": [\\n {\\n \\\"mark\\\": {\\n \\\"type\\\": \\\"bar\\\",\\n \\\"opacity\\\": 0.3,\\n \\\"tooltip\\\": true\\n },\\n \\\"encoding\\\": {\\n \\\"x\\\": {\\\"field\\\": \\\"Sum of Qty\\\"}\\n }\\n },\\n {\\n \\\"mark\\\": {\\n \\\"type\\\": \\\"bar\\\",\\n \\\"tooltip\\\": true\\n },\\n \\\"encoding\\\": {\\n \\\"x\\\": {\\n \\\"field\\\": \\\"Sum of Qty__highlight\\\"\\n },\\n \\\"opacity\\\": {\\n \\\"condition\\\": {\\n \\\"test\\\": {\\n \\\"field\\\": \\\"__selected__\\\",\\n \\\"equal\\\": \\\"off\\\"\\n },\\n \\\"value\\\": 0\\n },\\n \\\"value\\\": 1\\n }\\n }\\n }\\n ],\\n \\\"encoding\\\": {\\n \\\"y\\\": {\\n \\\"field\\\": \\\"Colour\\\",\\n \\\"type\\\": \\\"nominal\\\"\\n },\\n \\\"x\\\": {\\n \\\"type\\\": \\\"quantitative\\\",\\n \\\"axis\\\": {\\\"title\\\": \\\"Sum of Qty\\\"}\\n }\\n }\\n}'\"}}},\"jsonConfig\":{\"expr\":{\"Literal\":{\"Value\":\"'{\\n \\\"view\\\": {\\\"stroke\\\": \\\"transparent\\\"},\\n \\\"font\\\": \\\"Segoe UI\\\",\\n \\\"arc\\\": {},\\n \\\"area\\\": {\\n \\\"line\\\": true,\\n \\\"opacity\\\": 0.6\\n },\\n \\\"bar\\\": {},\\n \\\"line\\\": {\\n \\\"strokeWidth\\\": 3,\\n \\\"strokeCap\\\": \\\"round\\\",\\n \\\"strokeJoin\\\": \\\"round\\\"\\n },\\n \\\"path\\\": {},\\n \\\"point\\\": {\\\"filled\\\": true, \\\"size\\\": 75},\\n \\\"rect\\\": {},\\n \\\"shape\\\": {},\\n \\\"symbol\\\": {\\n \\\"strokeWidth\\\": 1.5,\\n \\\"size\\\": 50\\n },\\n \\\"text\\\": {\\n \\\"font\\\": \\\"Segoe UI\\\",\\n \\\"fontSize\\\": 12,\\n \\\"fill\\\": \\\"#605E5C\\\"\\n },\\n \\\"axis\\\": {\\n \\\"ticks\\\": false,\\n \\\"grid\\\": false,\\n \\\"domain\\\": false,\\n \\\"labelColor\\\": \\\"#605E5C\\\",\\n \\\"labelFontSize\\\": 12,\\n \\\"titleFont\\\": \\\"wf_standard-font, helvetica, arial, sans-serif\\\",\\n \\\"titleColor\\\": \\\"#252423\\\",\\n \\\"titleFontSize\\\": 16,\\n \\\"titleFontWeight\\\": \\\"normal\\\"\\n },\\n \\\"axisQuantitative\\\": {\\n \\\"tickCount\\\": 3,\\n \\\"grid\\\": true,\\n \\\"gridColor\\\": \\\"#C8C6C4\\\",\\n \\\"gridDash\\\": [1, 5],\\n \\\"labelFlush\\\": false\\n },\\n \\\"axisX\\\": {\\\"labelPadding\\\": 5},\\n \\\"axisY\\\": {\\\"labelPadding\\\": 10},\\n \\\"header\\\": {\\n \\\"titleFont\\\": \\\"wf_standard-font, helvetica, arial, sans-serif\\\",\\n \\\"titleFontSize\\\": 16,\\n \\\"titleColor\\\": \\\"#252423\\\",\\n \\\"labelFont\\\": \\\"Segoe UI\\\",\\n \\\"labelFontSize\\\": 13.333333333333332,\\n \\\"labelColor\\\": \\\"#605E5C\\\"\\n },\\n \\\"legend\\\": {\\n \\\"titleFont\\\": \\\"Segoe UI\\\",\\n \\\"titleFontWeight\\\": \\\"bold\\\",\\n \\\"titleColor\\\": \\\"#605E5C\\\",\\n \\\"labelFont\\\": \\\"Segoe UI\\\",\\n \\\"labelFontSize\\\": 13.333333333333332,\\n \\\"labelColor\\\": \\\"#605E5C\\\",\\n \\\"symbolType\\\": \\\"circle\\\",\\n \\\"symbolSize\\\": 75\\n }\\n}'\"}}},\"isNewDialogOpen\":{\"expr\":{\"Literal\":{\"Value\":\"false\"}}},\"version\":{\"expr\":{\"Literal\":{\"Value\":\"'5.6.1'\"}}},\"enableTooltips\":{\"expr\":{\"Literal\":{\"Value\":\"true\"}}},\"enableContextMenu\":{\"expr\":{\"Literal\":{\"Value\":\"true\"}}},\"enableHighlight\":{\"expr\":{\"Literal\":{\"Value\":\"true\"}}},\"enableSelection\":{\"expr\":{\"Literal\":{\"Value\":\"true\"}}},\"selectionMaxDataPoints\":{\"expr\":{\"Literal\":{\"Value\":\"50D\"}}}}}]}}}",
+ "config": "{\"name\":\"1a67964cf02b6170c3b8\",\"layouts\":[{\"id\":0,\"position\":{\"x\":548.5714285714286,\"y\":8.407224958949097,\"z\":0,\"width\":731.4285714285714,\"height\":692.5451559934319,\"tabOrder\":0}}],\"singleVisual\":{\"visualType\":\"deneb7E15AEF80B9E4D4F8E12924291ECE89A\",\"projections\":{\"dataset\":[{\"queryRef\":\"Inventory.Colour\"},{\"queryRef\":\"Inventory.Sum of Qty\"}]},\"prototypeQuery\":{\"Version\":2,\"From\":[{\"Name\":\"i\",\"Entity\":\"Inventory\",\"Type\":0}],\"Select\":[{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Colour\"},\"Name\":\"Inventory.Colour\",\"NativeReferenceName\":\"Colour\"},{\"Measure\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Sum of Qty\"},\"Name\":\"Inventory.Sum of Qty\",\"NativeReferenceName\":\"Sum of Qty\"}],\"OrderBy\":[{\"Direction\":2,\"Expression\":{\"Measure\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Sum of Qty\"}}}]},\"drillFilterOtherVisuals\":true,\"objects\":{\"display\":[{\"properties\":{\"viewportHeight\":{\"expr\":{\"Literal\":{\"Value\":\"682.5451559934319D\"}}},\"viewportWidth\":{\"expr\":{\"Literal\":{\"Value\":\"721.4285714285714D\"}}}}}],\"developer\":[{\"properties\":{\"version\":{\"expr\":{\"Literal\":{\"Value\":\"'1.5.1.0'\"}}}}}],\"vega\":[{\"properties\":{\"provider\":{\"expr\":{\"Literal\":{\"Value\":\"'vegaLite'\"}}},\"jsonSpec\":{\"expr\":{\"Literal\":{\"Value\":\"'{\\n \\\"data\\\": {\\\"name\\\": \\\"dataset\\\"},\\n \\\"layer\\\": [\\n {\\n \\\"mark\\\": {\\n \\\"type\\\": \\\"bar\\\",\\n \\\"opacity\\\": 0.3,\\n \\\"tooltip\\\": true\\n },\\n \\\"encoding\\\": {\\n \\\"x\\\": {\\\"field\\\": \\\"Sum of Qty\\\"}\\n }\\n },\\n {\\n \\\"mark\\\": {\\n \\\"type\\\": \\\"bar\\\",\\n \\\"tooltip\\\": true\\n },\\n \\\"encoding\\\": {\\n \\\"x\\\": {\\n \\\"field\\\": \\\"Sum of Qty__highlight\\\"\\n },\\n \\\"opacity\\\": {\\n \\\"condition\\\": {\\n \\\"test\\\": {\\n \\\"field\\\": \\\"__selected__\\\",\\n \\\"equal\\\": \\\"off\\\"\\n },\\n \\\"value\\\": 0\\n },\\n \\\"value\\\": 1\\n }\\n }\\n }\\n ],\\n \\\"encoding\\\": {\\n \\\"y\\\": {\\n \\\"field\\\": \\\"Colour\\\",\\n \\\"type\\\": \\\"nominal\\\"\\n },\\n \\\"x\\\": {\\n \\\"type\\\": \\\"quantitative\\\",\\n \\\"axis\\\": {\\\"title\\\": \\\"Sum of Qty\\\"}\\n }\\n }\\n}'\"}}},\"jsonConfig\":{\"expr\":{\"Literal\":{\"Value\":\"'{\\n \\\"view\\\": {\\\"stroke\\\": \\\"transparent\\\"},\\n \\\"font\\\": \\\"Segoe UI\\\",\\n \\\"arc\\\": {},\\n \\\"area\\\": {\\n \\\"line\\\": true,\\n \\\"opacity\\\": 0.6\\n },\\n \\\"bar\\\": {},\\n \\\"line\\\": {\\n \\\"strokeWidth\\\": 3,\\n \\\"strokeCap\\\": \\\"round\\\",\\n \\\"strokeJoin\\\": \\\"round\\\"\\n },\\n \\\"path\\\": {},\\n \\\"point\\\": {\\\"filled\\\": true, \\\"size\\\": 75},\\n \\\"rect\\\": {},\\n \\\"shape\\\": {},\\n \\\"symbol\\\": {\\n \\\"strokeWidth\\\": 1.5,\\n \\\"size\\\": 50\\n },\\n \\\"text\\\": {\\n \\\"font\\\": \\\"Segoe UI\\\",\\n \\\"fontSize\\\": 12,\\n \\\"fill\\\": \\\"#605E5C\\\"\\n },\\n \\\"axis\\\": {\\n \\\"ticks\\\": false,\\n \\\"grid\\\": false,\\n \\\"domain\\\": false,\\n \\\"labelColor\\\": \\\"#605E5C\\\",\\n \\\"labelFontSize\\\": 12,\\n \\\"titleFont\\\": \\\"wf_standard-font, helvetica, arial, sans-serif\\\",\\n \\\"titleColor\\\": \\\"#252423\\\",\\n \\\"titleFontSize\\\": 16,\\n \\\"titleFontWeight\\\": \\\"normal\\\"\\n },\\n \\\"axisQuantitative\\\": {\\n \\\"tickCount\\\": 3,\\n \\\"grid\\\": true,\\n \\\"gridColor\\\": \\\"#C8C6C4\\\",\\n \\\"gridDash\\\": [1, 5],\\n \\\"labelFlush\\\": false\\n },\\n \\\"axisX\\\": {\\\"labelPadding\\\": 5},\\n \\\"axisY\\\": {\\\"labelPadding\\\": 10},\\n \\\"header\\\": {\\n \\\"titleFont\\\": \\\"wf_standard-font, helvetica, arial, sans-serif\\\",\\n \\\"titleFontSize\\\": 16,\\n \\\"titleColor\\\": \\\"#252423\\\",\\n \\\"labelFont\\\": \\\"Segoe UI\\\",\\n \\\"labelFontSize\\\": 13.333333333333332,\\n \\\"labelColor\\\": \\\"#605E5C\\\"\\n },\\n \\\"legend\\\": {\\n \\\"titleFont\\\": \\\"Segoe UI\\\",\\n \\\"titleFontWeight\\\": \\\"bold\\\",\\n \\\"titleColor\\\": \\\"#605E5C\\\",\\n \\\"labelFont\\\": \\\"Segoe UI\\\",\\n \\\"labelFontSize\\\": 13.333333333333332,\\n \\\"labelColor\\\": \\\"#605E5C\\\",\\n \\\"symbolType\\\": \\\"circle\\\",\\n \\\"symbolSize\\\": 75\\n }\\n}'\"}}},\"isNewDialogOpen\":{\"expr\":{\"Literal\":{\"Value\":\"false\"}}},\"version\":{\"expr\":{\"Literal\":{\"Value\":\"'5.6.1'\"}}},\"enableTooltips\":{\"expr\":{\"Literal\":{\"Value\":\"true\"}}},\"enableContextMenu\":{\"expr\":{\"Literal\":{\"Value\":\"true\"}}},\"enableHighlight\":{\"expr\":{\"Literal\":{\"Value\":\"true\"}}},\"enableSelection\":{\"expr\":{\"Literal\":{\"Value\":\"true\"}}},\"selectionMaxDataPoints\":{\"expr\":{\"Literal\":{\"Value\":\"50D\"}}}}}]}}}",
"filters": "[]",
"height": 692.55,
"width": 731.43,
@@ -505,6 +580,24 @@
"y": 141.87,
"z": 5000.00
},
+ {
+ "config": "{\"name\":\"98560f0e407009a4191a\",\"layouts\":[{\"id\":0,\"position\":{\"x\":397.2413793103448,\"y\":430.87027914614123,\"z\":5001,\"width\":397.2413793103448,\"height\":288.9983579638752,\"tabOrder\":5001}}],\"singleVisual\":{\"visualType\":\"donutChart\",\"projections\":{\"Category\":[{\"queryRef\":\"Inventory.Item\",\"active\":true}],\"Y\":[{\"queryRef\":\"Sum(Inventory.Quantity)\"}]},\"prototypeQuery\":{\"Version\":2,\"From\":[{\"Name\":\"i\",\"Entity\":\"Inventory\",\"Type\":0}],\"Select\":[{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Item\"},\"Name\":\"Inventory.Item\"},{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0},\"Name\":\"Sum(Inventory.Quantity)\"}],\"OrderBy\":[{\"Direction\":2,\"Expression\":{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0}}}]},\"drillFilterOtherVisuals\":true,\"hasDefaultSort\":true,\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Quantity doughnut chart'\"}}}}}],\"subTitle\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"true\"}}}}}]}}}",
+ "filters": "[{\"expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Entity\":\"Inventory\"}},\"Property\":\"Item\"}},\"filter\":{\"Version\":2,\"From\":[{\"Name\":\"i\",\"Entity\":\"Inventory\",\"Type\":0}],\"Where\":[{\"Condition\":{\"Contains\":{\"Left\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Item\"}},\"Right\":{\"Literal\":{\"Value\":\"'a'\"}}}}}]},\"type\":\"Advanced\",\"howCreated\":0,\"isHiddenInViewMode\":false}]",
+ "height": 289.00,
+ "width": 397.24,
+ "x": 397.24,
+ "y": 430.87,
+ "z": 5001.00
+ },
+ {
+ "config": "{\"name\":\"ac0cb853b452a904b2e3\",\"layouts\":[{\"id\":0,\"position\":{\"x\":882.7586206896552,\"y\":430.87027914614123,\"z\":5002,\"width\":397.2413793103448,\"height\":288.9983579638752,\"tabOrder\":5002}}],\"singleVisual\":{\"visualType\":\"tableEx\",\"projections\":{\"Values\":[{\"queryRef\":\"Inventory.Item\"},{\"queryRef\":\"Sum(Inventory.Quantity)\"}]},\"prototypeQuery\":{\"Version\":2,\"From\":[{\"Name\":\"i\",\"Entity\":\"Inventory\",\"Type\":0}],\"Select\":[{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Item\"},\"Name\":\"Inventory.Item\"},{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0},\"Name\":\"Sum(Inventory.Quantity)\"}],\"OrderBy\":[{\"Direction\":2,\"Expression\":{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0}}}]},\"drillFilterOtherVisuals\":true,\"hasDefaultSort\":true,\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Quantity Column chart'\"}}}}}],\"subTitle\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"true\"}}}}}]}}}",
+ "filters": "[{\"expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Entity\":\"Inventory\"}},\"Property\":\"Item\"}},\"filter\":{\"Version\":2,\"From\":[{\"Name\":\"i\",\"Entity\":\"Inventory\",\"Type\":0}],\"Where\":[{\"Condition\":{\"Contains\":{\"Left\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Item\"}},\"Right\":{\"Literal\":{\"Value\":\"'a'\"}}}}}]},\"type\":\"Advanced\",\"howCreated\":0,\"isHiddenInViewMode\":false}]",
+ "height": 289.00,
+ "width": 397.24,
+ "x": 882.76,
+ "y": 430.87,
+ "z": 5002.00
+ },
{
"config": "{\"name\":\"bfb15e1c290403dbbcd0\",\"layouts\":[{\"id\":0,\"position\":{\"x\":995.6908665105386,\"y\":0,\"z\":2000,\"width\":284.1217798594848,\"height\":75.0351288056206,\"tabOrder\":4000}}],\"singleVisual\":{\"visualType\":\"slicer\",\"projections\":{\"Values\":[{\"queryRef\":\"Inventory.Item\",\"active\":true}]},\"prototypeQuery\":{\"Version\":2,\"From\":[{\"Name\":\"i\",\"Entity\":\"Inventory\",\"Type\":0}],\"Select\":[{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Item\"},\"Name\":\"Inventory.Item\"}]},\"drillFilterOtherVisuals\":true,\"objects\":{\"data\":[{\"properties\":{\"mode\":{\"expr\":{\"Literal\":{\"Value\":\"'Dropdown'\"}}}}}],\"general\":[{\"properties\":{}}]}}}",
"filters": "[]",
@@ -515,12 +608,12 @@
"z": 2000.00
},
{
- "config": "{\"name\":\"bfb9671fcc478a23c60d\",\"layouts\":[{\"id\":0,\"position\":{\"x\":0,\"y\":430.93333333333334,\"z\":0,\"width\":1280,\"height\":288.7111111111111,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"columnChart\",\"projections\":{\"Category\":[{\"queryRef\":\"Inventory.Item\",\"active\":true}],\"Y\":[{\"queryRef\":\"Sum(Inventory.Quantity)\"}]},\"prototypeQuery\":{\"Version\":2,\"From\":[{\"Name\":\"i\",\"Entity\":\"Inventory\",\"Type\":0}],\"Select\":[{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Item\"},\"Name\":\"Inventory.Item\"},{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0},\"Name\":\"Sum(Inventory.Quantity)\"}],\"OrderBy\":[{\"Direction\":2,\"Expression\":{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0}}}]},\"drillFilterOtherVisuals\":true,\"hasDefaultSort\":true,\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Quantity Column chart'\"}}}}}],\"subTitle\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"true\"}}}}}]}}}",
+ "config": "{\"name\":\"bfb9671fcc478a23c60d\",\"layouts\":[{\"id\":0,\"position\":{\"x\":0,\"y\":430.87027914614123,\"z\":0,\"width\":397.2413793103448,\"height\":288.9983579638752,\"tabOrder\":1000}}],\"singleVisual\":{\"visualType\":\"columnChart\",\"projections\":{\"Category\":[{\"queryRef\":\"Inventory.Item\",\"active\":true}],\"Y\":[{\"queryRef\":\"Sum(Inventory.Quantity)\"}]},\"prototypeQuery\":{\"Version\":2,\"From\":[{\"Name\":\"i\",\"Entity\":\"Inventory\",\"Type\":0}],\"Select\":[{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Item\"},\"Name\":\"Inventory.Item\"},{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0},\"Name\":\"Sum(Inventory.Quantity)\"}],\"OrderBy\":[{\"Direction\":2,\"Expression\":{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0}}}]},\"drillFilterOtherVisuals\":true,\"hasDefaultSort\":true,\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Quantity Column chart'\"}}}}}],\"subTitle\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"true\"}}}}}]}}}",
"filters": "[{\"expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Entity\":\"Inventory\"}},\"Property\":\"Item\"}},\"filter\":{\"Version\":2,\"From\":[{\"Name\":\"i\",\"Entity\":\"Inventory\",\"Type\":0}],\"Where\":[{\"Condition\":{\"Contains\":{\"Left\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Item\"}},\"Right\":{\"Literal\":{\"Value\":\"'a'\"}}}}}]},\"type\":\"Advanced\",\"howCreated\":0,\"isHiddenInViewMode\":false}]",
- "height": 288.71,
- "width": 1280.00,
+ "height": 289.00,
+ "width": 397.24,
"x": 0.00,
- "y": 430.93,
+ "y": 430.87,
"z": 0.00
},
{
@@ -602,20 +695,38 @@
"ordinal": 2,
"visualContainers": [
{
- "config": "{\"name\":\"0091cca09d96248e56b8\",\"layouts\":[{\"id\":0,\"position\":{\"x\":458.3619047619048,\"y\":142.62857142857143,\"z\":6000,\"width\":310.85714285714283,\"height\":214.55238095238096,\"tabOrder\":6000}}],\"singleVisual\":{\"visualType\":\"donutChart\",\"projections\":{\"Category\":[{\"queryRef\":\"Inventory.Item\",\"active\":true}],\"Y\":[{\"queryRef\":\"Sum(Inventory.Quantity)\"}]},\"prototypeQuery\":{\"Version\":2,\"From\":[{\"Name\":\"i\",\"Entity\":\"Inventory\",\"Type\":0}],\"Select\":[{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Item\"},\"Name\":\"Inventory.Item\"},{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0},\"Name\":\"Sum(Inventory.Quantity)\"}],\"OrderBy\":[{\"Direction\":2,\"Expression\":{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0}}}]},\"drillFilterOtherVisuals\":true,\"hasDefaultSort\":true,\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Quantity Bar Chart'\"}}}}}],\"subTitle\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"true\"}}}}}]}}}",
+ "config": "{\"name\":\"0091cca09d96248e56b8\",\"layouts\":[{\"id\":0,\"position\":{\"x\":458.1937602627258,\"y\":142.92282430213464,\"z\":6000,\"width\":312.1182266009852,\"height\":158.6863711001642,\"tabOrder\":6000}}],\"singleVisual\":{\"visualType\":\"donutChart\",\"projections\":{\"Category\":[{\"queryRef\":\"Inventory.Item\",\"active\":true}],\"Y\":[{\"queryRef\":\"Sum(Inventory.Quantity)\"}]},\"prototypeQuery\":{\"Version\":2,\"From\":[{\"Name\":\"i\",\"Entity\":\"Inventory\",\"Type\":0}],\"Select\":[{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Item\"},\"Name\":\"Inventory.Item\"},{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0},\"Name\":\"Sum(Inventory.Quantity)\"}],\"OrderBy\":[{\"Direction\":2,\"Expression\":{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0}}}]},\"drillFilterOtherVisuals\":true,\"hasDefaultSort\":true,\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Quantity Bar Chart'\"}}}}}],\"subTitle\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"true\"}}}}}]}}}",
"filters": "[]",
- "height": 214.55,
- "width": 310.86,
- "x": 458.36,
- "y": 142.63,
+ "height": 158.69,
+ "width": 312.12,
+ "x": 458.19,
+ "y": 142.92,
"z": 6000.00
},
{
- "config": "{\"name\":\"1b9a3c4d92e7ac303246\",\"layouts\":[{\"id\":0,\"position\":{\"x\":263.1111111111111,\"y\":0,\"z\":3000,\"width\":207.64444444444445,\"height\":109.5111111111111,\"tabOrder\":0}}],\"singleVisual\":{\"visualType\":\"card\",\"projections\":{\"Values\":[{\"queryRef\":\"Sum(Inventory.Quantity)\"}]},\"prototypeQuery\":{\"Version\":2,\"From\":[{\"Name\":\"i\",\"Entity\":\"Inventory\",\"Type\":0}],\"Select\":[{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0},\"Name\":\"Sum(Inventory.Quantity)\"}],\"OrderBy\":[{\"Direction\":2,\"Expression\":{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0}}}]},\"columnProperties\":{\"Sum(Inventory.Quantity)\":{\"displayName\":\"Quantity\"}},\"drillFilterOtherVisuals\":true,\"hasDefaultSort\":true}}",
+ "config": "{\"name\":\"08d13d2e8daba0407e29\",\"layouts\":[{\"id\":0,\"position\":{\"x\":585.5500821018063,\"y\":439.4745484400657,\"z\":10013,\"width\":186.00985221674878,\"height\":136.61740558292283,\"tabOrder\":10013}}],\"singleVisual\":{\"visualType\":\"tableEx\",\"projections\":{\"Values\":[{\"queryRef\":\"Inventory.Item\"},{\"queryRef\":\"Sum(Inventory.Quantity)\"}]},\"prototypeQuery\":{\"Version\":2,\"From\":[{\"Name\":\"i\",\"Entity\":\"Inventory\",\"Type\":0}],\"Select\":[{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Item\"},\"Name\":\"Inventory.Item\"},{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0},\"Name\":\"Sum(Inventory.Quantity)\"}],\"OrderBy\":[{\"Direction\":2,\"Expression\":{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0}}}]},\"drillFilterOtherVisuals\":true,\"hasDefaultSort\":true,\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Quantity Bar Chart'\"}}}}}],\"subTitle\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"true\"}}}}}]}}}",
"filters": "[]",
- "height": 109.51,
- "width": 207.64,
- "x": 263.11,
+ "height": 136.62,
+ "width": 186.01,
+ "x": 585.55,
+ "y": 439.47,
+ "z": 10013.00
+ },
+ {
+ "config": "{\"name\":\"13b2653c089d00c2918b\",\"layouts\":[{\"id\":0,\"position\":{\"x\":505.55008210180625,\"y\":359.4745484400657,\"z\":10005,\"width\":186.00985221674878,\"height\":136.61740558292283,\"tabOrder\":10005}}],\"singleVisual\":{\"visualType\":\"tableEx\",\"projections\":{\"Values\":[{\"queryRef\":\"Inventory.Item\"},{\"queryRef\":\"Sum(Inventory.Quantity)\"}]},\"prototypeQuery\":{\"Version\":2,\"From\":[{\"Name\":\"i\",\"Entity\":\"Inventory\",\"Type\":0}],\"Select\":[{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Item\"},\"Name\":\"Inventory.Item\"},{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0},\"Name\":\"Sum(Inventory.Quantity)\"}],\"OrderBy\":[{\"Direction\":2,\"Expression\":{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0}}}]},\"drillFilterOtherVisuals\":true,\"hasDefaultSort\":true,\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Quantity Bar Chart'\"}}}}}],\"subTitle\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"true\"}}}}}]}}}",
+ "filters": "[]",
+ "height": 136.62,
+ "width": 186.01,
+ "x": 505.55,
+ "y": 359.47,
+ "z": 10005.00
+ },
+ {
+ "config": "{\"name\":\"1b9a3c4d92e7ac303246\",\"layouts\":[{\"id\":0,\"position\":{\"x\":197.5697865353038,\"y\":0,\"z\":3000,\"width\":160.7881773399015,\"height\":99.83579638752053,\"tabOrder\":0}}],\"singleVisual\":{\"visualType\":\"card\",\"projections\":{\"Values\":[{\"queryRef\":\"Sum(Inventory.Quantity)\"}]},\"prototypeQuery\":{\"Version\":2,\"From\":[{\"Name\":\"i\",\"Entity\":\"Inventory\",\"Type\":0}],\"Select\":[{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0},\"Name\":\"Sum(Inventory.Quantity)\"}],\"OrderBy\":[{\"Direction\":2,\"Expression\":{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0}}}]},\"columnProperties\":{\"Sum(Inventory.Quantity)\":{\"displayName\":\"Quantity\"}},\"drillFilterOtherVisuals\":true,\"hasDefaultSort\":true}}",
+ "filters": "[]",
+ "height": 99.84,
+ "width": 160.79,
+ "x": 197.57,
"y": 0.00,
"z": 3000.00
},
@@ -629,48 +740,111 @@
"z": 2000.00
},
{
- "config": "{\"name\":\"423cfdb39037ea1db380\",\"layouts\":[{\"id\":0,\"position\":{\"x\":892.3428571428572,\"y\":359.6190476190476,\"z\":9000,\"width\":375.46666666666664,\"height\":226.74285714285713,\"tabOrder\":9000}}],\"singleVisual\":{\"visualType\":\"pieChart\",\"projections\":{\"Category\":[{\"queryRef\":\"Inventory.Item\",\"active\":true}],\"Y\":[{\"queryRef\":\"Sum(Inventory.Quantity)\"}]},\"prototypeQuery\":{\"Version\":2,\"From\":[{\"Name\":\"i\",\"Entity\":\"Inventory\",\"Type\":0}],\"Select\":[{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Item\"},\"Name\":\"Inventory.Item\"},{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0},\"Name\":\"Sum(Inventory.Quantity)\"}],\"OrderBy\":[{\"Direction\":2,\"Expression\":{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0}}}]},\"drillFilterOtherVisuals\":true,\"hasDefaultSort\":true,\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Quantity Bar Chart'\"}}}}}],\"subTitle\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"true\"}}}}}]}}}",
+ "config": "{\"name\":\"411d5a52673974b37812\",\"layouts\":[{\"id\":0,\"position\":{\"x\":565.5500821018063,\"y\":419.4745484400657,\"z\":10011,\"width\":186.00985221674878,\"height\":136.61740558292283,\"tabOrder\":10011}}],\"singleVisual\":{\"visualType\":\"tableEx\",\"projections\":{\"Values\":[{\"queryRef\":\"Inventory.Item\"},{\"queryRef\":\"Sum(Inventory.Quantity)\"}]},\"prototypeQuery\":{\"Version\":2,\"From\":[{\"Name\":\"i\",\"Entity\":\"Inventory\",\"Type\":0}],\"Select\":[{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Item\"},\"Name\":\"Inventory.Item\"},{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0},\"Name\":\"Sum(Inventory.Quantity)\"}],\"OrderBy\":[{\"Direction\":2,\"Expression\":{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0}}}]},\"drillFilterOtherVisuals\":true,\"hasDefaultSort\":true,\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Quantity Bar Chart'\"}}}}}],\"subTitle\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"true\"}}}}}]}}}",
+ "filters": "[]",
+ "height": 136.62,
+ "width": 186.01,
+ "x": 565.55,
+ "y": 419.47,
+ "z": 10011.00
+ },
+ {
+ "config": "{\"name\":\"423cfdb39037ea1db380\",\"layouts\":[{\"id\":0,\"position\":{\"x\":980.4926108374384,\"y\":130.311986863711,\"z\":9000,\"width\":299.5073891625616,\"height\":160.7881773399015,\"tabOrder\":9000}}],\"singleVisual\":{\"visualType\":\"pieChart\",\"projections\":{\"Category\":[{\"queryRef\":\"Inventory.Item\",\"active\":true}],\"Y\":[{\"queryRef\":\"Sum(Inventory.Quantity)\"}]},\"prototypeQuery\":{\"Version\":2,\"From\":[{\"Name\":\"i\",\"Entity\":\"Inventory\",\"Type\":0}],\"Select\":[{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Item\"},\"Name\":\"Inventory.Item\"},{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0},\"Name\":\"Sum(Inventory.Quantity)\"}],\"OrderBy\":[{\"Direction\":2,\"Expression\":{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0}}}]},\"drillFilterOtherVisuals\":true,\"hasDefaultSort\":true,\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Quantity Bar Chart'\"}}}}}],\"subTitle\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"true\"}}}}}]}}}",
"filters": "[]",
- "height": 226.74,
- "width": 375.47,
- "x": 892.34,
- "y": 359.62,
+ "height": 160.79,
+ "width": 299.51,
+ "x": 980.49,
+ "y": 130.31,
"z": 9000.00
},
{
- "config": "{\"name\":\"4501e10957dcc0d0a762\",\"layouts\":[{\"id\":0,\"position\":{\"x\":892.3428571428572,\"y\":132.8761904761905,\"z\":5000,\"width\":375.46666666666664,\"height\":226.74285714285713,\"tabOrder\":5000}}],\"singleVisual\":{\"visualType\":\"treemap\",\"projections\":{\"Group\":[{\"queryRef\":\"Inventory.Item\",\"active\":true}],\"Values\":[{\"queryRef\":\"Sum(Inventory.Quantity)\"}]},\"prototypeQuery\":{\"Version\":2,\"From\":[{\"Name\":\"i\",\"Entity\":\"Inventory\",\"Type\":0}],\"Select\":[{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Item\"},\"Name\":\"Inventory.Item\"},{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0},\"Name\":\"Sum(Inventory.Quantity)\"}],\"OrderBy\":[{\"Direction\":2,\"Expression\":{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0}}}]},\"drillFilterOtherVisuals\":true,\"hasDefaultSort\":true,\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Quantity Bar Chart'\"}}}}}],\"subTitle\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"true\"}}}}}]}}}",
+ "config": "{\"name\":\"4501e10957dcc0d0a762\",\"layouts\":[{\"id\":0,\"position\":{\"x\":777.6683087027915,\"y\":130.311986863711,\"z\":5000,\"width\":191.26436781609195,\"height\":171.29720853858785,\"tabOrder\":5000}}],\"singleVisual\":{\"visualType\":\"treemap\",\"projections\":{\"Group\":[{\"queryRef\":\"Inventory.Item\",\"active\":true}],\"Values\":[{\"queryRef\":\"Sum(Inventory.Quantity)\"}]},\"prototypeQuery\":{\"Version\":2,\"From\":[{\"Name\":\"i\",\"Entity\":\"Inventory\",\"Type\":0}],\"Select\":[{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Item\"},\"Name\":\"Inventory.Item\"},{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0},\"Name\":\"Sum(Inventory.Quantity)\"}],\"OrderBy\":[{\"Direction\":2,\"Expression\":{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0}}}]},\"drillFilterOtherVisuals\":true,\"hasDefaultSort\":true,\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Quantity Bar Chart'\"}}}}}],\"subTitle\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"true\"}}}}}]}}}",
"filters": "[]",
- "height": 226.74,
- "width": 375.47,
- "x": 892.34,
- "y": 132.88,
+ "height": 171.30,
+ "width": 191.26,
+ "x": 777.67,
+ "y": 130.31,
"z": 5000.00
},
{
- "config": "{\"name\":\"4df7d75ef1fbfd2581e3\",\"layouts\":[{\"id\":0,\"position\":{\"x\":0,\"y\":142.62857142857143,\"z\":1000,\"width\":423.0095238095238,\"height\":216.9904761904762,\"tabOrder\":3000}}],\"singleVisual\":{\"visualType\":\"barChart\",\"projections\":{\"Category\":[{\"queryRef\":\"Inventory.Item\",\"active\":true}],\"Y\":[{\"queryRef\":\"Sum(Inventory.Quantity)\"}]},\"prototypeQuery\":{\"Version\":2,\"From\":[{\"Name\":\"i\",\"Entity\":\"Inventory\",\"Type\":0}],\"Select\":[{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Item\"},\"Name\":\"Inventory.Item\"},{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0},\"Name\":\"Sum(Inventory.Quantity)\"}],\"OrderBy\":[{\"Direction\":2,\"Expression\":{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0}}}]},\"drillFilterOtherVisuals\":true,\"hasDefaultSort\":true,\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Quantity Bar Chart'\"}}}}}],\"subTitle\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"true\"}}}}}]}}}",
+ "config": "{\"name\":\"4df7d75ef1fbfd2581e3\",\"layouts\":[{\"id\":0,\"position\":{\"x\":0,\"y\":142.92282430213464,\"z\":1000,\"width\":245.9113300492611,\"height\":158.6863711001642,\"tabOrder\":3000}}],\"singleVisual\":{\"visualType\":\"barChart\",\"projections\":{\"Category\":[{\"queryRef\":\"Inventory.Item\",\"active\":true}],\"Y\":[{\"queryRef\":\"Sum(Inventory.Quantity)\"}]},\"prototypeQuery\":{\"Version\":2,\"From\":[{\"Name\":\"i\",\"Entity\":\"Inventory\",\"Type\":0}],\"Select\":[{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Item\"},\"Name\":\"Inventory.Item\"},{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0},\"Name\":\"Sum(Inventory.Quantity)\"}],\"OrderBy\":[{\"Direction\":2,\"Expression\":{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0}}}]},\"drillFilterOtherVisuals\":true,\"hasDefaultSort\":true,\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Quantity Bar Chart'\"}}}}}],\"subTitle\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"true\"}}}}}]}}}",
"filters": "[]",
- "height": 216.99,
- "width": 423.01,
+ "height": 158.69,
+ "width": 245.91,
"x": 0.00,
- "y": 142.63,
+ "y": 142.92,
"z": 1000.00
},
{
- "config": "{\"name\":\"ae32d4870b0494a0c319\",\"layouts\":[{\"id\":0,\"position\":{\"x\":459.5809523809524,\"y\":357.18095238095236,\"z\":8000,\"width\":310.85714285714283,\"height\":214.55238095238096,\"tabOrder\":8000}}],\"singleVisual\":{\"visualType\":\"columnChart\",\"projections\":{\"Category\":[{\"queryRef\":\"Inventory.Item\",\"active\":true}],\"Y\":[{\"queryRef\":\"Sum(Inventory.Quantity)\"}]},\"prototypeQuery\":{\"Version\":2,\"From\":[{\"Name\":\"i\",\"Entity\":\"Inventory\",\"Type\":0}],\"Select\":[{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Item\"},\"Name\":\"Inventory.Item\"},{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0},\"Name\":\"Sum(Inventory.Quantity)\"}],\"OrderBy\":[{\"Direction\":2,\"Expression\":{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0}}}]},\"autoSelectVisualType\":false,\"drillFilterOtherVisuals\":true,\"hasDefaultSort\":true,\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Quantity Bar Chart'\"}}}}}],\"subTitle\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"true\"}}}}}]}}}",
+ "config": "{\"name\":\"609bfa769ba8ee2d9cb1\",\"layouts\":[{\"id\":0,\"position\":{\"x\":245.9113300492611,\"y\":140.82101806239737,\"z\":10001,\"width\":197.5697865353038,\"height\":160.7881773399015,\"tabOrder\":10001}}],\"singleVisual\":{\"visualType\":\"multiRowCard\",\"projections\":{\"Values\":[{\"queryRef\":\"Inventory.Item\"},{\"queryRef\":\"Sum(Inventory.Quantity)\"}]},\"prototypeQuery\":{\"Version\":2,\"From\":[{\"Name\":\"i\",\"Entity\":\"Inventory\",\"Type\":0}],\"Select\":[{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Item\"},\"Name\":\"Inventory.Item\"},{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0},\"Name\":\"Sum(Inventory.Quantity)\"}],\"OrderBy\":[{\"Direction\":1,\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Item\"}}}]},\"drillFilterOtherVisuals\":true,\"hasDefaultSort\":true,\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Quantity Bar Chart'\"}}}}}],\"subTitle\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"true\"}}}}}]}}}",
"filters": "[]",
- "height": 214.55,
- "width": 310.86,
- "x": 459.58,
- "y": 357.18,
+ "height": 160.79,
+ "width": 197.57,
+ "x": 245.91,
+ "y": 140.82,
+ "z": 10001.00
+ },
+ {
+ "config": "{\"name\":\"6ceaef15dcd98018c82e\",\"layouts\":[{\"id\":0,\"position\":{\"x\":595.5500821018063,\"y\":449.4745484400657,\"z\":10014,\"width\":186.00985221674878,\"height\":136.61740558292283,\"tabOrder\":10014}}],\"singleVisual\":{\"visualType\":\"tableEx\",\"projections\":{\"Values\":[{\"queryRef\":\"Inventory.Item\"},{\"queryRef\":\"Sum(Inventory.Quantity)\"}]},\"prototypeQuery\":{\"Version\":2,\"From\":[{\"Name\":\"i\",\"Entity\":\"Inventory\",\"Type\":0}],\"Select\":[{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Item\"},\"Name\":\"Inventory.Item\"},{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0},\"Name\":\"Sum(Inventory.Quantity)\"}],\"OrderBy\":[{\"Direction\":2,\"Expression\":{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0}}}]},\"drillFilterOtherVisuals\":true,\"hasDefaultSort\":true,\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Quantity Bar Chart'\"}}}}}],\"subTitle\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"true\"}}}}}]}}}",
+ "filters": "[]",
+ "height": 136.62,
+ "width": 186.01,
+ "x": 595.55,
+ "y": 449.47,
+ "z": 10014.00
+ },
+ {
+ "config": "{\"name\":\"73819a61425e5985ae8d\",\"layouts\":[{\"id\":0,\"position\":{\"x\":545.5500821018063,\"y\":399.4745484400657,\"z\":10009,\"width\":186.00985221674878,\"height\":136.61740558292283,\"tabOrder\":10009}}],\"singleVisual\":{\"visualType\":\"tableEx\",\"projections\":{\"Values\":[{\"queryRef\":\"Inventory.Item\"},{\"queryRef\":\"Sum(Inventory.Quantity)\"}]},\"prototypeQuery\":{\"Version\":2,\"From\":[{\"Name\":\"i\",\"Entity\":\"Inventory\",\"Type\":0}],\"Select\":[{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Item\"},\"Name\":\"Inventory.Item\"},{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0},\"Name\":\"Sum(Inventory.Quantity)\"}],\"OrderBy\":[{\"Direction\":2,\"Expression\":{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0}}}]},\"drillFilterOtherVisuals\":true,\"hasDefaultSort\":true,\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Quantity Bar Chart'\"}}}}}],\"subTitle\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"true\"}}}}}]}}}",
+ "filters": "[]",
+ "height": 136.62,
+ "width": 186.01,
+ "x": 545.55,
+ "y": 399.47,
+ "z": 10009.00
+ },
+ {
+ "config": "{\"name\":\"789bb03790eca4d0e025\",\"layouts\":[{\"id\":0,\"position\":{\"x\":535.5500821018063,\"y\":389.4745484400657,\"z\":10008,\"width\":186.00985221674878,\"height\":136.61740558292283,\"tabOrder\":10008}}],\"singleVisual\":{\"visualType\":\"tableEx\",\"projections\":{\"Values\":[{\"queryRef\":\"Inventory.Item\"},{\"queryRef\":\"Sum(Inventory.Quantity)\"}]},\"prototypeQuery\":{\"Version\":2,\"From\":[{\"Name\":\"i\",\"Entity\":\"Inventory\",\"Type\":0}],\"Select\":[{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Item\"},\"Name\":\"Inventory.Item\"},{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0},\"Name\":\"Sum(Inventory.Quantity)\"}],\"OrderBy\":[{\"Direction\":2,\"Expression\":{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0}}}]},\"drillFilterOtherVisuals\":true,\"hasDefaultSort\":true,\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Quantity Bar Chart'\"}}}}}],\"subTitle\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"true\"}}}}}]}}}",
+ "filters": "[]",
+ "height": 136.62,
+ "width": 186.01,
+ "x": 535.55,
+ "y": 389.47,
+ "z": 10008.00
+ },
+ {
+ "config": "{\"name\":\"a47e2064030c8877712b\",\"layouts\":[{\"id\":0,\"position\":{\"x\":525.5500821018063,\"y\":379.4745484400657,\"z\":10007,\"width\":186.00985221674878,\"height\":136.61740558292283,\"tabOrder\":10007}}],\"singleVisual\":{\"visualType\":\"tableEx\",\"projections\":{\"Values\":[{\"queryRef\":\"Inventory.Item\"},{\"queryRef\":\"Sum(Inventory.Quantity)\"}]},\"prototypeQuery\":{\"Version\":2,\"From\":[{\"Name\":\"i\",\"Entity\":\"Inventory\",\"Type\":0}],\"Select\":[{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Item\"},\"Name\":\"Inventory.Item\"},{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0},\"Name\":\"Sum(Inventory.Quantity)\"}],\"OrderBy\":[{\"Direction\":2,\"Expression\":{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0}}}]},\"drillFilterOtherVisuals\":true,\"hasDefaultSort\":true,\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Quantity Bar Chart'\"}}}}}],\"subTitle\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"true\"}}}}}]}}}",
+ "filters": "[]",
+ "height": 136.62,
+ "width": 186.01,
+ "x": 525.55,
+ "y": 379.47,
+ "z": 10007.00
+ },
+ {
+ "config": "{\"name\":\"ae32d4870b0494a0c319\",\"layouts\":[{\"id\":0,\"position\":{\"x\":245.9113300492611,\"y\":319.4745484400657,\"z\":8000,\"width\":197.5697865353038,\"height\":136.61740558292283,\"tabOrder\":8000}}],\"singleVisual\":{\"visualType\":\"columnChart\",\"projections\":{\"Category\":[{\"queryRef\":\"Inventory.Item\",\"active\":true}],\"Y\":[{\"queryRef\":\"Sum(Inventory.Quantity)\"}]},\"prototypeQuery\":{\"Version\":2,\"From\":[{\"Name\":\"i\",\"Entity\":\"Inventory\",\"Type\":0}],\"Select\":[{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Item\"},\"Name\":\"Inventory.Item\"},{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0},\"Name\":\"Sum(Inventory.Quantity)\"}],\"OrderBy\":[{\"Direction\":2,\"Expression\":{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0}}}]},\"autoSelectVisualType\":false,\"drillFilterOtherVisuals\":true,\"hasDefaultSort\":true,\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Quantity Bar Chart'\"}}}}}],\"subTitle\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"true\"}}}}}]}}}",
+ "filters": "[]",
+ "height": 136.62,
+ "width": 197.57,
+ "x": 245.91,
+ "y": 319.47,
"z": 8000.00
},
{
- "config": "{\"name\":\"c2f0a76480e2a9d6e11b\",\"layouts\":[{\"id\":0,\"position\":{\"x\":470.55238095238093,\"y\":571.7333333333333,\"z\":7000,\"width\":470.55238095238093,\"height\":148.72380952380954,\"tabOrder\":7000}}],\"singleVisual\":{\"visualType\":\"tableEx\",\"projections\":{\"Values\":[{\"queryRef\":\"Inventory.Item\"},{\"queryRef\":\"Sum(Inventory.Quantity)\"}]},\"prototypeQuery\":{\"Version\":2,\"From\":[{\"Name\":\"i\",\"Entity\":\"Inventory\",\"Type\":0}],\"Select\":[{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Item\"},\"Name\":\"Inventory.Item\"},{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0},\"Name\":\"Sum(Inventory.Quantity)\"}],\"OrderBy\":[{\"Direction\":2,\"Expression\":{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0}}}]},\"drillFilterOtherVisuals\":true,\"hasDefaultSort\":true,\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Quantity Bar Chart'\"}}}}}],\"subTitle\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"true\"}}}}}]}}}",
+ "config": "{\"name\":\"aedaaaa2560c9981693e\",\"layouts\":[{\"id\":0,\"position\":{\"x\":485.55008210180625,\"y\":339.4745484400657,\"z\":10003,\"width\":186.00985221674878,\"height\":136.61740558292283,\"tabOrder\":10003}}],\"singleVisual\":{\"visualType\":\"tableEx\",\"projections\":{\"Values\":[{\"queryRef\":\"Inventory.Item\"},{\"queryRef\":\"Sum(Inventory.Quantity)\"}]},\"prototypeQuery\":{\"Version\":2,\"From\":[{\"Name\":\"i\",\"Entity\":\"Inventory\",\"Type\":0}],\"Select\":[{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Item\"},\"Name\":\"Inventory.Item\"},{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0},\"Name\":\"Sum(Inventory.Quantity)\"}],\"OrderBy\":[{\"Direction\":2,\"Expression\":{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0}}}]},\"drillFilterOtherVisuals\":true,\"hasDefaultSort\":true,\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Quantity Bar Chart'\"}}}}}],\"subTitle\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"true\"}}}}}]}}}",
"filters": "[]",
- "height": 148.72,
- "width": 470.55,
- "x": 470.55,
- "y": 571.73,
+ "height": 136.62,
+ "width": 186.01,
+ "x": 485.55,
+ "y": 339.47,
+ "z": 10003.00
+ },
+ {
+ "config": "{\"name\":\"c2f0a76480e2a9d6e11b\",\"layouts\":[{\"id\":0,\"position\":{\"x\":465.55008210180625,\"y\":319.4745484400657,\"z\":7000,\"width\":186.00985221674878,\"height\":136.61740558292283,\"tabOrder\":7000}}],\"singleVisual\":{\"visualType\":\"tableEx\",\"projections\":{\"Values\":[{\"queryRef\":\"Inventory.Item\"},{\"queryRef\":\"Sum(Inventory.Quantity)\"}]},\"prototypeQuery\":{\"Version\":2,\"From\":[{\"Name\":\"i\",\"Entity\":\"Inventory\",\"Type\":0}],\"Select\":[{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Item\"},\"Name\":\"Inventory.Item\"},{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0},\"Name\":\"Sum(Inventory.Quantity)\"}],\"OrderBy\":[{\"Direction\":2,\"Expression\":{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0}}}]},\"drillFilterOtherVisuals\":true,\"hasDefaultSort\":true,\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Quantity Bar Chart'\"}}}}}],\"subTitle\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"true\"}}}}}]}}}",
+ "filters": "[]",
+ "height": 136.62,
+ "width": 186.01,
+ "x": 465.55,
+ "y": 319.47,
"z": 7000.00
},
{
@@ -682,6 +856,15 @@
"y": 430.93,
"z": 0.00
},
+ {
+ "config": "{\"name\":\"cf871f00d0e8790cce73\",\"layouts\":[{\"id\":0,\"position\":{\"x\":575.5500821018063,\"y\":429.4745484400657,\"z\":10012,\"width\":186.00985221674878,\"height\":136.61740558292283,\"tabOrder\":10012}}],\"singleVisual\":{\"visualType\":\"tableEx\",\"projections\":{\"Values\":[{\"queryRef\":\"Inventory.Item\"},{\"queryRef\":\"Sum(Inventory.Quantity)\"}]},\"prototypeQuery\":{\"Version\":2,\"From\":[{\"Name\":\"i\",\"Entity\":\"Inventory\",\"Type\":0}],\"Select\":[{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Item\"},\"Name\":\"Inventory.Item\"},{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0},\"Name\":\"Sum(Inventory.Quantity)\"}],\"OrderBy\":[{\"Direction\":2,\"Expression\":{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0}}}]},\"drillFilterOtherVisuals\":true,\"hasDefaultSort\":true,\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Quantity Bar Chart'\"}}}}}],\"subTitle\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"true\"}}}}}]}}}",
+ "filters": "[]",
+ "height": 136.62,
+ "width": 186.01,
+ "x": 575.55,
+ "y": 429.47,
+ "z": 10012.00
+ },
{
"config": "{\"name\":\"d3ccc97e9c739fe9da2a\",\"layouts\":[{\"id\":0,\"position\":{\"x\":0,\"y\":0,\"z\":4000,\"width\":197.38317757009344,\"height\":100,\"tabOrder\":2000}}],\"singleVisual\":{\"visualType\":\"image\",\"drillFilterOtherVisuals\":true,\"objects\":{\"general\":[{\"properties\":{\"imageUrl\":{\"expr\":{\"ResourcePackageItem\":{\"PackageName\":\"RegisteredResources\",\"PackageType\":1,\"ItemName\":\"pbilogo011716949638171492.png\"}}}}}]},\"vcObjects\":{\"title\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"false\"}}},\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Logo'\"}}}}}]}}}",
"filters": "[]",
@@ -692,13 +875,49 @@
"z": 4000.00
},
{
- "config": "{\"name\":\"da570baa35ab0703c7be\",\"layouts\":[{\"id\":0,\"position\":{\"x\":0,\"y\":368.15238095238095,\"z\":10000,\"width\":423.0095238095238,\"height\":351.0857142857143,\"tabOrder\":10000}}],\"singleVisual\":{\"visualType\":\"funnel\",\"projections\":{\"Category\":[{\"queryRef\":\"Inventory.Item\",\"active\":true}],\"Y\":[{\"queryRef\":\"Sum(Inventory.Quantity)\"}]},\"prototypeQuery\":{\"Version\":2,\"From\":[{\"Name\":\"i\",\"Entity\":\"Inventory\",\"Type\":0}],\"Select\":[{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Item\"},\"Name\":\"Inventory.Item\"},{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0},\"Name\":\"Sum(Inventory.Quantity)\"}],\"OrderBy\":[{\"Direction\":2,\"Expression\":{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0}}}]},\"drillFilterOtherVisuals\":true,\"hasDefaultSort\":true,\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Quantity Bar Chart'\"}}}}}],\"subTitle\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"true\"}}}}}]}}}",
+ "config": "{\"name\":\"d8d71594ac5026c5000b\",\"layouts\":[{\"id\":0,\"position\":{\"x\":515.5500821018063,\"y\":369.4745484400657,\"z\":10006,\"width\":186.00985221674878,\"height\":136.61740558292283,\"tabOrder\":10006}}],\"singleVisual\":{\"visualType\":\"tableEx\",\"projections\":{\"Values\":[{\"queryRef\":\"Inventory.Item\"},{\"queryRef\":\"Sum(Inventory.Quantity)\"}]},\"prototypeQuery\":{\"Version\":2,\"From\":[{\"Name\":\"i\",\"Entity\":\"Inventory\",\"Type\":0}],\"Select\":[{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Item\"},\"Name\":\"Inventory.Item\"},{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0},\"Name\":\"Sum(Inventory.Quantity)\"}],\"OrderBy\":[{\"Direction\":2,\"Expression\":{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0}}}]},\"drillFilterOtherVisuals\":true,\"hasDefaultSort\":true,\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Quantity Bar Chart'\"}}}}}],\"subTitle\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"true\"}}}}}]}}}",
"filters": "[]",
- "height": 351.09,
- "width": 423.01,
+ "height": 136.62,
+ "width": 186.01,
+ "x": 515.55,
+ "y": 369.47,
+ "z": 10006.00
+ },
+ {
+ "config": "{\"name\":\"da570baa35ab0703c7be\",\"layouts\":[{\"id\":0,\"position\":{\"x\":0,\"y\":319.4745484400657,\"z\":10000,\"width\":245.9113300492611,\"height\":136.61740558292283,\"tabOrder\":10000}}],\"singleVisual\":{\"visualType\":\"funnel\",\"projections\":{\"Category\":[{\"queryRef\":\"Inventory.Item\",\"active\":true}],\"Y\":[{\"queryRef\":\"Sum(Inventory.Quantity)\"}]},\"prototypeQuery\":{\"Version\":2,\"From\":[{\"Name\":\"i\",\"Entity\":\"Inventory\",\"Type\":0}],\"Select\":[{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Item\"},\"Name\":\"Inventory.Item\"},{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0},\"Name\":\"Sum(Inventory.Quantity)\"}],\"OrderBy\":[{\"Direction\":2,\"Expression\":{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0}}}]},\"drillFilterOtherVisuals\":true,\"hasDefaultSort\":true,\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Quantity Bar Chart'\"}}}}}],\"subTitle\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"true\"}}}}}]}}}",
+ "filters": "[]",
+ "height": 136.62,
+ "width": 245.91,
"x": 0.00,
- "y": 368.15,
+ "y": 319.47,
"z": 10000.00
+ },
+ {
+ "config": "{\"name\":\"de27fc71e1de760eda5d\",\"layouts\":[{\"id\":0,\"position\":{\"x\":495.55008210180625,\"y\":349.4745484400657,\"z\":10004,\"width\":186.00985221674878,\"height\":136.61740558292283,\"tabOrder\":10004}}],\"singleVisual\":{\"visualType\":\"tableEx\",\"projections\":{\"Values\":[{\"queryRef\":\"Inventory.Item\"},{\"queryRef\":\"Sum(Inventory.Quantity)\"}]},\"prototypeQuery\":{\"Version\":2,\"From\":[{\"Name\":\"i\",\"Entity\":\"Inventory\",\"Type\":0}],\"Select\":[{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Item\"},\"Name\":\"Inventory.Item\"},{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0},\"Name\":\"Sum(Inventory.Quantity)\"}],\"OrderBy\":[{\"Direction\":2,\"Expression\":{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0}}}]},\"drillFilterOtherVisuals\":true,\"hasDefaultSort\":true,\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Quantity Bar Chart'\"}}}}}],\"subTitle\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"true\"}}}}}]}}}",
+ "filters": "[]",
+ "height": 136.62,
+ "width": 186.01,
+ "x": 495.55,
+ "y": 349.47,
+ "z": 10004.00
+ },
+ {
+ "config": "{\"name\":\"efe8fa5c68c062cd3976\",\"layouts\":[{\"id\":0,\"position\":{\"x\":475.55008210180625,\"y\":329.4745484400657,\"z\":10002,\"width\":186.00985221674878,\"height\":136.61740558292283,\"tabOrder\":10002}}],\"singleVisual\":{\"visualType\":\"tableEx\",\"projections\":{\"Values\":[{\"queryRef\":\"Inventory.Item\"},{\"queryRef\":\"Sum(Inventory.Quantity)\"}]},\"prototypeQuery\":{\"Version\":2,\"From\":[{\"Name\":\"i\",\"Entity\":\"Inventory\",\"Type\":0}],\"Select\":[{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Item\"},\"Name\":\"Inventory.Item\"},{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0},\"Name\":\"Sum(Inventory.Quantity)\"}],\"OrderBy\":[{\"Direction\":2,\"Expression\":{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0}}}]},\"drillFilterOtherVisuals\":true,\"hasDefaultSort\":true,\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Quantity Bar Chart'\"}}}}}],\"subTitle\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"true\"}}}}}]}}}",
+ "filters": "[]",
+ "height": 136.62,
+ "width": 186.01,
+ "x": 475.55,
+ "y": 329.47,
+ "z": 10002.00
+ },
+ {
+ "config": "{\"name\":\"fe65270602a904dd30b2\",\"layouts\":[{\"id\":0,\"position\":{\"x\":555.5500821018063,\"y\":409.4745484400657,\"z\":10010,\"width\":186.00985221674878,\"height\":136.61740558292283,\"tabOrder\":10010}}],\"singleVisual\":{\"visualType\":\"tableEx\",\"projections\":{\"Values\":[{\"queryRef\":\"Inventory.Item\"},{\"queryRef\":\"Sum(Inventory.Quantity)\"}]},\"prototypeQuery\":{\"Version\":2,\"From\":[{\"Name\":\"i\",\"Entity\":\"Inventory\",\"Type\":0}],\"Select\":[{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Item\"},\"Name\":\"Inventory.Item\"},{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0},\"Name\":\"Sum(Inventory.Quantity)\"}],\"OrderBy\":[{\"Direction\":2,\"Expression\":{\"Aggregation\":{\"Expression\":{\"Column\":{\"Expression\":{\"SourceRef\":{\"Source\":\"i\"}},\"Property\":\"Quantity\"}},\"Function\":0}}}]},\"drillFilterOtherVisuals\":true,\"hasDefaultSort\":true,\"vcObjects\":{\"title\":[{\"properties\":{\"text\":{\"expr\":{\"Literal\":{\"Value\":\"'Quantity Bar Chart'\"}}}}}],\"subTitle\":[{\"properties\":{\"show\":{\"expr\":{\"Literal\":{\"Value\":\"true\"}}}}}]}}}",
+ "filters": "[]",
+ "height": 136.62,
+ "width": 186.01,
+ "x": 555.55,
+ "y": 409.47,
+ "z": 10010.00
}
],
"width": 1280.00
diff --git a/PBIXInspectorWinForm/PBIXInspectorWinForm.csproj b/PBIXInspectorWinForm/PBIXInspectorWinForm.csproj
index 8e0679f..098e01f 100644
--- a/PBIXInspectorWinForm/PBIXInspectorWinForm.csproj
+++ b/PBIXInspectorWinForm/PBIXInspectorWinForm.csproj
@@ -6,9 +6,9 @@
enable
true
enable
- 1.9.3.0
- 1.9.3
- 1.9.3
+ 1.9.4.0
+ 1.9.4
+ 1.9.4
README.md
pbiinspector.png
https://github.com/NatVanG/PBIXInspector
diff --git a/PBIXInspectorWinForm/PBIXInspectorWinForm.pbitool.json b/PBIXInspectorWinForm/PBIXInspectorWinForm.pbitool.json
index 35153fe..bb3f30f 100644
--- a/PBIXInspectorWinForm/PBIXInspectorWinForm.pbitool.json
+++ b/PBIXInspectorWinForm/PBIXInspectorWinForm.pbitool.json
@@ -1,5 +1,5 @@
{
- "version": "1.9.3",
+ "version": "1.9.4",
"name": "VisOps with PBI Inspector",
"description": "A testing or inspection tool for the visual layer of Microsoft Power BI reports.",
"path": "%PATH%",
diff --git a/PBIXInspectorWinLibrary/Drawing/ImageUtils.cs b/PBIXInspectorWinLibrary/Drawing/ImageUtils.cs
index 4858218..aa75da1 100644
--- a/PBIXInspectorWinLibrary/Drawing/ImageUtils.cs
+++ b/PBIXInspectorWinLibrary/Drawing/ImageUtils.cs
@@ -1,7 +1,6 @@
-using System.Drawing;
+using PBIXInspectorLibrary.Output;
+using System.Drawing;
using System.Text.Json.Nodes;
-using PBIXInspectorLibrary;
-using PBIXInspectorLibrary.Output;
namespace PBIXInspectorWinLibrary.Drawing
{
diff --git a/PBIXInspectorWinLibrary/Drawing/ReportPage.cs b/PBIXInspectorWinLibrary/Drawing/ReportPage.cs
index 2245719..5103408 100644
--- a/PBIXInspectorWinLibrary/Drawing/ReportPage.cs
+++ b/PBIXInspectorWinLibrary/Drawing/ReportPage.cs
@@ -1,6 +1,5 @@
using System.Drawing;
using System.Drawing.Imaging;
-using static PBIXInspectorWinLibrary.Drawing.ReportPage;
#pragma warning disable CA1416 // Validate platform compatibility
namespace PBIXInspectorWinLibrary.Drawing
@@ -77,11 +76,11 @@ public void Draw()
}
g.DrawRectangle(pen, rect);
-
+
var iconSize = (from s in iconSizes where s <= Math.Max(rect.Width, rect.Height) / 2 orderby s descending select s).FirstOrDefault();
using (Icon ico = new(ICONPATH, iconSize, iconSize))
{
- if (!vc.Pass) { g.DrawIcon(ico, rect.X + VISOFFSET + (rect.Width - iconSize) / 2, rect.Y + VISOFFSET +(rect.Height - iconSize) / 2); };
+ if (!vc.Pass) { g.DrawIcon(ico, rect.X + VISOFFSET + (rect.Width - iconSize) / 2, rect.Y + VISOFFSET + (rect.Height - iconSize) / 2); };
}
diff --git a/PBIXInspectorWinLibrary/Main.cs b/PBIXInspectorWinLibrary/Main.cs
index cacf7ae..1f789cd 100644
--- a/PBIXInspectorWinLibrary/Main.cs
+++ b/PBIXInspectorWinLibrary/Main.cs
@@ -1,5 +1,5 @@
-using PBIXInspectorLibrary.Output;
-using PBIXInspectorLibrary;
+using PBIXInspectorLibrary;
+using PBIXInspectorLibrary.Output;
using PBIXInspectorWinLibrary.Drawing;
using PBIXInspectorWinLibrary.Utils;
using System.Text.Json;
@@ -104,8 +104,8 @@ public static void Run(Args args)
if (!_args.ADOOutput && (_args.PNGOutput || _args.HTMLOutput))
{
_fieldMapInsp = new Inspector(_args.PBIFilePath, Constants.ReportPageFieldMapFilePath);
- _fieldMapResults = _fieldMapInsp.Inspect();
-
+ _fieldMapResults = _fieldMapInsp.Inspect();
+
var outputPNGDirPath = Path.Combine(_args.OutputDirPath, Constants.PNGOutputDir);
if (Directory.Exists(outputPNGDirPath))
diff --git a/PBIXInspectorWinLibrary/PBIXInspectorWinLibrary.csproj b/PBIXInspectorWinLibrary/PBIXInspectorWinLibrary.csproj
index 44e6bf5..647bcb4 100644
--- a/PBIXInspectorWinLibrary/PBIXInspectorWinLibrary.csproj
+++ b/PBIXInspectorWinLibrary/PBIXInspectorWinLibrary.csproj
@@ -4,9 +4,9 @@
net6.0
enable
enable
- 1.9.3.0
- 1.9.3.0
- 1.9.3
+ 1.9.4.0
+ 1.9.4.0
+ 1.9.4
diff --git a/PBIXInspectorWinLibrary/Utils/Args.cs b/PBIXInspectorWinLibrary/Utils/Args.cs
index a411bcd..bba0452 100644
--- a/PBIXInspectorWinLibrary/Utils/Args.cs
+++ b/PBIXInspectorWinLibrary/Utils/Args.cs
@@ -18,8 +18,8 @@ public string OutputPath
}
else
{
- OutputDirPath = Path.Combine(Path.GetTempPath(), String.Concat(Constants.DefaultVisOpsFolder, Guid.NewGuid().ToString())) ;
- DeleteOutputDirOnExit = true;
+ OutputDirPath = Path.Combine(Path.GetTempPath(), String.Concat(Constants.DefaultVisOpsFolder, Guid.NewGuid().ToString()));
+ DeleteOutputDirOnExit = true;
}
}
}
@@ -53,7 +53,7 @@ public string FormatsString
public bool PNGOutput { get; private set; }
- public bool HTMLOutput { get; private set; }
+ public bool HTMLOutput { get; private set; }
public bool JSONOutput { get; private set; }
diff --git a/PBIXInspectorWinLibrary/Utils/ArgsUtils.cs b/PBIXInspectorWinLibrary/Utils/ArgsUtils.cs
index 23fb0db..51bcd30 100644
--- a/PBIXInspectorWinLibrary/Utils/ArgsUtils.cs
+++ b/PBIXInspectorWinLibrary/Utils/ArgsUtils.cs
@@ -9,7 +9,7 @@ public static Args ParseArgs(string[] args)
const string TRUE = "true";
const string FALSE = "false";
string[] validOptions = { PBIX, PBIP, PBIPREPORT, RULES, OUTPUT, FORMATS, VERBOSE };
-
+
int index = 0;
int maxindex = args.Length - 2;
var dic = new Dictionary();
@@ -41,13 +41,13 @@ public static Args ParseArgs(string[] args)
var verboseString = dic.ContainsKey(VERBOSE) ? dic[VERBOSE] : FALSE;
var formatsString = dic.ContainsKey(FORMATS) ? dic[FORMATS] : string.Empty;
- return new Args { PBIFilePath = pbiFilePath, RulesFilePath = rulesPath, OutputPath = outputPath, FormatsString = formatsString, VerboseString = verboseString};
+ return new Args { PBIFilePath = pbiFilePath, RulesFilePath = rulesPath, OutputPath = outputPath, FormatsString = formatsString, VerboseString = verboseString };
}
public static string? ResolvePbiFilePathInput(string pbiFilePath)
{
- var resolvedPath = !string.IsNullOrEmpty(pbiFilePath) && pbiFilePath.ToLower().EndsWith(Constants.PBIPReportJsonFileName)
- ? Path.GetDirectoryName(pbiFilePath)
+ var resolvedPath = !string.IsNullOrEmpty(pbiFilePath) && pbiFilePath.ToLower().EndsWith(Constants.PBIPReportJsonFileName)
+ ? Path.GetDirectoryName(pbiFilePath)
: pbiFilePath;
return resolvedPath;