问题标签 [alasql]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 如何在 Angular js 控制器中使用 alasql?
我在我的 Angular js Web 应用程序中使用 alasql。
我已经包括
在我的玉里。
在我的客户端,在我的 module.js 中,我包含了
在我的控制器中,我注入了 alasql。
我收到以下错误
它说模块错误。如果我删除 'alasql' 注入,则没有错误。但 alasql.queryArray 函数仍未定义。
将 alasql 注入我的 Angular js 控制器的正确程序是什么?请告诉我。
问候, 萨巴里斯里
alasql - Alasql 最佳实践
我是 alasql 的新手(这太棒了)。虽然文档向您展示了如何操作,但它并未提供有关最佳实践的大量信息。
迄今为止,我只是对一组数组(js 对象)运行查询。我还没有创建数据库对象或表对象。
在数组数组上使用数据库和表对象是否有性能(速度、内存等)优势?
这是一个真实世界的例子。我要加载 2 组数据:Employees(10 列)和 Employee Sales(5 列),它们连接在 EmployeeID 列上。员工相对较小(例如 100 行),而 Employee Sales 将有 10,000 条记录。我目前的方法是简单地运行一个查询,将这两组数据连接在一起并最终得到一个大结果集:10,000 行数据,每行 14 列(重复 Employee 数据集中的每一列),然后我从使用动态过滤器、交互性等中提取数据。
这个大数据集一直存储在内存中,但这样做的好处是我不需要一遍又一遍地重新运行该查询。或者,我可以在每次需要时简单地对 2 个数据集运行连接,然后将其从内存中删除。
另外,如果我将多个表连接在一起,我可以在连接列上创建索引以提高性能吗?我在创建索引的示例中看到,但文档中没有其他内容。(此页面上没有任何内容: https ://github.com/agershun/alasql/wiki/Sql )。索引对内存的影响是什么?插入对性能有何影响?
支持主键,但没有文档。这会创建索引吗?
javascript - Alasql - 查询 json 中的嵌套对象
我有一个如下所示的 json 对象。
易趣对象
亚马逊对象
我想选择两家公司共有的产品类别中的每个名称。
然后,我想选择常见产品类别的常见产品。
然后我想获得共同产品的价格(两家公司)进行比较
我能够运行以下查询
我想在每个产品类别中找到产品。我想要一个像这样的查询
但这会出错。
请让我知道正确的程序。
问候, 萨巴里斯里
javascript - 如何将特定日期放在 alasql 的 where 子句中
请参阅以下我正在查询的数据。
我需要日期为“2012 年 1 月 20 日”的 HourOfDay 总数,我正在使用给定的查询查询此数据,但我没有得到任何结果,所以请帮帮我,我是 alasql 的新手。
这是我的数组
javascript - Alasql - 仅当数组不存在时才插入数组
使用 alasql,我试图将一个值插入到一个数组中,该数组是一个属性的值,仅当它不存在时。它是这样设置的:
例如,我希望能够将 6 插入到 assocIDs 中,前提是它不存在。我尝试了 IF SELECT WHERE IN 等的组合,但似乎找不到合适的组合。关于如何做到这一点的任何提示?作为参考,我在浏览器中严格使用 JSON。
我可以做到这一点,选择数组,检查它,如果不存在则插入,然后更新记录,但我想正确地做到这一点。
javascript - 在 alasql (AngularJS) 的 SQL 语句中使用“AS”子句
正如标题所描述的,我有一个问题,即当我尝试在角度模块alasql的 sql 语句中使用 AS 子句时,我会收到一条错误消息。
将显示以下错误消息:
错误:第 1 行的解析错误:... shortcode AS Short code, fname AS fullname ------------------------------------^ Expecting 'EOF', 'WITH ', 'COMMA', 'RPAR', 'PIVOT', 'UNPIVOT', 'REMOVE', 'ORDER', 'WHERE', 'UNION', 'INTERSECT', 'EXCEPT', 'FROM', 'INTO', 'GROUP', 'LIMIT', 'OFFSET', 'END', 'ELSE', '分号', 'GO', 得到 'LITERAL'
我不确定,我做错了什么。在 wiki 中,他们也毫无问题地使用了 AS 子句。
我的角度代码非常简单,如下所示:
javascript - 使用 ALASQL (AngularJS) 格式化导出 Excel
首先对alasql
-project 的贡献者表示高度赞扬。将我的 JSON 数据导出到 excel 文件对我有很大帮助。但是对于接下来的步骤,我需要一些有关格式化 excel 文件的帮助。
是否可以定义具有自动宽度的单元格?我需要为一列着色。
我在另一个线程中看到过一篇文章,但这在我的示例中不起作用。
这是我的代码:
javascript - 从 alasql 中日期范围之间的对象数组获取数据
我正在使用alasql从JavaScript 中的对象数组中获取给定日期范围之间的数据。 我尝试了以下查询,但没有得到任何结果。我正在传递开始日期和结束日期,我只想要这些范围之间的数据,如果有任何其他方法可以做到这一点,那么它也会对我有所帮助。请帮我这样做,在此先感谢
alasql - alasql 汇总函数中的父键和子键
使用汇总时,我需要在所有子记录上都有父键。有没有简单的方法可以使用 alasql 和汇总来解决这个问题?
它将用于在报告中显示/隐藏子行。
报告中有多个级别的小计。一个孩子可以有新的孩子。
聚合器函数中是否可以有超过 3 个参数?
2016 年 5 月 18 日更新:
我想创建一个带有明细的帐户报告。我已经设法通过使用自定义函数来获取级别和级别描述来使其工作。leveldescription 和 level 是自定义函数,用于在每个聚合中获取正确的文本。filterDimension 是一个自定义函数,用于过滤值数组。
SELECTGROUPS、ROLLUPGROUPS 和 FIELDSGROUPS 被用户完成的自定义分组所取代。
这解决了显示和隐藏孩子的主要问题。现在我想在一个字段中获得最后一个聚合的所有详细信息。我现在基于此解决方案https://github.com/agershun/alasql/issues/571使用了自定义函数“CHILDREN(a._) as children”
但我只想在最高级别的聚合上显示详细信息。现在我得到每个聚合级别的孩子。
汇总级别将基于用户希望在显示最后一个级别的详细信息之前向下钻取的字段 (R1 .. R12)。
alasql.aggr.CHILDREN = function(val, acc, stage) {
console.log(stage);
if(stage == 1 || stage == 2) {
if(typeof acc == 'undefined') {
if(val && Object.keys(val).length > 0) {
return [val];
} else {
return;
}
} else {
acc.push(val);
return acc;
}
} else {
return acc;
}
};
angularjs - alasql如何将数据导出到csv
好的,所以 keyResource 从我的 C# 控制器中提取数据作为逗号分隔值的列表。单击按钮时,控制台会记录此数据,但是当我将 alasql 查询设置为 keyResource 或数据时,它说数据源 0 未定义。
这是我目前拥有的^
这些是我尝试过的:
我不知道该怎么做,因为当控制台记录数据时,我不知道为什么当我导出到 CSV 时它不起作用?